如何在CentOS7上使用Caddy安装WordPress

来自菜鸟教程
跳转至:导航、​搜索

介绍

WordPress 是一个流行的内容管理系统 (CMS)。 它可用于快速轻松地设置博客和网站,并且几乎所有的管理都可以通过 Web 界面进行。

在大多数情况下,WordPress 是使用 LAMP 或 LEMP 堆栈安装的(即 使用 Apache 或 Nginx 作为 Web 服务器)。 在本指南中,我们将使用 Caddy 来设置 WordPress。 Caddy 是一种新的 Web 服务器,因其广泛的独特功能而迅速普及,例如 HTTP/2 支持和使用流行的免费证书提供商 Let's Encrypt 的自动 TLS 加密。

在本教程中,您将安装和配置由 Caddy 支持的 WordPress。

先决条件

要遵循本教程,您将需要:

第 1 步 — 安装 PHP

为了运行 WordPress,您需要一个 Web 服务器、一个 MySQL 数据库和 PHP 脚本语言。 您已经根据先决条件安装了 Caddy 网络服务器和 MySQL 数据库,因此最后一个要求是安装 PHP。

首先,确保您的软件包是最新的。

sudo yum update

安装 PHP 和 PHP 扩展 WordPress 依赖,例如支持 MySQL、curl、XML 和多字节字符串。

sudo yum install php php-fpm php-mysql php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc

安装完成后,您可以通过检查 PHP 的版本来验证 PHP 是否已正确安装。

php -v

您将看到与此类似的输出,其中显示 PHP 的版本号。

PHP version outputPHP 5.4.16 (cli) (built: Nov  6 2016 00:29:02)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

在我们继续之前,我们必须稍微修改 PHP 服务的配置文件,使其使用我们的非特权 caddy 用户来运行服务器。 CentOS 上的默认配置假定 Apache 是首选服务器。

使用 vi 或您喜欢的文本编辑器打开 PHP-FPM 配置文件。 如果您不熟悉 vi,这里有一个 的简短介绍。

sudo vi /etc/php-fpm.d/www.conf

找到指定用户帐户和组的片段。

/etc/php-fpm.d/www.conf

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = apache
; RPM: Keep a group allowed to write in log dir.
group = apache

将这两个值更改为 caddy,如下所示:

/etc/php-fpm.d/www.conf

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = caddy
; RPM: Keep a group allowed to write in log dir.
group = caddy

保存并关闭文件以退出。 为了让 Caddy 能够与 PHP 通信,请启动 PHP 服务。

sudo systemctl start php-fpm

安装了所有 WordPress 的依赖项,所以接下来,我们将配置一个 MySQL 数据库供 WordPress 使用。

第 2 步 — 创建 MySQL 数据库和专用用户

WordPress 使用 MySQL 数据库来存储其所有信息。 在默认的 MySQL 安装中,仅创建一个 root 管理帐户。 不应使用此帐户,因为其对数据库服务器的无限权限存在安全风险。 在这里,我们将创建一个专用的 MySQL 用户供 WordPress 使用,以及一个允许新用户访问的数据库。

首先,登录 MySQL root 管理帐户。

mysql -u root -p

在安装过程中,系统会提示您输入为 MySQL root 帐户设置的密码。

创建一个名为 wordpress 的新数据库,它将用于 WordPress 网站。 您可以使用不同的名称,但请确保您记住它以便以后进行其他配置。

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

接下来,创建一个允许访问该数据库的新用户。 在这里,为了简单起见,我们使用用户名 wordpressuser,但您可以选择自己的名称。 请记住将 password 替换为强大且安全的密码。

GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';

注意: 记住默认密码策略需要12个字符,至少1个大写字母、1个小写字母、1个数字和1个特殊字符。 如果您忘记遵循该策略,上述命令将不会创建用户,而是显示错误消息。


刷新权限以通知 MySQL 服务器更改。

FLUSH PRIVILEGES;

您现在可以安全地退出 MySQL。

EXIT;

WordPress 有一个专用的数据库和用户帐户,因此所有系统组件都已设置好。 下一步是安装 WordPress 本身。

第 3 步 — 下载 WordPress

安装 WordPress 包括将最新版本下载到 Web 根目录并确保 Web 服务器可以访问它,然后通过 WordPress 的图形界面完成安装。 在这一步中,我们将只下载版本,因为我们需要先配置 Web 服务器,然后才能访问 GUI。

首先,将当前目录更改为 /var/www,即存储您网站文件的 Web 根目录。

cd /var/www

下载最新的压缩 WordPress 版本。 使用最新版本很重要,因为该软件经常使用安全补丁进行更新。

sudo curl -O https://wordpress.org/latest.tar.gz

解压刚刚下载的压缩包。

sudo tar zxf latest.tar.gz

这将自动创建一个名为 wordpress 的新目录。 您现在可以安全地删除下载的存档,因为它不再需要。

sudo rm latest.tar.gz

最后一步是更改 WordPress 文件和目录的权限,使所有文件都可以被 Caddy 写入。 这将允许 WordPress 自动更新到较新的版本。

sudo chown -R caddy:caddy wordpress

注意: 为 WordPress 文件选择正确的权限是一个偏好和管理实践的问题。 禁止对 WordPress 文件的写访问可以提高安全性,因为它无法利用一些可能导致 WordPress 核心文件受损的错误,但同时,它会导致禁用自动安全更新以及通过 WordPress 安装和更新插件的能力网页界面。


接下来,您需要修改 Web 服务器的配置以服务您的网站。

第 4 步 — 配置 Caddy 以服务于 WordPress 网站

在这里,我们将修改 Caddyfile 配置文件,告诉 Caddy 我们的 WordPress 安装在哪里,以及它应该在哪个域名下发布给访问者。

使用 vi 或您喜欢的文本编辑器打开配置文件

sudo vi /etc/caddy/Caddyfile

将以下配置复制并粘贴到文件中。 您可以从以前的教程中删除任何示例配置。

/etc/caddy/Caddy 文件

example.com {
    tls admin@example.com
    root /var/www/wordpress
    gzip
    fastcgi / 127.0.0.1:9000 php
    rewrite {
        if {path} not_match ^\/wp-admin
        to {path} {path}/ /index.php?_url={uri}
    }
}

这个 Caddyfile 的结构如下:

  • 第一行中的 example.com 是网站可用的域名。 将其替换为您自己的域名。
  • tls 指令后面的 admin@example.com 告诉 Caddy 它应该用来请求 Let's Encrypt 证书的电子邮件地址。 如果您需要恢复证书,Let's Encrypt 将在恢复过程中使用此电子邮件地址。
  • root 指令告诉 Caddy 网站文件的位置。 在此示例中,它是 /var/www/wordpress
  • gzip 指令告诉 Caddy 使用 Gzip 压缩来使网站更快。
  • fastcgi 指令配置 PHP 处理程序以支持具有 php 扩展名的文件
  • 使用 rewrite 指令可以启用漂亮的 URL(在 WordPress 中称为漂亮的永久链接)。 如果您使用 Apache,此配置由 WordPress 在 .htaccess 文件中自动提供,但需要为 Caddy 单独配置。

相应地更改配置文件后,保存文件并退出。

重新启动 Caddy 以使新的配置文件设置生效。

sudo systemctl restart caddy

当 Caddy 启动时,它将自动从 Let's Encrypt 获取 SSL 证书,以使用 TLS 加密安全地为您的站点提供服务。 您现在可以通过使用 Web 浏览器导航到您的域来访问您的 Caddy 托管的 WordPress 网站。 当您这样做时,您会注意到地址栏中的绿色锁定标志,这意味着该站点正在通过安全连接显示。

您现在已经安装并配置了 Caddy 以及托管 WordPress 网站所需的所有软件。 最后一步是使用其图形界面完成 WordPress 的配置。

第 5 步 — 配置 WordPress

WordPress 有一个 GUI 安装向导来完成其设置,包括连接到数据库和设置您的第一个网站。

当您第一次在浏览器中访问新的 WordPress 实例时,您会看到一个语言列表。 选择您要使用的语言。 在下一个屏幕上,它描述了它需要的有关您的数据库的信息。 点击Let's go!,下一页会询问数据库连接详情。 请按如下方式填写此表格:

  • Database Name 应该是 wordpress,除非您在步骤 2 中自定义了它。
  • Username 应该是 wordpressuser,除非您在步骤 2 中自定义了它。
  • Password 应该是您在步骤 2 中为 wordpressuser 设置的密码。
  • Database HostTable Prefix 应该保留它们的默认值。

当您点击 Submit 时,WordPress 将检查提供的详细信息是否正确。 如果您收到错误消息,请仔细检查您输入的数据库详细信息是否正确。

一旦 WordPress 成功连接到您的数据库,您将看到一条以好吧,闪闪发光! 您已经完成了安装的这一部分。 WordPress 现在可以与您的数据库进行通信。

现在您可以单击运行安装开始安装。 片刻之后,WordPress 将显示一个最终屏幕,询问您的网站详细信息,例如网站标题、管理员帐户用户名、密码和电子邮件地址。 强密码将为您自动生成,但您可以根据需要选择自己的密码。

注意: 管理帐户不要使用像 admin 这样的通用用户名,这是一种很好的安全做法,因为许多安全漏洞都依赖于标准用户名和密码。 为您的主帐户选择一个唯一的用户名和一个强密码,以帮助确保您的网站安全。


点击 Install WordPress 后,您将被定向到 WordPress 仪表板。 您现在已经完成了 WordPress 的安装,您可以自由地使用 WordPress 来自定义您的网站并撰写文章和页面。

结论

现在,您已经使用 Caddy Web 服务器提供了一个有效的 WordPress 安装。 Caddy 将自动从 Let's Encrypt 获取 SSL 证书,通过安全连接为您的网站提供服务,并使用 HTTP/2 和 Gzip 压缩来更快地为网站提供服务。 您可以在 官方 Caddy 文档 中阅读更多关于 Caddyfile 的 Caddy 独特功能和配置指令。

如果您想在新的 WordPress 实例中使用插件,请注意某些插件依赖于 Apache Web 服务器的 .htaccess 文件。 Apache 以外的 Web 服务器已经在 WordPress 中变得很常见,因此这些 .htaccess 依赖的插件并不多。 但是,确实存在的少数无法与 Caddy 一起使用,因为它不使用 .htaccess。 如果您在使用 Caddy 时遇到 WordPress 插件问题,请记住这一点。

大多数依赖 .htaccess 的插件都是缓存插件(例如,W3 Total Cache),它们使用 .htaccess 来完全绕过 PHP 进行处理。 另一个例子是 Wordfence,它是一个 Web 应用防火墙模块,默认使用 .htaccess,但它正确支持不同的配置模型。