介绍
WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。Alexa排行前100万的网站中有超过16.7%的网站使用WordPress。到了2011年8月,约22%的新网站采用了WordPress。WordPress是目前因特网上最流行的博客系统。
在大多数情况下,使用LAMP或LEMP(即Apache和Nginx)来安装WordPress。在本教程中,我们将使用Caddy来安装WordPress。Caddy是一个新的的网络服务器,因其广泛的独特功能而迅速普及,例如支持HTTP/2和自动TLS加密。
在本教程中,您将安装和配置Caddy支持的WordPress。
准备
要学习本教程,您需要:
- 一个CentOS 7服务器,没有服务器的同学可以在这个页面购买。我建议您使用腾讯云免费的开发者实验室进行试验。
- 一个MySQL服务器,建议您使用稳定的云数据库进行搭建。
第一步、安装Caddy
Caddy项目提供了一个安装脚本,用于安装Caddy服务器文件。要执行请输入:
代码语言:javascript复制curl -s https://getcaddy.com | bash
您可以通过访问https://getcaddy.com
使用wget
或curl
下载文件来查看脚本。
在安装过程中,脚本将用于sudo
获取管理权限,以便将Caddy文件放在系统范围的目录中,因此它可能会提示您输入密码。
命令输出如下所示:
代码语言:javascript复制Downloading Caddy for linux/amd64...
https://caddyserver.com/download/linux/amd64?plugins=
Extracting...
Putting caddy in /usr/local/bin (may require password)
[sudo] password for sammy:
Caddy 0.10.2
Successfully installed
脚本完成后,Caddy文件将安装在服务器上并准备使用。您可以使用which
检查其位置来验证Caddy二进制文件是否已到位。
which caddy
命令输出将说明可以找到Caddy二进制文件/usr/local/bin/caddy
。
第二步、安装PHP
要运行WordPress,您需要Web服务器,MySQL数据库和PHP脚本语言。因此最后一个要求是安装PHP。
首先,确保您的包是最新的。
代码语言:javascript复制sudo yum update
安装PHP和WordPress所依赖的PHP扩展,如支持MySQL curl,XML和多字节字符串。
代码语言:javascript复制sudo yum install php php-fpm php-mysql php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc
安装完成后,您可以通过检查PHP的版本来验证PHP是否已正确安装。
代码语言:javascript复制php -v
您将看到类似于此的输出,它显示PHP的版本号。
代码语言:javascript复制PHP 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
配置文件。
sudo vi /etc/php-fpm.d/www.conf
找到指定用户帐户的片段。
代码语言:javascript复制; 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,如下所示:
代码语言:javascript复制; 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服务。
代码语言:javascript复制sudo systemctl start php-fpm
安装所有WordPress的依赖项,接下来,我们将为WordPress配置MySQL数据库以供使用。
第三步 - 创建MySQL数据库和专用用户
WordPress使用MySQL数据库来存储其所有信息。在默认的MySQL安装中,仅创建root管理帐户。不应使用此帐户,因为它对数据库服务器存在安全风险。在这里,我们将为WordPress创建一个专用的MySQL用户,以允许新用户访问的数据库。
首先,登录MySQL root管理帐户。
代码语言:javascript复制mysql -u root -p
在安装过程中,系统将提示您输入MySQL root帐户的密码。创建一个名为wordpress的新数据库,将用于WordPress网站。您可以使用其他名称,但请确保在以后进行其他配置时记住该名称。
代码语言:javascript复制CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
接下来,创建一个允许访问此数据库的新用户。在这里,我们使用用户名wordpressuser
来简化,但您可以选择自己的名称。请用安全的密码替换password
。
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
注意:默认密码策略需要12个字符,至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符。如果您忘记遵循该策略,则上述命令不会创建用户,而是显示错误消息。
刷新权限以通知MySQL服务器更改。
代码语言:javascript复制FLUSH PRIVILEGES;
您现在可以退出MySQL。
代码语言:javascript复制EXIT;
WordPress有一个专用的数据库和用户帐户,因此所有系统组件都已设置完毕。下一步是安装WordPress本身。
第四步、下载WordPress
将最新的WordPress下载到Web根目录并确保Web服务器可以访问它,然后通过WordPress的浏览器的GUI(图形界面)完成安装。在这一步中,我们只下载该版本,因为我们需要在访问GUI(图形界面)之前配置Web服务器。
首先,将当前目录更改为/var/www
,即存储网站文件的Web根目录。
cd /var/www
下载最新的WordPress版本。建议您使用最新版,因为软件经常使用安全补丁进行更新。
代码语言:javascript复制sudo curl -O https://wordpress.org/latest.tar.gz
提取解压刚下载的压缩存档。
代码语言:javascript复制sudo tar zxf latest.tar.gz
这将自动创建一个名为wordpress
的新目录。我们删除掉旧的压缩包
sudo rm latest.tar.gz
最后一步是更改WordPress文件和目录的权限,以便所有文件都可由Caddy写入。允许WordPress自动更新到更新的版本。
代码语言:javascript复制sudo chown -R caddy:caddy wordpress
注意:禁止对WordPress文件进行写访问可以提高安全性,通过使它无法利用可能导致WordPress核心文件泄露的一些错误,但同时,它会导致禁用自动安全更新以及通过WordPress Web界面安装和更新插件的功能。
接下来,您需要修改Web服务器的配置以服务您的网站。
第四步 - 配置Caddy为WordPress网站提供服务
我们将修改Caddyfile
配置文件,告诉Caddy我们的WordPress安装位于何处以及应该用哪个域名来执行。
使用vi
或您最喜欢的文本编辑器打开配置文件
sudo vi /etc/caddy/Caddyfile
将以下配置复制并粘贴到文件中。您可以从以前的教程中删除任何示例配置。
代码语言:javascript复制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
是站点可用的域名。 将其替换为您自己的域名。 root
指令告诉Caddy网站文件的位置。在这个例子中,它是/var/www/wordpress
。gzip
指令告诉Caddy使用Gzip压缩来加快网站速度。fastcgi
指令配置PHP处理程序以支持具有php
扩展名的文件- 使用
rewrite
指令启用URL(在WordPress中称为非常永久链接)。如果您使用Apache,则此配置由.htaccess
文件中的WordPress自动提供,但需要单独为Caddy配置。
相应地更改配置文件后,保存文件并退出。
重新启动Caddy以使新配置文件设置生效。
代码语言:javascript复制sudo systemctl restart caddy
您现在已经安装并配置了Caddy和所有必需的软件来托管WordPress网站。最后一步是使用其GUI(图形界面)完成WordPress的配置。
第五步 - 配置WordPress
WordPress有一个GUI(图形界面)安装向导来完成其设置,包括连接到数据库和设置您的第一个网站。
当您第一次在浏览器中访问新的WordPress实例时,您将看到一个语言列表。选择您要使用的语言。在下一个屏幕上,它描述了它所需的有关数据库的信息。点击Let's go!,,下一页将询问数据库连接详细信息。填写以下表格:
- 数据库名称应该是wordpress,除非您在步骤三中对其进行了自定义。
- 用户名应为wordpressuser,除非您在步骤三中对其进行了自定义。
- 密码应该是您在步骤三中为wordpressuser设置的密码。
- 数据库主机应该是您在腾讯云申请的数据库的地址
- 表前缀保留其默认值。
单击“提交”时,WordPress将检查提供的详细信息是否正确。如果收到错误消息,请仔细检查您是否正确输入了数据库详细信息。
一旦WordPress成功连接到您的数据库,您将看到一条以All right, sparky! You've made it through this part of the installation. WordPress can now communicate with your database.(你完成了这部分安装。WordPress现在可以与您的数据库进行通信。)开头的消息
现在,您可以单击“运行安装”以开始安装。接下来,WordPress将向您显示一个页面,询问您的网站详细信息,例如网站标题,管理员帐户用户名,密码和电子邮件地址。默认是自动生成随机密码,但如果您愿意,可以选择自己的密码。
注意:对于管理帐户,不推荐使用Admin等常用用户名,因为许多安全漏洞依赖于标准用户名和密码。为您的主帐户选择唯一的用户名和强密码,以确保您的网站安全。
单击安装WordPress后,您将被定向到WordPress仪表板。您现在已完成WordPress安装,您可以自由使用WordPress自定义您的网站并撰写帖子和页面。
结论
您已经学会使用Caddy Web服务器来安装WordPress。Caddy将自动使用HTTP /2和Gzip压缩更快地为网站提供服务。您可以在官方Caddy文档中阅读有关Caddy的Caddyfile
的独特功能和配置指令的更多信息。
如果你想在新的WordPress实例中使用插件,请注意一些插件依赖于Apache Web服务器的.htaccess
文件。依赖于.htaccess的插件中并不多。但是,确实存在的少数几个不能与Caddy一起使用的,因为它不使用.htaccess
。大多数依赖.htaccess的插件都是缓存插件(例如,W3 Total Cache),它们使用.htaccess
完全绕过PHP进行处理。遇到这类插件,请使用同类插件进行替换即可。想学习更多知识?请前往腾讯云 社区进行学习。
参考文献:《How to Install WordPress with Caddy on CentOS 7》