Linux服务器构建与运维管理-CentOS-实验05:通过WordPress建设网站
棒棒堂智能运维
编辑于 2026年03月11日 19:48
收录于文集
共17篇

一、实验目的

1、了解LAMP;

2、掌握使用WordPress实现网站的方法。

二、实验学时

2 学时

三、实验类型

综合性

四、实验需求

1、硬件

每人配备计算机 1 台。

2、软件

Windows操作系统,安装Oracle VM VirtualBox软件,安装Mobaxerm软件。

3、网络

本地主机与虚拟机能够访问互联网,不使用DHCP服务。

4、工具

预先下载WordPress安装程序。

五、实验任务

1、完成LAMP环境的部署;

2、完成通过WordPress发布个人网站。

六、实验环境

1、本实验需要VM 1台;

2、本实验VM配置信息如下表所示

3、本实验拓扑图。

4、本实验操作演示视频。

本实验为视频集的第2集:网页链接​

七、实验内容及步骤

1、系统基本配置

(1)使用VirtualBox创建本次实验所需虚拟机。

(2)配置SELinux和防火墙。

代码块
Shell
自动换行
复制代码
# 配置防火墙,允许80-82/tcp端口访问
[root@Lab-05-Task-01 ~]# firewall-cmd --zone=public --add-port=80-82/tcp --permanent
[root@Lab-05-Task-01 ~]# firewall-cmd --reload
[root@Lab-05-Task-01 ~]# firewall-cmd --list-all

# 配置SELINUX,允许80-82端口提供服务
# 安装SELINUX的配置工具semanage
[root@Lab-05-Task-01 ~]# yum -y install policycoreutils-python-utils

# 查看SELINUX允许通过的HTTP端口(默认支持80、81)
[root@Lab-05-Task-01 ~]# semanage port -l | grep http
# --------------------允许的HTTP端口--------------------
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989
# --------------------允许的HTTP端口--------------------

# 增加82端口
[root@Lab-05-Task-01 ~]# semanage port -a -t http_port_t -p tcp 82

# 重新启动
[root@Lab-05-Task-01 ~]# reboot
复制成功

2、安装Apache

安装Apache并配置,具体过程参照《实验04:使用 Apache 发布网站》。

3、安装PHP

代码块
Shell
自动换行
复制代码
# 更新epel源
[root@Lab-05-Task-01 ~]# yum -y install epel-release
[root@Lab-05-Task-01 ~]# yum -y update epel-release
# 删除缓存的无用软件包并更新软件源
[root@Lab-05-Task-01 ~]# yum clean all
[root@Lab-05-Task-01 ~]# yum makecache

# 下载安装PHP相应的模块
[root@Lab-05-Task-01 ~]# yum -y install php php-curl php-dom php-exif php-fileinfo php-fpm php-gd php-hash php-json php-mbstring php-mysqli php-openssl php-pcre php-xml libsodium
# 启用php模块
[root@Lab-05-Task-01 ~]# yum -y module enable php

# 查看PHP版本
[root@Lab-05-Task-01 ~]# php -v
复制成功

验证LAMP环境

代码块
Shell
自动换行
复制代码
# 在Apache网站的根目录创建测试文件
[root@Lab-05-Task-01 ~]# echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
# 重启Apache服务
[root@Lab-05-Task-01 ~]# systemctl restart httpd
复制成功

在浏览器中,输入http://ip址/phpinfo.php并按Enter键。如图 5-1所示,则表示安装成功。

图 5-1 验证LAMP环境搭建成功界面

成功搭建LAMP环境后,建议删除phpinfo.php测试文件,消除数据泄露风险。

代码块
Shell
自动换行
复制代码
[root@Lab-05-Task-01 ~]# rm -rf /var/www/html/phpinfo.php
复制成功

4、安装MySQL

代码块
Shell
自动换行
复制代码
# 更新yum源
[root@Lab-05-Task-01 ~]# rpm -Uvh http://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

# 安装MySQL
[root@Lab-05-Task-01 ~]# yum -y install mysql-community-server
# 查看MySQL的版本号
[root@Lab-05-Task-01 ~]# mysql -V
mysql  Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL)

# 运行以下命令启动MySQL
[root@Lab-05-Task-01 ~]# systemctl start mysqld

# 设置MySQL开机启动
[root@Lab-05-Task-01 ~]# systemctl enable mysqld
[root@Lab-05-Task-01 ~]# systemctl daemon-reload

# 查看MySQL的初始密码
[root@Lab-05-Task-01 ~]# grep "password" /var/log/mysqld.log
2023-07-14T05:02:17.558846Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 2*thbdr!X3e8

# MySQL的安全性配置
[root@Lab-05-Task-01 ~]# mysql_secure_installation
复制成功

5、获取WordPress程序

进入Apache根目录,下载并解压WordPress。

代码块
Shell
自动换行
复制代码
 [root@Lab-05-Task-01 ~]# cd /var/www/html/
 # 安装下载工具
 [root@Lab-05-Task-01 html]# yum -y install wget tar
 # 下载WordPress安装包
 [root@Lab-05-Task-01 html]# wget https://cn.wordpress.org/latest-zh_CN.tar.gz
 # 解压安装包
 [root@Lab-05-Task-01 html]# tar zxvf latest-zh_CN.tar.gz
 
 # 将WordPress安装目录下的wp-config-sample.php文件复制到wp-config.php文件中,并将wp-config-sample.php文件作为备份文件。
 [root@Lab-05-Task-01 html]# cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php

 # 赋予apache对相关目录的操作权限
 [root@Lab-05-Task-01 html]# chown -R apache:apache /var/www/html/
 [root@Lab-05-Task-01 html]# chmod -R 755 /var/www/html/
 [root@Lab-05-Task-01 html]# chown -R :apache /var/www/html/wordpress
复制成功

6、配置并发布WordPress程序

(1)进入MySQL数据库,为WordPress网站创建数据库,并且创建一个新用户管理WordPress库,提高安全性。

代码块
Shell
自动换行
复制代码
# 使用root用户登录MySQL,并输入密码。
[root@Lab-05-Task-01 ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.33 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# 为WordPress网站创建数据库
mysql> create database wordpress;
Query OK, 1 row affected (0.02 sec)

# 查看密码强度规则
mysql> show variables like "%password%";
+----------------------------------------------+-----------------+
| Variable_name                                | Value           |
+----------------------------------------------+-----------------+
| caching_sha2_password_auto_generate_rsa_keys | ON              |
| caching_sha2_password_digest_rounds          | 5000            |
| caching_sha2_password_private_key_path       | private_key.pem |
| caching_sha2_password_public_key_path        | public_key.pem  |
| default_password_lifetime                    | 0               |
| disconnect_on_expired_password               | ON              |
| generated_random_password_length             | 20              |
| mysql_native_password_proxy_users            | OFF             |
| password_history                             | 0               |
| password_require_current                     | OFF             |
| password_reuse_interval                      | 0               |
| report_password                              |                 |
| sha256_password_auto_generate_rsa_keys       | ON              |
| sha256_password_private_key_path             | private_key.pem |
| sha256_password_proxy_users                  | OFF             |
| sha256_password_public_key_path              | public_key.pem  |
| validate_password.check_user_name            | ON              |
| validate_password.dictionary_file            |                 |
| validate_password.length                     | 8               |
| validate_password.mixed_case_count           | 1               |
| validate_password.number_count               | 1               |
| validate_password.policy                     | MEDIUM          |
| validate_password.special_char_count         | 1               |
+----------------------------------------------+-----------------+
23 rows in set (0.04 sec)

# 创建新用户
mysql> create user 'user'@'localhost' identified by '  n';
Query OK, 0 rows affected (0.03 sec)

# 赋予用户对数据库wordpress的全部权限
mysql> grant all privileges on wordpress.* to 'user'@'localhost';
Query OK, 0 rows affected (0.01 sec)

# 使配置生效,并退出
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exit;
Bye
复制成功

(2)编辑wp-config.php文件,根据已配置的WordPress数据库信息,修改MySQL相关配置信息,修改代码如下所示。WordPress网站的数据信息将通过数据库的用户保存在名为的数据库中。

代码块
Shell
自动换行
复制代码
[root@Lab-05-Task-01 wordpress]# vi wp-config.php
# --------------------wp-config.php文件--------------------
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');

/** MySQL数据库用户名 */
define('DB_USER', 'user');

/** MySQL数据库密码 */
define('DB_PASSWORD', 'PASSword123.');

/** MySQL主机 */
define('DB_HOST', 'localhost');
# 此处省略了部分提示信息
# --------------------wp-config.php文件--------------------
# 查看修改后的配置内容
[root@Lab-05-Task-01 wordpress]# cat /var/www/html/wordpress/wp-config.php | grep -E "define"
复制成功

(3)重启相关服务

代码块
Shell
自动换行
复制代码
[root@Lab-05-Task-01 wordpress]# systemctl restart httpd.service
[root@Lab-05-Task-01 wordpress]# systemctl restart mysqld.service
复制成功

7、初始化WordPress安装

在浏览器地址栏输入http:// ip地址/wordpress,转至WordPress安装页,开始配置WordPress。具体如图5-2所示。按提示输入安装信息,点击按钮,完成安装WordPress,并创建站点。

图 5-2 WordPress安装页

8、访问测试

登录WordPress后,点击左上角创建的网站名,即可成功访问测试站点。具体如图5-3所示。

图 5-3 测试站点