Ubuntu 16.04 上的 WordPress 与 Caddy
介绍
WordPress 是一个基于 PHP 和 MySQL 的著名内容管理系统,根据 GNU GPLv2(或更高版本)的条款分发。在大多数情况下,它是通过使用 Apache 或 NGINX 作为 Web 服务器来安装的,或者,正如我们在本教程中所解释的,它可以在隔离的环境(如 Docker 容器)上运行。
除了这些选择之外,还有一个正在迅速流行的新 Web 服务器:Caddy。
Caddy(或 Caddy Web 服务器)是一个开源 HTTP/2 Web 服务器,默认启用 HTTPS,无需外部配置。 Caddy 还与 Let’s Encrypt 有着强大的集成。
本教程介绍了如何在 Caddy Web 服务器上安装和配置 WordPress,并按照我们的指南进行安装。
安装PHP
正如我们在简介中所说,WordPress 需要 Web 服务器、MySQL 和 PHP。首先,通过执行以下命令安装 PHP 和 WordPress 所需的扩展:
apt-get install php7.0-fpm php7.0-mysql php7.0-curl php7.0-gd php7.0-mbstring php7.0-mcrypt php7.0-xml php7.0-xmlrpc
通过检查 PHP 版本来验证 PHP 是否已正确安装:
php -v
安装和配置 MariaDB
MariaDB 也可以在存储库中使用,因此只需使用 apt:
apt-get install mariadb-client mariadb-server
MariaDB 是 MySQL 的一个分支,它使用它的名称来表示 systemd 服务:
systemctl start mysql
设置 MariaDB root 密码以保护您的数据库:
mysql_secure_installation
系统将要求您提供以下配置参数:
Enter current password for root (enter for none): PRESS ENTER
Set root password? [Y/n] Y
ENTER YOUR PASSWORD
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
该步骤完成后,您可以使用密码访问 MariaDB 数据库:
mysql -u root -p
创建新数据库和用户
启动 MariaDB shell:
mysql -u root -p
使用 MariaDB 提示为 WordPress 创建新数据库。在本教程中,我们使用 wordpressdb 作为数据库名称,使用 wordpressusr 作为 WP 安装的用户名。所以我们的代码如下所示:
mysql> CREATE DATABASE wordpressdb
DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
接下来,您可以刷新权限并退出:
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
安装 WordPress
下载和安装 WordPress 的过程非常简单,只需要执行以下命令:
cd /var/www
wget wordpress.org/latest.zip
unzip latest.zip
更改 WordPress 权限:
chown -R www-data:www-data wordpress
重命名 WordPress 配置文件并编辑它:
cd wordpress
mv wp-config-sample.php wp-config.php
$EDITOR wp-config.php
在这里,使用在 MariaDB 配置过程中指定的信息更改数据库信息:
DB_NAME = wordpressdb
DB_USER = wordpressusr
DB_PASSWORD = usr_strong_password
配置 Caddy 并启动 WordPress 安装向导
本教程假设您已经安装了 Caddy Web 服务器。编辑其配置文件:
$EDITOR /etc/caddy/Caddyfile
在此文件中,粘贴以下内容:
<span class="highlight">example.com</span> {
tls <strong><span class="highlight">[email </span></strong>
root /var/www/wordpress
gzip
fastcgi / /run/php/php7.0-fpm.sock php
rewrite {
if {path} not_match ^\/wp-admin
to {path} {path}/ /index.php?_url={uri}
}
}
注意:
[email
是将用于 Let's Encrypt 证书请求的电子邮件地址。
重新启动球童:
systemctl restart caddy
最后一步,使用网络浏览器访问您的网站。这将启动 WordPress GUI 安装向导,该向导将完成安装过程并允许您访问 WordPress 仪表板。
结论
在前面的步骤结束时,一个新的 WordPress 实例将在这个新的、小型且强大的 Web 服务器上运行。 Caddy 将需要 Let’s Encrypt 的证书并自动启用 HTTPS 连接,无需任何其他手动配置。