VMware虚拟机版本:VMware-workstation-full-12.5.7.20721
ubuntu系统版本:16.04LTS
宿机Windows系统为:Windoes7 64位
PHP版本: PHP 7.0.30-0ubuntu0.16.04.1 (cli) ( NTS )
apache版本:Apache/2.4.18 (Ubuntu)
mysql版本:mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64)
在 windows 中安装 vmware 虚拟机,以及在虚拟机中安装 ubuntu 系统,文末有参考文献
接下来直接详细介绍在ubuntu系统上搭建LAMP环境
-
基本设置
- 设置root密码
sudo passwd
//设置当前用户密码直接使用: sudo passwd
//比如设置alex用户密码: sudo passwd alex
- 切换到root账户
//切换到root账户可以直接使用命令: su 或者 su - 或者 su root
//切换到普通用户: su 用户名 比如切换到alex账户: su alex
//使用 exit 直接退出到当前账户
- 更新源
sudo apt-get update
//源保存的文件为:/etc/apt/sources.list
-
安装常用软件
- 安装SSH(不安装SSH无法使用shell软件远程连接)
sudo apt-get install openssh-server
//查看状态: service ssh status/start/stop/restart
//或:/etc/init.d/ssh status/start/stop/retsrt
//实际上,service命令就是执行/etc/init.d脚本,二者功能是一样的
- 安装Vim编辑器
sudo apt-get install vim
- 安装Tree
sudo apt-get install tree
- 安装Git
sudo apt-get install git
-
搭建 LAMP
- 安装 Apache
sudo apt-get install apache2
测试: 使用 ubuntu 系统自带火狐浏览器访问 http://ubuntu的IP,出现It Works!网页则算安装成功!
查看 ubuntu 系统自身ip地址:
ifconfig 或者 ifconfig -a
查看 Apache2 状态:
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
- 安装 Mysql
sudo apt-get install mysql-server mysql-client
测试:mysql -u root -p
查看 Mysql 状态:
service mysql status/start/stop/retart
查看监听端口的情况:
netstat -tunpl
或 netstat -tap
- 安装 PHP7.0
sudo apt-get install php7.0
测试: php -v
- 安装其他模块
sudo apt-get install libapache2-mod-php7.0
sudo apt-get install php7.0-mysql
此时需要重启apache2和mysql :
service apache2 restart
service mysql restart
测试 Apache能否解析 PHP
vim /var/www/html/phpinfo.php
文件中写: <?php echo phpinfo(); ?>
浏览器访问: http://ubuntu地址/phpinfo.php
- 修改权限项目文件夹为最大权限
sudo chmod 777 /var/www
- 安装 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 IP地址/phpmyadmin
此时在虚拟机上面已经可以使用 ubuntu 系统跑 php 项目了,但是我们的需求是在宿机 windows 系统上面编写代码,只是想在 ubuntu 系统上面运行 php 项目而已。
-
宿机上使用 Navicat 连接 VMware 虚拟机 ubuntu 系统中的 mysql数据库
- 找到 mysql 的配置文件 /etc/mysql/mysql.conf.d
使用 vim 编辑器打开 mysqld.cnf 配置文件 注释掉
43 # bind-address = 127.0.0.1
- 修改数据库里面的用户和权限
mysql> grant all privileges on *.* to alex@"%" identified by "qazwsx" with grant option;
//grant 是授权命令,其中 alex 是我们连接用的用户名、"qazwsx"是连接密码,用户名后面的 "%" 通用符表示允许各 host 操作。
// 在Mysql安装中,默认的有root用户,但是root用户的默认连接Host也是localhost或者127.0.0.1,
// 也就是限制了root用户作为本地连接使用;我个人来说,建立新账户也是安全性和更加方便。
//下面是实操例子
// 连接数据库
mysql -u root -p
mysql> show databases;
// 查看 mysql 数据库
mysql> use mysql;
// 查询 mysql 用户表可以发现 用户 alex 的 host 允许各种 host 操作
mysql> select host,user from user;
- 刷新权限
// 刷新权限(这一步必须要做!)
mysql> flush privileges;
// 刷新之后可再次查询 user 表
-
将 ubuntu 关机,并创建共享文件夹
//具体相关方法请自行百度,这里只告诉创建共享文件夹目录为:
/mnt/hgfs
// 将自己 windows 上面的项目关联到共享文件夹
-
修改 apache 配置
- 修改 apache2.conf 配置文件
sudo vim /etc/apache2/apache2.conf
查找关键词 /Directory 找到这一行,将 /var/www 修改成自己项目文件==绝对路径==,比如我的文件目录在 /var/hgfs/www 并将 AllowOverride None 修改为 AllowOverride All
> <Directory /var/www>
> Options Indexes FollowSymLinks
> AllowOverride None
> Require all granted
> </Directory>
153 <Directory />
154 Options FollowSymLinks
155 AllowOverride None
156 Require all denied
157 </Directory>
158
159 <Directory /usr/share>
160 AllowOverride None
161 Require all granted
162 </Directory>
163 //修改下面这一行
164 <Directory /mnt/hgfs/www>
165 Options Indexes FollowSymLinks
166 AllowOverride All
167 Require all granted
168 </Directory>
169
170 #<Directory /srv/>
171 # Options Indexes FollowSymLinks
172 # AllowOverride None
173 # Require all granted
174 #</Directory>
- 修改 000-default.conf 配置文件
(其实可修改可不修改,自己测试没有修改也可以,但还是建议修改)
sudo vim /etc/apache2/sites-enabled/000-default.conf
查找关键字 /DocumentRoot 找到这一行,将 /var/www 修改成自己项目文件==绝对路径==,比如我的文件目录在 /var/hgfs/www
ServerAdmin webmaster@localhost
DocumentRoot /var/www
//本人配置文件如下
11 ServerAdmin webmaster@localhost
12 DocumentRoot /mnt/hgfs/www
- 在Apache安装目录的sites-available文件夹下为每个项目加添配置文件。==(Apache2.4的项目配置文件名要以.conf结尾)==
sudo vim /etc/apache2/sites-available/cake.conf
// 我这个项目设置的配置文件是cake.conf
// 如果还有其他项目都可以按照自己喜欢来写配置文件的名称
配置文件如下:
<VirtualHost *:80>
ServerName demo.alex.com //项目域名
ServerAlias test.alex.com //这个可以没有
DocumentRoot /superdata/www/html/demo.alex.com //项目根目录
ErrorLog "/var/log/apache2/error_log"
CustomLog "/var/log/apache2/access_log" common
<Directory "/superdata/www/html/demo.alex.com"> //项目根目录
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
本人项目配置文件如下:(配置文件中一定不能含有中文,不然重启 apache 会失败!)
<VirtualHost *:80>
ServerName cake.ubuntu.com
DocumentRoot /mnt/hgfs/www/tp
ErrorLog "/var/log/apache2/cake.ubuntu.com_error_log"
CustomLog "/var/log/apache2/cake.ubuntu.com_access_log" common
<Directory "/mnt/hgfs/www/tp">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
- 为 sites-available 目录下的配置文件在 sites-enabled 目录下建立软链接
sudo ln -s /etc/apache2/sites-available/cake.conf /etc/apache2/sites-enabled/cake.conf
- 重启 apache
sudo /etc/init.d/apache2 restart
或者
sudo service apache2 restart
- 在 windows 系统中添加 hosts 配置
// hosts 文件目录
C:\Windows\System32\drivers\etc\hosts
// 添加内容为: ubuntu的IP地址 自己的项目域名,比如我的本地添加为:
192.168.137.135 cake.ubuntu.com
windows 系统下浏览器访问 自己写的项目域名 cake.ubuntu.com 大功告成!
项目中将数据库连接修改为虚拟机的数据库连接。等细节就不再一一赘述了。
文献参考:
VMware虚拟机安装ubuntu系统可以参考:https://blog.csdn.net/iqmae68024/article/details/54772918
ubuntu16.04 搭建 LAMP 开发环境:https://www.linuxidc.com/Linux/2016-10/136327.htm
宿主机 Navicat 连接VMware Ubuntu 虚拟机 的MySQL 实现方法:https://blog.csdn.net/qq_34256348/article/details/78358678
使用Navicat for Mysql连接装在虚拟机Ubuntu16.04上的mysql服务器 https://blog.csdn.net/w410589502/article/details/51767212
Apache2.4项目配置PHP/TP项目方法 https://my.oschina.net/laifuzi/blog/850252