操作环境:Ubuntu 18.04.1
搭建LAMP环境:
图形界面配置更新Ubuntu源:在VMware打开Ubuntu,依次打开系统设置,软件和更新。在下载自中选择其他站点,然后在中国的条目下选择mirrors.ustc.edu.cn。
更新资源包和软件:sudo apt update&& sudo apt upgrade sudo apt dist-upgrade&&sudo apt autoclean
清除不需要的软件和文件:sudo apt autoclean&&sudo apt autoremove
安装apache:sudo apt install apache2
默认的配置文件:/etc/apache2/sites-enabled/000-default.conf
默认安装源码的位置(网站根目录):/var/www/html
检查apache是否开启:sudo service apache2 status
显示active(running)则表示已开启。
相关命令:
开启apache:service apache2 start
关闭apache:service apache2 stop
重启apache:service apache2 restart
检查apache默认使用的80端口是否开启:netstat -ntulp | grep 80
端口处于监听状态则证明已经开启。
查看虚拟机IP地址:ip add
在外部主机打开浏览器,在浏览器输入栏填入虚拟机IP地址进行访问:
安装mysql:sudo apt install mysql-server
mqsql配置文件:vim /etc/mysql/mysql.conf.d/mysqld.cnf
登录mysql数据库:sudo mysql -u root -p 刚开始没有密码直接回车进入数据库。
根据需求进行数据库安全设置:sudo mysql_secure_installation 要安装验证密码插件吗?这里我选否
输入要为root管理员设置的数据库密码
删除匿名账户
禁止root管理员从远程登录,这里我没有禁止
删除test数据库并取消对它的访问权限
刷新授权表,让初始化后的设定立即生效
查看命令查看root用户的plugin是否为mysql_native_password:select user,plugin from mysql.user;
如果不是mysql_native_password,而是auth_socket,则输入下面的命令更改:update mysql.user set authentication_string=PASSWORD(‘你的密码’), plugin=’mysql_native_password’ where user=’root’;
检查mysql默认使用的3306端口是否开启:netstat -ntulp | grep 3306
端口处于监听状态则证明已经开启。
配置mysql允许远程访问,编辑/etc/mysql/mysql.conf.d/mysqld.cnf 配置文件,将bind-address =127.0.0.1注释掉:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
进入mysql数据库,执行授权命令:
mysql -u root -p
mysql> grant all on *.* to root@'%' identified by '密码' with grant option;
mysql> flush privileges; # 刷新权限
mysql> exit
重启apache服务器:service apache2 restart
外部主机打开Navicat远程连接mysql,测试是否成功:
安装php:sudo apt install php
测试php是否安装:php -v
安装php扩展:sudo apt php-pear libapache2-mod-php php-mysql
安装php组件:sudo apt install php-curl php-json php.cgi
更改apache配置文件:sudo vim /etc/apache2/mods-enabled/dir.conf
更改前:
更改后,首先访问index.php:
重新启动apache:sudo service apache restart
在/var/www/html目录下创建一个名为index.php的文件,并编写测试代码:sudo vim /var/www/html/index.php
在外部主机打开浏览器,在浏览器输入栏填入虚拟机IP地址进行访问:
安装phpmyddmin:sudo apt install phpmyadmin
安装时根据向导设置和需求设置相应的参数。选择apache2并点击确定:
点击是来配置phpmyadmin管理的数据库:
指定phpmyadmin向数据库服务器注册时所用的密码:
再次确认密码:
接下来将/usr/bin/share/phpadmin软链接到/var/www/html/phpMyAdmin:sudo ln -s /usr/share/phpmyadmin /var/www/html/phpMyAdmin
接着打开php配置文件json.ini,将第二行的注释前面的分号去掉:sudo vim /etc/php/7.2/mods-available/json.ini
接着在外部主机浏览器输入栏输入 虚拟机IP地址/phpMyAdmin 访问:
搭建LNMP环境
注意:Ubuntu中已经搭建LAMP环境,在此基础上搭建LNMP环境。
由于apache2和nginx默认使用端口相同,所以需要先关闭apache服务:service apache2 stop
安装nginx:sudo apt install nginx
默认的配置文件:/etc/nginx/sites-available/default
检查nginx是否开启:sudo service nginx status
显示active(running)则表示已开启。
相关命令:
开启nginx:service nginx start
关闭nginx:service nginx stop
重启nginx:service nginx restart
查询nginx是否安装:nginx -v
编辑nginx配置文件:sudo vim /etc/nginx/sites-available/default
修改解析文件为:
41行 root /var/www; 修改网站根目录为 /var/www(也可以修改为其它的目录)
解析php格式文件:
56行开始 修改为:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets);
# fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
# With php-cgi (or other tcp sockets);
fastcgi_pass 127.0.0.1:9000;
}
重启nginx:service nginx restart
将/var/www/html/index.nginx-debian.html移动到/var/www目录下并重命名:sudo mv /var/www/html/index.nginx-debian.html /var/www/index.html
在外部主机浏览器输入栏输入 虚拟机IP地址:
安装php-fpm:sudo apt install php-fpm
编辑php配置文件:sudo vim /etc/php/7.2/fpm/pool.d/www.conf
在37行加入如下代码:listen = 127.0.0.1:9000
重启php-fpm服务:service php7.2-fpm restart
在 /var/www 新建 info.php ,随后 修改文件内容如下:sudo vim /var/www/info.php
在外部主机打开浏览器,在浏览器输入栏填入 虚拟机IP地址/info.php进行访问:
测试数据库是否能正常连接,在 /var/www 目录下新建 mysql.php,修改文件内容如下:sudo vim /var/www/mysql.php
更改/etc/php/7.2/fpm/php.ini文件:sudo vim /etc/php/7.2/fpm/php.ini
重启php-fpm服务:service php7.2-fpm restart
在外部主机浏览器输入栏输入 虚拟机IP地址/mysql.php:
参考博客:
Ubuntu18.04下搭建LAMP环境
mysql 普通用户无权限连接问题
phpmyadmin提示The mbstring extension is missing的解决方法
Ubuntu18.04 桌面版 搭建 LNMP 环境
该网页无法正常运作 目前无法处理此请求HTTP ERROR 500
同一台 linux Server同时安装 lamp 和 lnmp