是的,完全可以在 AlmaLinux 或 Rocky Linux 上顺利安装和运行 WordPress。事实上,这两者(作为 RHEL 8/9 的社区兼容发行版)是部署 WordPress 的优秀、稳定且推荐的选择,尤其适合生产环境。
✅ 原因如下:
- 它们完全二进制兼容 RHEL,继承了企业级稳定性、长期支持(LTS)、严格的安全更新和成熟的软件生态;
- 默认仓库(BaseOS/AppStream)提供经过充分测试的 LAMP/LEMP 栈组件(Apache/Nginx、MariaDB/MySQL、PHP),版本适配良好;
- 社区和文档丰富(与 CentOS/RHEL 高度一致),WordPress 官方也明确支持 RHEL/CentOS 系衍生版。
✅ 推荐安装方式(以 AlmaLinux 9 / Rocky Linux 9 为例,使用 LAMP)
1️⃣ 基础环境准备(最小化安装后)
sudo dnf update -y
sudo dnf install -y epel-release
# 启用 CodeReady Builder(提供额外开发工具和较新 PHP 扩展)
sudo dnf config-manager --set-enabled crb
2️⃣ 安装 Web 服务器(Apache 推荐入门,Nginx 更高性能)
# Apache 方式(默认且文档最丰富)
sudo dnf install -y httpd
# 启用并启动
sudo systemctl enable httpd
sudo systemctl start httpd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
3️⃣ 安装数据库(推荐 MariaDB)
sudo dnf install -y mariadb-server
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo mysql_secure_installation # 按提示设置 root 密码、禁用匿名用户等
4️⃣ 安装 PHP 及必要扩展(关键!WordPress 依赖)
⚠️ 注意:AlmaLinux 9/Rocky 9 默认 PHP 版本为
8.1(完全满足 WordPress 要求,≥ 7.4 即可,推荐 8.1+)
sudo dnf install -y php php-cli php-common php-gd php-mbstring php-xml php-json php-zip php-opcache php-curl php-mysqlnd
# 验证版本
php -v # 应显示 8.1.x 或更高(如需 8.2/8.3,可通过 Remi 仓库启用)
✅ WordPress 6.5+ 官方要求:PHP ≥ 7.4(推荐 8.0+),MySQL ≥ 5.6 或 MariaDB ≥ 10.1 —— AlmaLinux 9/Rocky 9 原生满足。
5️⃣ 创建数据库与用户(安全实践)
mysql -u root -p
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'StrongPass123!';
GRANT ALL ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
6️⃣ 下载并配置 WordPress
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
sudo rsync -av wordpress/ /var/www/html/
# 设置权限(安全且符合 Apache 运行需求)
sudo chown -R apache:apache /var/www/html/
sudo chmod -R 755 /var/www/html/
sudo chmod 644 /var/www/html/wp-config.php # 配置后设置
# 复制配置文件模板
sudo cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
7️⃣ 配置 wp-config.php(关键步骤)
sudo nano /var/www/html/wp-config.php
替换以下三行(使用第4步创建的数据库信息):
define('DB_NAME', 'wordpress');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'StrongPass123!');
// DB_HOST 保持 'localhost' 即可(MariaDB 默认监听本地 socket)
✅ 强烈建议添加安全密钥(自动生成):
访问 https://api.wordpress.org/secret-key/1.1/salt/,复制输出内容,**完全替换 wp-config.php 中 `// MySQL settings…之后的define(‘AUTH_KEY’, …);` 等8行。
8️⃣ (可选但推荐)启用 OPcache & 调整 PHP
编辑 /etc/php.d/15-opcache.ini 确保启用:
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
重启服务:
sudo systemctl restart httpd php-fpm # 若用 PHP-FPM;否则仅 restart httpd
9️⃣ 访问安装向导
打开浏览器:http://your-server-ip/
按界面提示完成语言选择、站点信息填写(管理员账号密码等)→ 完成安装 ✅
🔧 是否需要“额外配置”?—— 是的,但都属于标准最佳实践,非“故障修复”
| 类别 | 是否必需 | 说明 |
|---|---|---|
| SELinux | ✅ 强烈推荐保持启用 | 默认 enforcing 模式下需确保上下文正确:sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"sudo restorecon -Rv /var/www/html(或临时调试: sudo setsebool -P httpd_can_network_connect_db 1) |
| 防火墙 | ✅ 必需 | 已在上文配置 firewall-cmd --add-service=http;若启用 HTTPS,还需 https |
| HTTPS(SSL) | ✅ 生产环境必需 | 使用 Let’s Encrypt:sudo dnf install -y certbot python3-certbot-apachesudo certbot --apache -d example.com |
| PHP-FPM + Nginx | ❌ 非必需,但可选优化 | 若追求更高并发,可用 Nginx + PHP-FPM 替代 Apache,性能更优(需额外配置 FastCGI) |
| 缓存插件/OPcache | ✅ 推荐 | 提升响应速度,减少数据库负载 |
📌 补充说明
-
PHP 版本升级(如需 8.2/8.3):
启用 Remi 仓库(安全可靠):sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm sudo dnf module reset php sudo dnf module enable php:remi-8.2 # 或 8.3 sudo dnf install -y php php-* -
一键脚本?
可用 EasyEngine(Nginx + WP 优化栈)或 WordOps(专为 WP 优化),但手动安装更透明、可控、利于学习和排错。 -
容器化(Docker)?
完全支持(docker-compose.yml启动 LEMP + WordPress),适合开发/测试,生产环境需注意持久化与安全加固。
✅ 总结
| 项目 | 结论 |
|---|---|
| 能否顺利安装运行? | ✅ 完全可以,原生支持,无兼容性问题 |
| 是否比 Ubuntu/Debian 更难? | ❌ 相当甚至更简单(包管理统一、文档成熟、企业级稳定性) |
| 必须做的额外配置? | ✅ SELinux 上下文、防火墙、HTTPS、数据库权限、wp-config.php 安全密钥 —— 均属行业标准,非“额外麻烦” |
| 生产环境推荐度 | ⭐⭐⭐⭐⭐(高稳定性 + 长期安全更新 + 完善审计支持) |
如需,我可以为你提供:
- 完整的自动化安装脚本(Bash)
- Nginx + PHP-FPM + WordPress 配置示例
- Let’s Encrypt 自动续期配置
- WordPress 安全加固清单(
.htaccess/ Nginx 规则 / 文件权限)
欢迎随时提出具体场景(如:多站点、子目录/子域名、Redis 缓存集成等)😊
CLOUD云枢