在 Rocky Linux 上使用 LAMP 和免费的 Let’s Encrypt SSL 安装 WordPress

WordPress 是目前最流行的内容管理系统(CMS)之一,被数百万人使用。该项目始于 2003 年,是 CMS “b2/cafelog” 的一个分支,采用 GPLv2 许可证发布,是一款免费开源软件

截至目前,互联网上超过 34% 的网站都在使用 WordPress。其广受欢迎的原因之一在于它简单、易用且灵活。借助成百上千个插件,WordPress 可用于多种用途,例如:简单的博客平台、电子商务网站、企业官网、在线论坛社区等。

在本指南中,你将学习如何在 Rocky Linux 8.4 上安装 WordPress。我们将使用 LAMP 栈(Linux、Apache2/httpd、MySQL/MariaDB 和 PHP)来部署 WordPress。

这是一篇wordpress入门教程,如果想拥有自己的网站,还需要学习很多,这篇文章也只能作为参考,但是非常有价值!等有时间我会自己写一篇入门笔记。


1. 前提条件

  • 一台已安装 Rocky Linux 的服务器,并确保所有软件包都已更新到最新版本。
  • 一个具有 root 权限 的用户(可通过 sudo 命令获得 root 权限)。

2. 安装 Apache/Httpd Web 服务器

首先,在 Rocky Linux 服务器上安装 Apache(即 httpd)Web 服务器。

  1. 执行以下 dnf 命令安装 httpd:

    sudo dnf install httpd
    

    输入 y 并按回车确认安装。

  2. 安装完成后,启用并启动 httpd 服务:

    sudo systemctl enable httpd
    sudo systemctl start httpd
    

    systemctl enable 命令会设置 httpd 在系统启动时自动运行。

  3. 验证 httpd 服务状态:

    sudo systemctl status httpd
    

    如果看到服务处于 active (running) 状态,说明 Apache 已成功运行。


3. 安装 PHP 软件包

WordPress 目前要求 PHP 7.4 或更高版本。我们将从 Remi 仓库安装 PHP 7.4。

  1. 添加 EPEL 和 Remi 仓库:

    sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
    sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
    

    输入 y 确认添加仓库。

    完成后,验证仓库是否已添加:

    sudo dnf repolist
    

    应能看到 epelremi 仓库出现在列表中。

  2. 重置默认 PHP 模块,并启用 Remi 提供的 PHP 7.4 模块:

    sudo dnf module reset php
    sudo dnf module enable php:remi-7.4
    

    输入 y 确认操作。

  3. 安装 PHP 及 WordPress 所需的扩展:

    sudo dnf install php php-common php-mysqlnd php-gd php-imagick php-bcmath
    

    安装完成后,继续下一步。


4. 安装并配置 MariaDB 服务器

接下来安装 MariaDB 数据库服务器,进行安全加固,并为 WordPress 创建数据库和用户。

  1. 安装 MariaDB:

    sudo dnf install mariadb mariadb-server
    
  2. 启用并启动 MariaDB 服务:

    sudo systemctl enable mariadb
    sudo systemctl start mariadb
    
  3. 验证服务状态:

    sudo systemctl status mariadb
    
  4. 运行安全配置脚本:

    mysql_secure_installation
    

    按提示操作:

    • 设置 root 密码(建议使用强密码)
    • 移除匿名用户(输入 Y
    • 禁止 root 远程登录(输入 Y
    • 删除测试数据库(输入 Y
    • 重新加载权限表(输入 Y

    完成后,MariaDB 就已安全配置完毕。


5. 为 WordPress 创建数据库和用户

  1. 登录 MariaDB:

    mysql -u root -p
    
  2. 创建名为 wordpress_db 的数据库:

    CREATE DATABASE wordpress_db;
    
  3. 创建数据库用户 wpuser(将 strongpassword 替换为你的强密码):

    CREATE USER wpuser@localhost IDENTIFIED BY 'strongpassword';
    
  4. 授予该用户对 wordpress_db 的全部权限:

    GRANT ALL PRIVILEGES ON wordpress_db.* TO wpuser@localhost;
    
  5. 刷新权限并退出:

    FLUSH PRIVILEGES;
    quit
    

6. 下载 WordPress

  1. 进入 /var/www 目录并下载最新版 WordPress:

    cd /var/www/
    wget https://wordpress.org/latest.tar.gz
    
  2. 解压并设置权限:

    tar -xzvf latest.tar.gz
    sudo chown -R apache:apache wordpress/
    

7. 配置 WordPress

  1. 进入 WordPress 目录:

    cd /var/www/wordpress/
    
  2. 复制配置文件并编辑:

    cp wp-config-sample.php wp-config.php
    nano wp-config.php
    
  3. 修改数据库连接信息(替换为你自己的信息):

    define('DB_NAME', 'wordpress_db');
    define('DB_USER', 'wpuser');
    define('DB_PASSWORD', 'strongpassword');
    define('DB_HOST', 'localhost');
    
  4. 生成安全密钥(访问 https://api.wordpress.org/secret-key/1.1/salt/),将返回的内容粘贴到 wp-config.php 中对应位置,替换原有的示例密钥。

    保存并退出(Ctrl+XY → 回车)。


8. 在 Rocky Linux 上启用 httpd 的 mod_ssl 模块

为支持 HTTPS,需启用 Apache 的 SSL 模块。

  1. 安装 mod_ssl 和 HTTP/2 支持:

    sudo dnf install mod_ssl mod_http2
    
  2. 生成本地测试用的自签名证书(仅用于测试,不影响正式域名):

    openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt
    

    所有提示直接按回车跳过即可。

  3. 验证 SSL 模块是否已加载:

    apachectl -M | grep ssl
    

    若输出包含 ssl_module,说明已启用。


9. 在 Rocky Linux 上生成 Let’s Encrypt SSL 证书

我们将使用 Certbot 工具通过 Webroot 插件申请免费的 Let’s Encrypt 证书。

  1. 安装 Certbot:

    sudo dnf install certbot
    
  2. 创建 ACME 挑战目录并设置权限:

    sudo mkdir -p /var/lib/letsencrypt/.well-known
    sudo chgrp apache /var/lib/letsencrypt
    sudo chmod g+s /var/lib/letsencrypt
    
  3. 创建 Apache 配置文件以允许 Let’s Encrypt 验证:

    cd /etc/httpd/conf.d/
    nano well-known.conf
    

    添加以下内容:

    Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
    <Directory "/var/lib/letsencrypt/">
        AllowOverride None
        Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
        Require method GET POST OPTIONS
    </Directory>
    

    保存并退出。

  4. 检查配置并重启 Apache:

    apachectl configtest
    sudo systemctl restart httpd
    
  5. 申请 Let’s Encrypt 证书(请将 your-email@example.comdomain.com 替换为你的真实信息):

    sudo certbot certonly --agree-tos --email your-email@example.com --webroot -w /var/lib/letsencrypt/ -d domain.com -d www.domain.com
    

    成功后,证书将保存在 /etc/letsencrypt/live/domain.com/ 目录下。


10. 为 WordPress 设置虚拟主机

  1. 创建 Apache 虚拟主机配置文件:

    cd /etc/httpd/conf.d/
    nano wordpress.conf
    
  2. 粘贴以下配置(记得替换 domain.com 和证书路径):

    # HTTP 重定向到 HTTPS
    <VirtualHost *:80>
        ServerName domain.com
        ServerAlias www.domain.com
        Redirect permanent / https://domain.com/
    </VirtualHost>
    
    # HTTPS 配置
    <VirtualHost *:443>
        ServerName domain.com
        ServerAlias www.domain.com
        DocumentRoot /var/www/wordpress
        Protocols h2 http/1.1
    
        # 强制非 www 跳转到 www(或反之)
        <If "%{HTTP_HOST} == 'www.domain.com'">
            Redirect permanent / https://domain.com/
        </If>
    
        ErrorLog /var/log/httpd/domain.com-error.log
        CustomLog /var/log/httpd/domain.com-access.log combined
    
        SSLEngine On
        SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem
    
        SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
        SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
        SSLCompression off
    
        <Directory /var/www/wordpress/>
            Options FollowSymlinks
            AllowOverride All
            Require all granted
        </Directory>
    
        <Directory /var/www/wordpress/>
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*) index.php [PT,L]
        </Directory>
    </VirtualHost>
    

    保存并退出。

  3. 检查配置并重启 Apache:

    sudo apachectl configtest
    sudo systemctl restart httpd
    

11. 安装 WordPress

现在可以通过浏览器完成 WordPress 的最终安装。

  1. 打开浏览器,访问你的域名:

    http://domain.com
    

    系统会自动跳转到 HTTPS 页面。

  2. 选择安装语言(默认为英文),点击“继续”。

  3. 填写:

    • 网站标题
    • 管理员用户名
    • 密码
    • 电子邮箱

    点击“安装 WordPress”。

  4. 安装成功后,点击“登录”进入后台。

  5. 输入刚才设置的用户名和密码登录。

  6. 登录后即可看到 WordPress 仪表盘,可管理文章、页面、主题、插件等。

  7. 如需安装插件,点击左侧菜单“插件” → “安装插件”,搜索并安装所需插件,然后激活即可。


12. 结论

恭喜!你已成功在 Rocky Linux 服务器上通过 LAMP 栈 安装了 WordPress,并配置了免费的 Let’s Encrypt SSL 证书

本教程涵盖以下内容:

  • 安装 LAMP 栈(Linux, Apache, MariaDB, PHP)
  • 安全加固 MariaDB
  • 创建 WordPress 专用数据库和用户
  • 配置 Apache 支持 Certbot Webroot 验证
  • 申请并部署 Let’s Encrypt SSL 证书
  • 通过浏览器完成 WordPress 安装

下一步,你可以购买或安装喜欢的主题,进一步定制你的网站!


本文翻译自:How to Install WordPress with LAMP and free Let’s Encrypt SSL on Rocky Linux

未经允许不得转载:海淘实验室 » 在 Rocky Linux 上使用 LAMP 和免费的 Let’s Encrypt SSL 安装 WordPress

赞 (0)

评论 0