Ubuntu16.04搭建LAMP开发环境

虚拟机上安装好Ubuntu16.04后,是一台空白的Ubuntu。我的目的是搭建LAMP环境,顺便搭一个Python Django环境。


基本设置

1.配置网络环境

管理员给分配了一个静态IP,所以还需要进一步配置网络环境

  • 配置DNS:右上角网络连接->编辑链接->有线连接1->IPv4设置->DNS服务器:202.112.80.106->保存

  • 登陆网关:对于校园网用户来说,登陆网关才能访问外网

  • 测试ping www.baidu.com

2.设置root密码

sudo passwd

  • 切换到root用户susu -su root

  • 切换到普通用户su 用户名logout

3.更新源

sudo apt-get update

源保存的文件为:/etc/apt/sources.list


安装常用软件

1.SSH

sudo apt-get install openssh-server

  • 查看状态service ssh status/start/stop/restart

  • 或:/etc/init.d/ssh status/start/stop/retsrt

  • 实际上,service命令就是执行/etc/init.d脚本,二者功能是一样的

2.Vim

sudo apt-get install vim

3.Tree

sudo apt-get install tree

4.Git

sudo apt-get install git


搭建LAMP

1.安装Apache

sudo apt-get install apache2

  • 测试: 浏览器访问http://Ubuntu的IP,出现It Works!网页。

  • 查看状态service apache2 status/start/stop/restart

  • Web目录/var/www

  • 安装目录/etc/apache2/

  • 全局配置/etc/apache2/apache2.conf

  • 监听端口/etc/apache2/ports.conf

  • 虚拟主机/etc/apache2/sites-enabled/000-default.conf

2.安装MySQL

sudo apt-get install mysql-server mysql-client

  • 测试mysql -u root -p

  • 查看状态service mysql status/start/stop/retart

  • 查看监听端口的情况netstat -tunplnetstat -tap

3.安装PHP

sudo apt-get install php7.0

  • 测试php7.0 -v

4.安装其他模块

sudo apt-get install libapache2-mod-php7.0

sudo apt-get install php7.0-mysql

  • 重启服务

    • service apache2 restart

    • service mysql restart

  • 测试Apache能否解析PHP

    • vim /var/www/html/phpinfo.php

    • 文件中写:<?php echo phpinfo();?>

    • 浏览器访问:http://ubuntu地址/phpinfo.php,出现PHP Version网页

5.修改权限

sudo chmod 777 /var/www

6.安装phpMyAdmin

sudo apt-get install phpmyadmin

  • 安装:选择apache2,点击确定。下一步选择是要配置数据库,并输入密码。

  • 创建phpMyAdmin快捷方式sudo ln -s /usr/share/phpmyadmin /var/www/html

  • 启用Apache mod_rewrite模块sudo a2enmod rewrite

  • 重启服务

    • service php7.0-fpm restart

    • service apache2 restart

  • 测试:浏览器访问:http://ubuntu地址/phpmyadmin

7.配置Apache

vim /etc/apache2/apache2.conf

  • 添加

  • AddType application/x-httpd-php .php .htm .html

  • AddDefaultCharset UTF-8

  • 重启Apache服务


安装python包

1.pip

sudo apt-get install python-pip

2.Django

pip install django

测试import django

##3.MySQL-python

pip install MySQL-python

测试import MySQLdb


常见问题

1.Secure SSH Client连接出错

  • 错误:algorithm negotiation failed

  • 解决

    • 修改sshd的配置文件: vim /etc/ssh/sshd_config

    • 在配置文件中添加:

    Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc
    MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96
    KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org
    • 重启sshd服务: service ssh restart

2.Xshell或Xftp中文乱码

  • Xshell:文件->属性->终端->编码->UTF-8>

  • Xftp:文件->属性->选项->选中使用UTF-8编码

3.安装MySQL出错

  • 错误

下列软件包有未满足的依赖关系:

mysql-client : 依赖: mysql-client-5.5 但是它将不会被安装

mysql-server : 依赖: mysql-server-5.5 但是它将不会被安装

E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

  • 解决:两种解决方法

    1. 使用Ubuntu自带的下载源,不要使用其他源(如网易)

    2. 手动安装

    • 下载MySQL:http://dev.mysql.com/downloads/mysql/

    • 使用FTP工具上传到Ubuntu

    • 解压: tar -xvf mysql-server_5.7.13-1ubuntu16.04_i386.deb-bundle.tar

    • 安装:

    sudo dpkg -i libmysqlclient20_5.7.15-1ubuntu16.04_amd64.deb libmysqlclient-dev_5.7.15-1ubuntu16.04_amd64.deb libmysqld-dev_5.7.15-1ubuntu16.04_amd64.deb mysql-common_5.7.15-1ubuntu16.04_amd64.deb mysql-community-source_5.7.15-1ubuntu16.04_amd64.deb mysql-community-client_5.7.15-1ubuntu16.04_amd64.deb mysql-client_5.7.15-1ubuntu16.04_amd64.deb mysql-community-server_5.7.15-1ubuntu16.04_amd64.deb mysql-server_5.7.15-1ubuntu16.04_amd64.deb

4.安装pip出错

解决:可改用如下命令:

sudo apt-get install python-pip python-dev build-essential

sudo pip install --upgrade pip

sudo pip install --upgrade virtualenv

5.安装Django超时报错

  • 解决

  • 设置超时时间:sudo pip install django --default-timeout 100

  • 或者使用其他下载源:pip install web.py -i http://pypi.douban.com/simple

6.安装MySQL-python报错

  • 错误EnvironmentError: mysql_config not found

  • 解决

  • sudo apt-get install libmysqld-dev

  • 安装MySQL-python:pip install MySQL-python

7.更新Python库

pip install --upgrade 库名

Ubuntu16.04搭建LAMP开发环境的更多相关文章

  1. Ubuntu16.04搭建各种开发环境的IDE: QT5 , CodeBlocks ,eclipse-cdt, PyCharm

    搭建Ubuntu下C/C++以及Python的集成开发环境,采用双系统(Win7+Ubuntu)的Ubuntu16.04-LTS系统, 关于双系统的搭建可以参考下面博客(图文十分详细):https:/ ...

  2. Ubuntu 16.04搭建LAMP开发环境

    基本设置 1.配置网络环境 管理员给分配了一个静态IP,所以还需要进一步配置网络环境 配置DNS:右上角网络连接->编辑链接->有线连接1->IPv4设置->DNS服务器:20 ...

  3. 阿里云学生服务器搭建网站-Ubuntu16.04安装php开发环境

    阿里云学生服务器搭建网站(2)-Ubuntu16.04安装php开发环境  优秀博文:https://www.linuxidc.com/Linux/2016-10/136327.htm https:/ ...

  4. Ubuntu 12.04 搭建Android开发环境

    Ubuntu 12.04 搭建Android开发环境 2013/7/29 Linux环境下搭建Android开发环境 大部分开发人员可能都在Windows下做开发,可能是感觉在Windows下比较方便 ...

  5. 【转】一步一步教你在Ubuntu12.04搭建gstreamer开发环境

    原文网址:http://blog.csdn.net/xsl1990/article/details/8333062 闲得蛋疼    无聊寂寞冷    随便写写弄弄 看到网上蛮多搭建gstreamer开 ...

  6. ubuntu16.04 Golang语言开发环境搭建

    golang即go语言是跨平台的语言,适用于windows 和linux平台,下面介绍linux平台下ubuntu16.04系统下的开发环境搭建过程. 一.安装开发必备环境 执行下面命令分别安装git ...

  7. Ubuntu16.04安装后开发环境配置和常用软件安装

    Ubuntu16.04安装后1.安装常用软件搜狗输入法+编辑器Atom+浏览器Chome+视频播放器vlc+图像编辑器GIMP Image Editor安装+视频录制软件RcordMyDesktop安 ...

  8. Fedora下搭建LAMP开发环境

    LAMP是Linux + Apache + MySQL +PHP/Python的缩写,是一组常用来搭建动态网站服务器的开源软件.它们本身都是各自独立的程序,但是因为开源并且常放在一起使用,所以拥有了越 ...

  9. Ubuntu16.04的PHP开发环境配置

    \3c a { text-decoration: none } 自从换了php开发之后发现还是开源语言才是长久之道,开发环境搭建方便,支持的平台也多,性能也好,考虑到这些,其他一些不如意也就不足为虑了 ...

随机推荐

  1. python面向对象三大特性

    面向对象的三大特性: 封装.继承和多态 一.封装 封装,顾名思义就是将内容封装到某个地方,以后可以直接调用被封装到某处的内容. - 将内容封装到某处 - 从某处调用被封装的内容 第一步,将内容封装到某 ...

  2. 1- js vue.js

    1 js 2  Vue.js

  3. ListView getChildCount 以及getChildAt 坑 误区指南

    今天调试的时候,才知道. 原来listview 的 getChildCount 取得是当前可先的list item 的个数,而不是整个listview 的count. 整个listview 的数量应该 ...

  4. APP遇到大量的真实手机号刷注册用户该如何应对?

    欢迎访问网易云社区,了解更多网易技术产品运营经验. 在说如何应对之前,先给各位梳理移动端APP可能遇到哪些作弊风险.1. 渠道商刷量,伪造大量的下载量和装机量,但没有新用户注册:2. 对于电商.P2P ...

  5. 《Cracking the Coding Interview》——第16章:线程与锁——题目2

    2014-04-27 19:14 题目:如何测量上下文切换的时间? 解法:首先,上下文切换是什么,一搜就知道.对于这么一个极短的时间,要测量的话,可以通过放大N倍的方法.比如:有A和B两件事,并且经常 ...

  6. 《Cracking the Coding Interview》——第1章:数组和字符串——题目2

    2014-03-18 01:30 题目:反转一个char *型的C/C++字符串. 解法:一头一尾俩iterator,向中间靠拢并且交换字符. 代码: // 1.2 Implement a funct ...

  7. JMeter学习笔记(六) 文件下载接口测试

    本次测试的是文件下载接口,文件是PDF文档,步骤如下: 1.通过jmeter的录制功能,获取了文件下载接口的地址和参数,和其他的HTTP请求一样的配置 2.执行此接口后,察看结果树,点击下载接口的结果 ...

  8. corosync.conf

    ##totem定义集群内各节点间是如何通信的,totem本是一种协议,专用于corosync专用于各节点间的协议,协议是有版本的 totem { ##版本号 version: ##安全认证on|off ...

  9. hnust 档案管理

    问题 E: 档案管理 时间限制: 1 Sec  内存限制: 128 MB提交: 274  解决: 105[提交][状态][讨论版] 题目描述 X老师管理着学校的档案室,经常会有其他的老师来档案室存文件 ...

  10. cinatra--一个高效易用的c++ http框架

    cinatra是一个高性能易用的http框架,它是用modern c++(c++17)开发的,它的目标是提供一个快速开发的c++ http框架.它的主要特点如下: 统一而简单的接口 header-on ...