如何在Ubuntu18.04上使用OpenLiteSpeed安装WordPress
介绍
WordPress是一个开源的内容管理系统(CMS)。 作为世界上最受欢迎的 CMS,WordPress 允许您在 MySQL 数据库后端之上设置博客和网站,使用 PHP 执行脚本和处理动态内容。
OpenLiteSpeed 是一个优化的开源 Web 服务器,可用于管理和服务网站。 OpenLiteSpeed 具有一些有用的功能,使其成为许多安装的可靠选择:与 Apache 兼容的重写规则、内置的基于 Web 的管理界面以及针对服务器优化的定制 PHP 处理。
本指南将介绍使用 OpenLiteSpeed Web 服务器在 Ubuntu 18.04 上安装和设置 WordPress 实例的过程。 因为 WordPress 和 OpenLiteSpeed 都可以通过 Web 浏览器进行管理,所以此配置非常适合那些无法定期访问 SSH 会话或不习惯通过命令行管理 Web 服务器的人。
先决条件
在开始本指南之前,您将需要以下内容:
- 一台运行 Ubuntu 18.04 的服务器,具有管理、非 root 用户和使用
ufw
配置的防火墙。 要设置此环境,请按照我们的 Initial Server Setup for Ubuntu 18.04 教程进行操作。 - OpenLiteSpeed 安装在您的服务器上。 有关安装和配置 OpenLiteSpeed 的说明,请参阅我们关于 如何在 Ubuntu 18.04 上安装 OpenLiteSpeed Web 服务器的指南。
- MySQL 安装在您的服务器上。 按照我们的 如何在 Ubuntu 18.04 上安装 MySQL 教程进行设置。
第 1 步 — 为 WordPress 创建数据库和数据库用户
WordPress 使用 MySQL 来管理和存储站点和用户信息。 您已经安装了 MySQL,但作为准备步骤,您需要创建一个数据库和一个用户供 WordPress 使用。
首先,使用 SSH 连接到您的服务器:
ssh sammy@your_server_IP
然后登录root MySQL账号:
sudo mysql
注意: 如果您完成了 MySQL 必备教程中的 Step 3 并配置了您的 root MySQL 用户以使用 mysql_native_password
插件进行身份验证,您'将需要使用以下命令登录:
mysql -u root -p
然后在出现提示时输入您的 root 用户密码。
在 MySQL 提示符下,使用以下命令创建数据库。 在这里,为了简单起见,我们将此数据库命名为 wordpress
,但您可以随意命名:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
然后,创建一个用户并授予它对刚刚创建的数据库的权限。 同样,您可以给该用户起任何名称,但为简单起见,我们将其命名为 wordpressuser
。 此外,请务必将 password
更改为您自己选择的强密码:
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
然后,运行 FLUSH PRIVILEGES
告诉服务器重新加载授权表并使您的新更改生效:
FLUSH PRIVILEGES;
之后,您可以关闭 MySQL 提示符:
exit
您已完成设置 MySQL 安装以使用 WordPress。 接下来,我们将安装一些 PHP 扩展。
第 2 步 — 安装额外的 PHP 扩展
在先决条件 OpenLiteSpeed 教程中,您安装了 lsphp73
包。 这是针对 OpenLiteSpeed 优化的 PHP 编译,它使用 LiteSpeed SAPI 与外部应用程序通信。 根据您的需要,WordPress 可能需要其他某些 PHP 扩展才能按需要运行。
要安装 WordPress 常用的一些 PHP 扩展,请运行以下命令:
sudo apt install lsphp73-common lsphp73-curl lsphp73-imagick lsphp73-imap lsphp73-json lsphp73-memcached lsphp73-mysql lsphp73-opcache lsphp73-redis
注意: 此命令中的包可能无法涵盖所有用例。 有关您在先决条件教程中添加到服务器的 LiteSpeed 存储库中可用的 PHP 7.3 扩展的完整列表,请参阅 LiteSpeed Wiki。
在此之后,您可以继续在您的服务器上下载和设置 WordPress。
第 3 步 — 下载 WordPress
现在您的服务器软件已配置完毕,您可以安装和设置 WordPress。 特别是出于安全原因,始终建议您直接从他们的网站获取最新版本的 WordPress。
更改为可写目录,然后通过键入以下内容下载压缩版本:
cd /tmp curl -O https://wordpress.org/latest.tar.gz
提取压缩文件以创建 WordPress 目录结构:
tar xzvf latest.tar.gz
我们将暂时将这些文件移动到我们的文档根目录中,但首先我们将创建一些 WordPress 安装将依赖的文件和目录。
OpenLiteSpeed 支持 .htaccess 文件。 这对我们的目的很重要,因为 WordPress 使用 .htaccess
文件来创建和管理永久链接。
添加一个虚拟的 .htaccess
文件,以便 WordPress 以后可以使用它:
touch /tmp/wordpress/.htaccess
接下来,将示例配置文件复制到 WordPress 实际读取的文件名:
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
此外,创建 upgrade
目录,以便 WordPress 在更新其软件后尝试自行执行此操作时不会遇到权限问题:
mkdir /tmp/wordpress/wp-content/upgrade
然后,将目录的全部内容复制到文档根目录中。 OpenLiteSpeed 带有一个名为 Example
的默认 虚拟主机 ,位于 /usr/local/lsws/
目录中。 Example
虚拟主机的文档根目录是 html
子目录:
sudo cp -a /tmp/wordpress/. /usr/local/lsws/Example/html/wordpress
请注意,此命令在源目录末尾包含一个点,表示应复制目录中的所有内容,包括隐藏文件(如您创建的 .htaccess
文件):
至此,您已成功将 WordPress 安装到您的 Web 服务器上并执行了一些初始配置步骤。 接下来,我们将进行一些进一步的配置更改,这些更改将为 WordPress 提供安全运行所需的权限,并访问您之前创建的 MySQL 数据库和用户帐户。
第 4 步 — 配置 WordPress 目录
在我们完成 WordPress 的基于 Web 的设置过程之前,我们需要调整 WordPress 目录中的一些项目。
首先将目录中所有文件的所有权授予 nobody 用户和 nogroup 组,OpenLiteSpeed Web 服务器默认运行该组。 以下 chown
命令将授予 OpenLiteSpeed 读取和写入 wordpress
目录中文件的能力,使其能够服务于网站并执行自动更新:
sudo chown -R nobody:nogroup /usr/local/lsws/Example/html/wordpress
接下来运行两个 find
命令来设置 WordPress 目录和文件的正确权限:
sudo find /usr/local/lsws/Example/html/wordpress/ -type d -exec chmod 750 {} \; sudo find /usr/local/lsws/Example/html/wordpress/ -type f -exec chmod 640 {} \;
这些应该是一个合理的权限设置,尽管一些插件和程序可能需要额外的调整。
在此之后,您需要对主 WordPress 配置文件进行一些更改。
当您打开文件时,您的第一个目标将是调整一些密钥以为您的安装提供一些安全性。 WordPress 为这些值提供了一个安全的生成器,因此您不必自己尝试提出好的值。 这些仅在内部使用,因此在这里使用复杂、安全的值不会损害可用性。
要从 WordPress 密钥生成器中获取安全值,请键入:
curl -s https://api.wordpress.org/secret-key/1.1/salt/
您将获得如下所示的唯一值:
警告! 每次都请求唯一值很重要。 NOT 复制下面显示的值!
Outputdefine('AUTH_KEY', '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H'); define('SECURE_AUTH_KEY', 'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3'); define('LOGGED_IN_KEY', 'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88'); define('NONCE_KEY', 'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g'); define('AUTH_SALT', 'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES 07VC*Lj*lD&?3w!BT#-'); define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY'); define('LOGGED_IN_SALT', 'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|'); define('NONCE_SALT', 'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');
这些是您将直接粘贴到配置文件中以设置安全密钥的配置行。 将收到的输出复制到剪贴板,然后打开位于文档根目录中的 WordPress 配置文件:
sudo nano /usr/local/lsws/Example/html/wordpress/wp-config.php
找到包含这些设置的虚拟值的部分。 它看起来像这样:
/var/www/wordpress/wp-config.php
. . . define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); define('AUTH_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT', 'put your unique phrase here'); define('NONCE_SALT', 'put your unique phrase here'); . . .
删除这些行并粘贴您从命令行复制的值:
/var/www/wordpress/wp-config.php
. . . define('AUTH_KEY', 'VALUES COPIED FROM THE COMMAND LINE'); define('SECURE_AUTH_KEY', 'VALUES COPIED FROM THE COMMAND LINE'); define('LOGGED_IN_KEY', 'VALUES COPIED FROM THE COMMAND LINE'); define('NONCE_KEY', 'VALUES COPIED FROM THE COMMAND LINE'); define('AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE'); define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE'); define('LOGGED_IN_SALT', 'VALUES COPIED FROM THE COMMAND LINE'); define('NONCE_SALT', 'VALUES COPIED FROM THE COMMAND LINE'); . . .
接下来,修改文件顶部的数据库连接设置。 您需要调整您在 MySQL 中配置的数据库名称、数据库用户和相关密码。
您必须进行的另一项更改是设置 WordPress 用于写入文件系统的方法。 由于我们已授予 Web 服务器写入所需位置的权限,因此我们可以将文件系统方法显式设置为 direct
。 未能使用我们当前的设置进行设置将导致 WordPress 在您执行某些操作时提示输入 FTP 凭据。
可以在数据库连接设置下方或文件中的任何其他位置添加此设置:
/var/www/wordpress/wp-config.php
. . . define('DB_NAME', 'wordpress'); /** MySQL database username */ define('DB_USER', 'wordpressuser'); /** MySQL database password */ define('DB_PASSWORD', 'password'); . . . define('FS_METHOD', 'direct');
完成后保存并关闭文件。
此时,您的系统上的 WordPress 尚未完全配置,因为您仍需要进行一些收尾工作,然后才能开始发布内容。 不过,为了做到这一点,您首先需要对 OpenLiteSpeed 安装进行一些配置更改。
第 6 步 — 配置 OpenLiteSpeed
目前,您已在 Ubuntu 服务器上安装了 WordPress,但尚未将您的 OpenLiteSpeed 安装配置为提供服务。 在此步骤中,我们将访问 OpenLiteSpeed 管理界面并对您的服务器配置进行一些更改。
在您首选的 Web 浏览器中,导航到 OpenLiteSpeed 管理界面。 您可以通过在浏览器的地址栏中输入服务器的公共 IP 地址或与之关联的域名,然后输入 :7080
来找到它:
https://server_domain_or_IP:7080
在那里,您将看到一个登录屏幕。 输入您在先决条件 OpenLiteSpeed 安装教程中定义的用户名和密码:
在 OpenLiteSpeed 控制台中,找到并单击左侧边栏菜单中的 Server Configuration。 然后导航到 External App 选项卡,找到 LiteSpeed SAPI App 所在的行,然后单击其 Edit 按钮:
回想一下,在先决条件 OpenLiteSpeed 教程中,您安装了 lsphp73
包,这是一个经过优化的 PHP 编译,可通过 LiteSpeed SAPI 与 OpenLiteSpeed 一起使用。 但是,External App页面中的默认设置指向lsphp
而不是lsphp73
。 因此,您的 OpenLiteSpeed 安装将无法正确执行 PHP 脚本。
要更正此问题,请将 Name 字段更改为 lsphp73
,将 Address 字段更改为 uds://tmp/lshttpd/lsphp73.sock
,然后将 Command字段读取 $SERVER_ROOT/lsphp73/bin/lsphp
:
进行这些更改后,单击 LiteSpeed SAPI App 框右上角的 Save 图标。
接下来,单击左侧菜单中的 Virtual Hosts。 在 Virtual Hosts 页面上,找到您打算使用的虚拟主机,然后单击其 View 图标。 在这里,我们将使用默认的 Example 虚拟主机:
导航到虚拟主机的 General 选项卡。 在那里,找到 General 部分,然后单击其 Edit 按钮:
OpenLiteSpeed 查看 Document Root 字段的内容以提供内容。 因为您的所有 WordPress 内容和文件都存储在您之前创建的 wordpress
目录中,请更新 Document Root 字段以指向该目录。 为此,您只需将 wordpress/
附加到默认值的末尾即可:
单击 Save 图标以保存此更改。
接下来,您需要启用 index.php
文件,以便它们可用于处理静态文件无法处理的请求。 这将允许 WordPress 的主要逻辑正常运行。
仍在 General 选项卡中时,向下滚动以找到 Index Files 部分,然后单击其 Edit 图标:
在 Index Files 字段中,在 index.html
之前加上 index.php,
。 通过将 index.php
放在 index.html
之前,您允许 PHP 索引文件优先。 更新此字段后,它将如下所示:
在继续之前,请务必单击 保存 图标。
接下来,导航到虚拟主机的 Rewrite 选项卡。 找到 Rewrite Control 部分并按下 Edit 按钮:
通过单击相应的单选按钮,将 Enable Rewrite 和 Auto Load from .htaccess 选项设置为 Yes
。 以这种方式配置重写指令将允许您在 WordPress 安装中使用永久链接:
进行这些更改后,单击 Save 图标。
OpenLiteSpeed 安装中包含的默认虚拟主机包括一些密码保护区域,以展示 OpenLiteSpeed 的用户身份验证功能。 WordPress 包含自己的身份验证机制,我们不会使用 OpenLiteSpeed 中包含的基于文件的身份验证。 我们应该摆脱这些,以尽量减少在我们的 WordPress 安装上活动的杂散配置片段。
首先,单击 Security 选项卡,然后单击 Realms List 表中 SampleProtectedArea 旁边的 Delete 按钮:
系统将要求您确认删除。 单击删除继续。
接下来,单击 上下文 选项卡。 在 Context List 中,删除与刚刚删除的安全领域关联的 /protected/
上下文:
同样,您必须通过单击 Delete 来确认删除。
您也可以使用相同的技术安全地删除任何或所有其他上下文,因为我们不需要它们。 我们专门删除了 /protected/
上下文,因为否则会由于删除其关联的安全领域(我们刚刚在 Security 选项卡中删除)而产生错误。
之后,按 OpenLiteSpeed 控制台右上角的绿色 Graceful Restart 图标。 这将重新启动 OpenLiteSpeed 服务器,使您所做的更改生效:
这样,您的 OpenLiteSpeed 服务器就完全配置好了。 您已准备好在浏览器中完成 WordPress 的设置。
第 7 步 — 通过 WordPress 界面完成安装
现在服务器配置完成,我们可以通过web界面完成安装。
在您的网络浏览器中,导航到您的服务器的域名或公共 IP 地址:
http://server_domain_or_IP
选择您要使用的语言:
接下来,您将进入主设置页面。 为您的 WordPress 站点选择一个名称并选择一个用户名(出于安全考虑,建议不要选择“admin”之类的名称)。 自动生成强密码。 保存此密码或选择其他强密码。
输入您的电子邮件地址并选择是否要阻止搜索引擎将您的网站编入索引:
准备就绪后,单击 安装 WordPress 按钮。 您将被带到一个提示您登录的页面:
登录后,您将被带到 WordPress 管理仪表板:
从仪表板中,您可以开始更改站点的主题和发布内容。
结论
通过完成本指南,您在运行 OpenLiteSpeed 的 Ubuntu 18.04 服务器上安装并配置了一个 WordPress 实例。 一些常见的后续步骤是为您的帖子选择永久链接设置(可以在 Settings > Permalinks 中找到)或选择一个新主题(在 Appearance > 主题)。 如果这是您第一次使用 WordPress,请稍微探索一下界面以熟悉您的新 CMS。
为了增强您的新 WordPress 站点的安全性,我们建议您将其配置为使用 SSL,以便它可以通过 HTTPS 提供内容。 从 OpenLiteSpeed 文档 中查看 本教程以安装 LetsEncrypt 并进行设置。