前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在CentOS上用Caddy安装WordPress

在CentOS上用Caddy安装WordPress

原创
作者头像
独钓寒江雪_Ly
发布2018-07-30 10:10:25
4.8K1
发布2018-07-30 10:10:25
举报
文章被收录于专栏:云计算教程系列

介绍

WordPress是一个以PHPMySQL为平台的自由开源的博客软件和内容管理系统。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使用wgetcurl下载文件来查看脚本。

在安装过程中,脚本将用于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二进制文件是否已到位。

代码语言:javascript
复制
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配置文件。

代码语言:javascript
复制
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

代码语言:javascript
复制
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根目录。

代码语言:javascript
复制
cd /var/www

下载最新的WordPress版本。建议您使用最新版,因为软件经常使用安全补丁进行更新。

代码语言:javascript
复制
sudo curl -O https://wordpress.org/latest.tar.gz

提取解压刚下载的压缩存档。

代码语言:javascript
复制
sudo tar zxf latest.tar.gz

这将自动创建一个名为wordpress的新目录。我们删除掉旧的压缩包

代码语言:javascript
复制
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或您最喜欢的文本编辑器打开配置文件

代码语言:javascript
复制
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》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 准备
  • 第一步、安装Caddy
  • 第二步、安装PHP
  • 第三步 - 创建MySQL数据库和专用用户
  • 第四步、下载WordPress
  • 第四步 - 配置Caddy为WordPress网站提供服务
  • 第五步 - 配置WordPress
  • 结论
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档