在 CentOS 8.2 64位系统上搭建 WordPress 网站,需要依次安装和配置以下组件:
- LAMP 或 LEMP 环境(Linux + Apache/Nginx + MySQL/MariaDB + PHP)
- WordPress 程序
- 防火墙和 SELinux 配置(可选但推荐)
以下是基于 LAMP(Apache + MariaDB + PHP) 的详细步骤:
✅ 一、准备工作
-
更新系统
sudo dnf update -y -
设置主机名(可选)
sudo hostnamectl set-hostname wordpress.example.com -
关闭防火墙或放行端口(推荐配置规则)
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
✅ 二、安装 Apache(HTTP 服务器)
sudo dnf install httpd -y
启动并设置开机自启:
sudo systemctl enable httpd
sudo systemctl start httpd
验证服务是否运行:
systemctl status httpd
测试:浏览器访问服务器 IP,应看到 Apache 默认页面。
✅ 三、安装 MariaDB(MySQL 替代品)
sudo dnf install mariadb-server mariadb -y
启动并启用:
sudo systemctl enable mariadb
sudo systemctl start mariadb
运行安全配置脚本:
sudo mysql_secure_installation
按提示设置 root 密码、删除匿名用户、禁止远程 root 登录等。
✅ 四、安装 PHP(WordPress 要求 7.4+,CentOS 8 默认支持)
WordPress 推荐 PHP 7.4 或更高版本。
sudo dnf install php php-mysqlnd php-gd php-xml php-mbstring php-json php-fpm -y
常用 PHP 扩展说明:
php-mysqlnd: 连接数据库php-gd: 图像处理php-xml,php-mbstring: WordPress 核心依赖php-json: JSON 支持
检查 PHP 版本:
php -v
创建测试文件验证 PHP 是否工作:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
访问 http://your-server-ip/info.php,看到 PHP 信息页面即成功。
✅ 五、配置 MariaDB 为 WordPress 创建数据库
登录数据库:
sudo mysql -u root -p
执行以下 SQL 命令:
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
记下数据库名、用户名和密码,后续安装 WordPress 时要用。
✅ 六、下载并安装 WordPress
进入网站根目录下载 WordPress:
cd /var/www/html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz
sudo mv wordpress/* ./
sudo rmdir wordpress
sudo rm latest.tar.gz
设置权限:
sudo chown -R apache:apache /var/www/html/
sudo chmod -R 755 /var/www/html/
注意:如果启用 SELinux,还需设置正确上下文(见下文)。
✅ 七、配置 WordPress
-
复制配置文件:
sudo cp wp-config-sample.php wp-config.php -
编辑配置文件:
sudo vi wp-config.php修改以下内容:
define('DB_NAME', 'wordpress'); define('DB_USER', 'wpuser'); define('DB_PASSWORD', 'your_secure_password'); define('DB_HOST', 'localhost');
✅ 八、SELinux 配置(重要!CentOS 默认启用)
如果页面报错权限问题,可能是 SELinux 导致。
-
设置正确的安全上下文:
sudo setsebool -P httpd_can_network_connect_db 1 sudo setsebool -P httpd_exec_mem 1 sudo chcon -R -t httpd_sys_content_t /var/www/html/ sudo chcon -R -t httpd_sys_rw_content_t /var/www/html/wp-content -
(可选)临时禁用 SELinux 测试(不推荐生产环境):
sudo setenforce 0
✅ 九、完成 WordPress 安装
浏览器访问:
http://your-server-ip
进入 WordPress 安装向导,填写站点标题、管理员用户名、密码、邮箱等信息,完成安装。
✅ 十、安全建议(可选)
-
隐藏 Apache 版本号
编辑/etc/httpd/conf/httpd.conf,添加:ServerTokens Prod ServerSignature Off -
启用 HTTPS(推荐使用 Let’s Encrypt)
使用 Certbot 配置免费 SSL 证书。 -
定期备份数据库和文件
✅ 常见问题排查
- 白屏或数据库连接失败:检查
wp-config.php中的数据库信息。 - 上传文件失败:检查
wp-content目录权限和 SELinux 设置。 - 无法写入
.htaccess:确保 Apache 有权限写入,且AllowOverride设置为All。
✅ 总结
你现在已经在 CentOS 8.2 64位系统上成功部署了 WordPress 博客或网站。主要组件:
| 组件 | 版本(示例) |
|---|---|
| OS | CentOS 8.2 x86_64 |
| Web Server | Apache (httpd) |
| Database | MariaDB 10.3+ |
| PHP | PHP 7.4+ |
| CMS | WordPress 最新版 |
如需使用 Nginx + PHP-FPM(LEMP),也可以提供详细教程。
是否需要我提供 一键脚本 或 使用 Nginx 的版本?
CLOUD技术博