Ubuntu18.04 搭建LAMP环境以及UFW防火墙配置


Ubuntu18.04 搭建LAMP环境以及UFW防火墙配置

安装之前可更新一下服务器(可选):

1、 apt update # 获取最新资源包

2、 apt upgrade # 本机软件全部更新

3、 apt dist-upgrade # 本机系统软件更新

一、安装Apache

1.安装服务

apt install apache2

2.开启 、关闭和重启Apache服务器

systemctl start apache2    # 开启
 
systemctl stop apache2    # 关闭
 
systemctl restart apache2    # 重启
ufw allow 80 #防火墙开放80端口

打开浏览器并输入IP地址,看到Apache的默认信息页面即表示安装成功。

3.安装成功后,会在var下面生成www/html/index.html

在/var/www/html/ 下面替换自己的网页文件即可。

​ 卸载软件命令,如卸载apache

​ apt-get purge apache*

二、安装MySQL(系统默认安装的是8.0版本)

1.安装MySQL服务

apt install mysql-server

2.初始化设置

mysql_secure_installation

在此过程中即可对数据库密码重置等一系列操作

​ 注意:如何此过程没有出现设置root密码,跳过了。那么登录进去设置

3.设置密码以及运行远程访问

mysql   #无密码直接登录
mysql> use mysql;
mysql> select user,host,plugin from mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| debian-sys-maint | localhost | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | auth_socket           |
+------------------+-----------+-----------------------+
5 rows in set (0.00 sec)

#设置root密码并修改加密方式为mysql_native_password
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

#再将root用户的host修改为 % ,允许远程连接
mysql> update user set host='%' where user ='root';
#刷新生效
mysql> flush privileges;

4.系统开放3306端口,修改mysqld.cnf配置文件,允许远程访问

#修改mysqld.cnf配置文件中bind-address为0.0.0.0
vim /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address            = 0.0.0.0
#重启mysql
systemctl restart mysql

#查看防火墙状态
ufw status

#开放端口
ufw allow 3306

#开启或关闭防火墙
ufw enable
ufw disable

Docker创建MySQL容器方式:

#cd到新建的mysql目录下
     mkdir mysql
	 
     cd mysql
     docker run -id \
     -p 3306:3306 \
     --name=d_mysql \
     -v $PWD/conf:/etc/mysql/conf.d \
     -v $PWD/logs:/logs \
     -v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
     mysql:8.0
 - 参数说明:
   - **-p 3307:3306**:将容器的 3306 端口映射到宿主机的 3307 端口。
   - **-v $PWD/conf:/etc/mysql/conf.d**:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录
   - **-v $PWD/logs:/logs**:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录
   - **-v $PWD/data:/var/lib/mysql** :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录
   - **-e MYSQL_ROOT_PASSWORD=123456:**初始化 root 用户的密码。
 #进入mysql容器
 docker exec -it d_mysql /bin/bash
 #登录mysql,密码就是刚刚设置的123456
 mysql -uroot -p 
 #下面开始设置远程root密码并运行远程访问
 mysql> use mysql;
 
 mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';
 
 mysql> flush privileges;

*** 注意:*** 如果登录报错: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 那么使用 mysql -h 127.0.0.1 -p 先登录一下生成mysqld.sock即可。或者退出到主机中重启该容器再进入试一下

navicat远程连接mysql就成功了。

到此可以远程登录mysql了!

三、安装PHP

1.安装PHP服务

apt install php
php -v #显示安装版本信息

2.网页验证

​ 随后在/var/www/html 下新建一个index.php文件,内容如下:

<?php
phpinfo();
?>

打开浏览器http://ip/index.php 页面输出php信息说明PHP安装成功。

四、安装phpMyAdmin管理工具(MySQL数据库web界面管理工具)

1.安装服务

apt install phpmyadmin

2.创建phpMyAdmin的软链接到Apache的根目录下

ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

然后打开浏览器输入:IP地址/phpmyadmin 即可看到phpmyadmin的主页面

五、ufw防火墙相关操作

ufw介绍

ubuntu18,20版本默认防火墙配置工具是ufw,主要为简化 iptables 防火墙配置而开发。

1.安装

1.执行apt update命令更新包列表。

apt update

2.执行apt install ufw命令下载ufw。

apt install ufw

2. 查看防火墙状态

1.执行ufw status命令查看防火墙状态,默认关闭。

ufw status
Status: inactive

3. 开启/关闭防火墙

3.1 开启防火墙

执行ufw enable命令开启防火墙。

ufw enable
3.2 关闭防火墙

执行ufw disable命令关闭防火墙。

ufw disable
3.3 重启防火墙

1.执行ufw reload命令重启防火墙。

ufw reload

4.开放/关闭端口

4.1 开放端口

执行ufw allow 22命令开放指定端口,这里以SSH为例。

ufw allow 22

也可以允许从特定主机或网络访问端口,类似于网络上的高级ACL中的rule。

ufw allow proto tcp from 192.168.100.0/24 to any port 22
4.2 关闭端口

执行ufw deny 22命令关闭指定端口,这里以SSH为例。

ufw deny 22

也可以拒绝从特定主机或网络访问端口,类似于网络上的高级ACL中的rule。

ufw deny proto tcp from 192.168.100.0/24 to any port 22
4.3 查看所有防火墙策略的端口

执行ufw status 命令会显示相关的端口信息

ufw status 
教程