在CentOS 8.2上如何搭建WordPress网站?

在 CentOS 8.2 上搭建 WordPress,首先需要明确一个核心前提:CentOS 8 系列已于 2021 年底停止维护(EOL)。这意味着官方不再提供安全更新和软件包修复。

强烈建议:对于生产环境,请迁移至 Rocky Linux 9、AlmaLinux 9 或 Ubuntu 22.04/24.04 LTS。如果你必须使用 CentOS 8.2(例如用于学习、测试或遗留系统兼容),请务必注意安全风险,并尽量将其隔离在内网或作为非关键业务使用。

以下是在 CentOS 8.2 上搭建 WordPress 的完整流程,基于主流且稳定的 LAMP (Linux + Apache + MySQL/MariaDB + PHP) 架构。


一、 前置准备

  1. 服务器实例:确保你有 root 权限或 sudo 权限。
  2. 域名解析:将你的域名 A 记录指向服务器公网 IP。
  3. 防火墙配置:开放 HTTP (80) 和 HTTPS (443) 端口。
# 安装 firewalld(如果未安装)
sudo yum install -y firewalld

# 启动并设置开机自启
sudo systemctl start firewalld
sudo systemctl enable firewalld

# 开放 HTTP 和 HTTPS 服务
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

# 重载防火墙规则
sudo firewall-cmd --reload

注意:如果使用阿里云 ECS、腾讯云 CVM 等云厂商,还需在控制台的安全组中放行 80 和 443 端口。


二、 安装 Web 服务器(Apache)

WordPress 对 Apache 兼容性极好。

sudo yum install -y httpd

# 启动 Apache 并设置开机自启
sudo systemctl start httpd
sudo systemctl enable httpd

# 验证 Apache 是否运行
systemctl status httpd

访问 http://<你的服务器IP>,若看到 Apache 测试页,则安装成功。


三、 安装数据库(MariaDB)

虽然 MySQL 是常见选择,但在 CentOS/RHEL 体系中,MariaDB 是默认的社区分支,兼容性更好。

sudo yum install -y mariadb-server mariadb

# 启动 MariaDB 并设置开机自启
sudo systemctl start mariadb
sudo systemctl enable mariadb

# 运行安全脚本(重要!)
sudo mysql_secure_installation

执行 mysql_secure_installation 时:

  • 设置 root 密码。
  • 删除匿名用户。
  • 禁止 root 远程登录。
  • 删除 test 数据库。
  • 重新加载权限表。

四、 安装 PHP 及相关模块

WordPress 需要 PHP 及其扩展来运行。CentOS 8 默认仓库中的 PHP 版本可能较旧(如 PHP 7.2),建议启用 Remi 源以获取更高版本的 PHP(推荐 PHP 7.4 或 8.0+)。

方法:使用 Remi 源安装 PHP 8.0(推荐)

# 安装 EPEL 和 Remi 源
sudo yum install -y epel-release
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

# 重置 PHP 模块流为 remi-php80
sudo dnf module reset php
sudo dnf module enable php:remi-8.0

# 安装 PHP 及必要扩展
sudo yum install -y php php-mysqlnd php-fpm php-json php-gd php-mbstring php-intl php-zip php-opcache php-xml

# 重启 Apache 以加载 PHP 模块
sudo systemctl restart httpd

验证 PHP:创建 /var/www/html/info.php,内容为 <?php phpinfo(); ?>,访问 http://<IP>/info.php 查看 PHP 版本和信息。测试后务必删除该文件以防信息泄露。


五、 配置数据库与用户

  1. 登录 MySQL:
sudo mysql -u root -p
  1. 创建数据库和用户(示例):
-- 创建数据库
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 创建用户并授权(替换 'your_password' 为强密码)
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'your_strong_password';

-- 授予权限
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

-- 退出
EXIT;

六、 下载并配置 WordPress

  1. 下载最新 WordPress:
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
  1. 移动文件到 Web 根目录:
sudo mv wordpress /var/www/html/wordpress
  1. 设置目录权限(让 Apache 用户可写):
sudo chown -R apache:apache /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress
  1. 复制配置文件:
cd /var/www/html/wordpress
cp wp-config-sample.php wp-config.php
  1. 编辑 wp-config.php,填入数据库信息:
sudo vi wp-config.php

修改以下内容:

define('DB_NAME', 'wordpress');
define('DB_USER', 'wp_user');
define('DB_PASSWORD', 'your_strong_password');
define('DB_HOST', 'localhost');
// 可选:添加安全密钥(从 https://api.wordpress.org/secret-key/1.1/salt/ 获取)

七、 浏览器安装向导

  1. 打开浏览器,访问 http://<你的服务器IP>/wordpress 或绑定域名后的地址。
  2. 选择语言,设置站点标题、管理员用户名和密码。
  3. 完成安装。

八、 后续优化与安全加固(关键步骤)

1. 安装 SSL 证书(HTTPS)

使用 Let’s Encrypt 免费证书,通过 Certbot 自动配置。

# 安装 Certbot
sudo yum install -y certbot python3-certbot-apache

# 申请证书(替换 your_domain.com 为你的域名)
sudo certbot --apache -d your_domain.com

# 按提示输入邮箱、同意条款、选择是否重定向 HTTP 到 HTTPS

Certbot 会自动修改 Apache 配置并续期证书。

2. 调整 Apache 配置(可选)

为了提升性能和安全,可编辑 /etc/httpd/conf/httpd.conf 或创建虚拟主机配置文件。

3. 安装 WordPress 插件

登录后,建议安装:

  • Wordfence Security 或 All In One WP Security:防火墙与安全防护。
  • WP Super Cache 或 W3 Total Cache:缓存提速。
  • UpdraftPlus:定期备份。

4. 禁用文件编辑

在 wp-config.php 中添加:

define('DISALLOW_FILE_EDIT', true);

防止后台直接编辑主题/插件代码被恶意利用。


九、 常见问题排查

问题 可能原因 解决方案
500 Internal Server Error PHP 错误、权限问题 检查 /var/log/httpd/error_log;确认 wp-config.php 权限为 644;确保 PHP 扩展已安装
无法上传图片 SELinux 阻止 临时关闭 SELinux 测试:setenforce 0;若解决,需配置 SELinux 策略:semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/wordpress/wp-content(/.*)?' 然后 restorecon -Rv /var/www/html/wordpress/wp-content
数据库连接错误 密码错误或数据库未启动 检查 wp-config.php 中的 DB 信息;确认 MariaDB 正在运行
页面样式错乱 路径配置错误 检查 WordPress 地址和站点地址是否正确;清除浏览器缓存

十、 重要提醒:关于 CentOS 8 的生命周期

由于 CentOS 8 已停止支持,你面临以下风险:

  • 无安全补丁:新发现的漏洞不会被修复。
  • 软件包不可用:yum 仓库可能失效,需手动配置 vault.centos.org 镜像源。

替代方案建议:
如果你希望获得更稳定、安全的体验,请将操作系统迁移至:

  • Rocky Linux 9 或 AlmaLinux 9(CentOS 的直接替代品,二进制兼容 RHEL 9)
  • Ubuntu 22.04 LTS 或 24.04 LTS(社区活跃,文档丰富)

迁移步骤大致相同,只需更换基础 OS 即可。


如需进一步帮助(如 Nginx + PHP-FPM 架构、Docker 部署、云厂商特定配置),请继续提问。

未经允许不得转载:CLOUD云枢 » 在CentOS 8.2上如何搭建WordPress网站?