要求一:实现LAMP(Linux系统、apache服务器、MariaDB 10.4、PHP 7.4)
要求二:部署WordPress(实现更换主题、通过站点健康检测)
要求三:部署apache status
一:配置网络使系统可以访问互联网
- 本地主机通过无线方式连接到路由器上网;
- 无线路由器LAN口IP设置为172.16.123.1/24;
- 本地主机使用静态IP地址:
- IP地址为:172.16.123.100/24
- 网关为: 172.16.123.1
- DNS为:114.114.114.114(8.8.8.8为全球通用DNS适合访问国外服务时使用)
- 虚拟机上运行的CentOS8系统配置为使用桥接网卡方式上网,目的为使本地主机和虚拟机上运行的CentOS8系统处于同一局域网,更严谨的来说是处于同一广播域(这样说排除了VLAN存在的情况);
- 登入CentOS8系统后:
- 使用vi工具编辑网络配置文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3 ,修改 ONBOOT 选项为 yes 指明在系统启动时激活网卡,修改 BOOTPROTO 从 dhcp 为 static 目的为使用静态IP而不是动态分配
- 增加 IPADDR=172.16.123.105 PREFIX=24 GATEWAY=172.16.123.1 DNS1=8.8.8.8
- 或者 IPADDR=172.16.123.105 NETMASK=255.255.255.0 GATEWAY=172.16.123.1 DNS1=8.8.8.8
- 退出编辑模式,输入 :wq 退出并且保存
- 使用 nmcli c reload 和 nmcli c up enp0s3 使系统正常上网
二、关闭相关安全措施
- systemctl stop firewalld #关闭防火墙
- systemctl disable firewalld #禁止防火墙开机自启动
- setenforce 0 #临时关闭selinux
三、安装apache服务器
- yum update #更新系统
- yum iinstall -y httpd #安装apache
- systemctl start httpd #开启apache服务
- systemctl enable httpd #设置apache服务为开启自启动
- systemctl status httpd #查看apache服务运行状态
四、安装MariaDB数据库
- 使用 yum install -y mariadb-server 安装的MariaDB版本为10.3版本,所以我们如果要安装指定版本的MariaDB,则需要手动修改关于MariaDB的yum源;
- 在MariaDB官网找到符合系统版本要求(CentOS8 x86_x64)和软件版本要求(10.4)的安装源,复制并追加到 /etc/yum.repos.d/CentOS-Base.repo 文件即可安装对应版本的MariaDB,复制内容如下:
# MariaDB 10.4 CentOS repository list - created 2020-04-16 08:05 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos8-amd64
module_hotfixes=1
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
文件在增加以上内容后的内容如下:
[BaseOS]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra
#baseurl=http://mirror.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
# MariaDB 10.4 CentOS repository list - created 2020-04-16 08:05 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos8-amd64
module_hotfixes=1
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
- 但是实际操作时下载速度极慢,所以我们可以通过使用国内的镜像节点替换官方节点的方式提升下载速度,我们使用中国科学技术大学的节点地址:http://mirrors.ustc.edu.cn/mariadb/yum/ ,通过选择软件版本(10.4)、对应的操作系统版本(centos8-amd64)得到地址:http://mirrors.ustc.edu.cn/mariadb/yum/10.4/centos8-amd64/ ,将此地址作为上文中标红的baseurl 的对应值,同时使用 http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB 作为上文中标红的 gpgkey 的对应值,修改后保存退出;
- yum install -y MariaDB-server #安装MariaDB
- systemctl start mariadb #启动MariaDB
- systemctl enable mariadb #将MariaDB设置为开机自启动
- systemctl status mariadb #查看MariaDB目前的运行状态
- mysqladmin -uroot password test #test值为设置的MariaDB数据库 root 用户的密码
五、安装PHP解析器和PHP对MariaDB的支持模块php-mysqlnd
- CentOS8系统的appstream库同时存在PHP7.2和PHP7.3两个版本的PHP解析器,我们要安装特定版本的PHP(PHP7.4)就不能使用默认的配置方法,默认配置过程如下:
- yum module list php #查看可用的PHP模块
- yum module -y enable php:7.3 #启用PHP7.3,默认为启用PHP7.2
- yum install -y php #安装PHP7.3的PHP解析器
- yum install -y php-mysqlnd #安装php-mysqlnd模块
- 关于php-mysqlnd,PHP官网的介绍为:MySQL Native Driver is a replacement for the MySQL Client Library (libmysqlclient). MySQL Native Driver is part of the official PHP sources as of PHP 5.3.0;中文意思为Mysql Native驱动(Mysql Native Driver 简称:mysqlnd ),是C语言编写的PHP扩展,在PHP5.3.0版本中被引入成为官方源代码的一部分用来取代传统的mysql client library(libmysql);
- 我们采用添加EPEL&Remi存储库从中获取PHP7.4的方法:
- dnf install https://dl.Fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
- rpm -qa | grep epel #可选项,确认安装的EPEL库成功
- dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
- rpm -qa | grep remi #可选项,确认安装的Remi库成功
- yum module list php #查看当前可用的PHP模块流列表,此时可看到 php remi-7.4
- yum module -y enable php:remi-7.4 #启用PHP 7.4
- yum install -y php #安装PHP解析器
- yum install -y php-mysqlnd #安装 MariaDB 依赖
- php -v #查看此时启用的PHP版本,为PHP 7.4版本
- systemctl restart httpd #重启apache以载入PHP解析模块
六、获取和安装WordPress
- 创建好WordPress网站需要的数据库
- mysql -u root -p #回车后输入密码进入数据库
- show databases; #非必须命令,分号为语法要求,查看当前数据库
- drop database test; #执行b中命令后可看到WordPress附带的test数据库,可删除它
- create database wordpressdb; #创建我们需要的数据库 wordpressdb ,名称不唯一
- yum install -y php-json #安装WordPress需要的php-json模块
- 获取WordPress安装文件:
- yum install -y wget #在线获取WordPress安装文件的一个工具
- yum install -y unzip #获取用来解压WordPress安装文件压缩包的工具
- wget https://cn.wordpress.org/latest-zn_CN.zip #在线获取WordPress安装文件
- unzip latest-zn_CN.zip -d /var/www/ #解压文件到指定目录下
- 解压后的WordPress网站文件位于 /var/www/wordpress/
- chown -R apache:apache /var/www/wordpress #为指定目录及其子目录指定用户和用户组
- chmod -R 755 /var/www/wordpress #为指定目录及其子目录赋予权限
- 编辑 /etc/httpd/conf/httpd.conf 文件来配置内容网站:
- 找到DocumentRoot “/var/www/html”,修改为 DocumentRoot “/var/www/wordpress”
- 找到<Directory “/var/www/html”>,修改为<Directory “/var/www/wordpress”>
- systemctl reload httpd #重新载入apache服务,reload相比于restart具有不停服更新的优点
- 在本地主机浏览器中输入虚拟主机的IP地址172.16.123.105会开始WordPress的安装
七、部署apache status
- 查看模块列表确认已安装mod_status和mod_info模块:
- ls -l /etc/httpd/modules/mod_status*
- ls -l /etc/httpd/modules/mod_info*
- 查看apache模块配置信息,确认mod_status和mod_info模块已启用:
- cat /etc/httpd/conf.modules.d/00-base.conf | grep -e mod_status -e mod_info #如何没有启用则需要编辑文件去掉该模块前的注释#号
- 使用vi工具创建并编辑两个模块的配置文件信息:
- vi /etc/httpd/conf.modules.d/ApacheMonitor.conf
- 在上述文件中写入以下内容
<location /server-status> #配置虚拟目录的名称为server-status,访问server-status时使用该路径
SetHandler server-status # 配置server-stauts模块进行对应的响应
Require ip 172.16.123.100 #限制只有本地主机才可访问
</location>
<location /server-info>
SetHandler server-info
Require ip 172.16.123.100
</location>
- systemctl reload httpd #重新载入apache使配置生效
- 使用 172.16.123.100/server-status 访问server-status
- 使用 172.16.123.100/server-info 访问server-info
原创文章,作者:witersen,如若转载,请注明出处:https://www.witersen.com