如何在 Ubuntu 18.04 上使用 LAMP 安装 WordPress

介绍

WordPress 是互联网上最受欢迎的内容管理系统(CMS)。它允许您在 PHP 处理的 MySQL 后端上设置灵活的博客和网站。WordPress 经历了令人难以置信的采用,是快速安装和运行网站的绝佳选择。设置后,几乎所有管理都可以通过 Web 前端进行。

在本指南中,您将在Ubuntu 18.04服务器上设置一个WordPress实例在LAMP堆栈(Linux,Apache,MySQL和PHP)。

前提条件

要完成本教程,您将需要:

  • ** 使用sudo用户的Ubuntu 18.04服务器** : 您将使用拥有sudo权限的非源用户完成本指南中的步骤。 您可以通过遵循我们的Ubuntu 18.04 初始服务器设置指南来创建具有"sudo"权限的用户.
  • ** 安装一个 LAMP 堆栈** :WordPress需要一个网络服务器,一个数据库,以及PHP,以便正确运行. 建立LAMP堆栈(Linux,Apache,MySQL,和PHP)可以满足所有这些要求. 遵循本指南安装并配置此软件.
  • ** 用 SSL 保护您的网站 ** : WordPress服务于动态内容并处理用户认证和授权. TLS/SSL 是允许您从您的站点加密流量的技术,以使您的连接安全. 您设置 SSL 的方式将取决于您是否拥有您的网站的域名 。
  • ** 如果您有域名... ** 保护您网站安全的一种方式是使用Let's Encrypt,它提供了免费的,可信赖的证书. 跟着我们让我们为Apache加密指南来设置这个. -** 如果您没有域名...** ,且您只使用此配置进行测试或个人使用,您可以使用自签名的证书取而代之. 这提供了同类型的加密,但没有域验证. 遵循我们[自签的 SSL 指南 Apache (https://andsky.com/tech/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-18-04) 设置 。 (英语)

当你完成了前提条件后,登录你的服务器作为你的sudo用户,并继续步骤1。

步骤 1 – 创建一个MySQL数据库和用户为WordPress

虽然MySQL已经安装了,但你仍然需要创建一个数据库来管理和存储WordPress使用的用户信息。

1sudo mysql

您将被提示为您在安装软件时为 MySQL 根帐户设置的密码。

但是,如果您的 root 用户已启用密码身份验证,您可以运行以下命令,并在提示时输入您的密码信息:

1mysql -u root -p

从那里,你将创建一个新的数据库,WordPress将控制。你可以称之为任何你想要的,但我们将使用这个指南中的 wordpress 作为一个例子。

1CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

<$>[注] 注: 每个MySQL语句必须以半列(;)结束。

接下来,你将创建一个单独的MySQL用户帐户,你将使用它专门在新数据库上运行。创建一个功能的数据库和帐户从管理和安全的角度来说是一个好主意。

您可以创建此帐户,为其设置密码,然后通过运行以下命令授予该帐户访问您创建的所有数据库。

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

创建此用户后,请清除权限,以确保当前的MySQL实例知道您最近所做的更改:

1FLUSH PRIVILEGES;

退出MySQL:

1EXIT;

您现在有 MySQL 中的数据库和用户帐户,每个帐户都是专为 WordPress 创建的。

步骤 2 – 安装额外的 PHP 扩展

当您设置 LAMP 堆栈时,该过程只需要最少的一组扩展来让 PHP 与 MySQL 进行通信。

首先,更新您的包列表:

1sudo apt update

下一篇 下载并安装一些最受欢迎的PHP扩展,用于WordPress:

1sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

<$>[注] 注: 每个WordPress插件都有自己的要求。有些可能需要安装额外的PHP包。检查您的插件文档以了解其PHP要求。

重新启动Apache以在下一节中加载这些新扩展. 如果您返回这里安装额外的插件,您现在可以重新启动Apache:

1sudo systemctl restart apache2

在下一步中,您将对您的Apache配置进行一些调整。

步骤 3 – 调整Apache的配置以允许.htaccess 重写和重写

WordPress 默认使用.htaccess 文件来管理网站的某些功能,如 permalinks、插件和重定向. Apache 网页服务器使用这些.htaccess 配置文件来创建网页服务器遵循的规则。

要启用,打开您的网站的虚拟主机文件:

1sudo nano /etc/apache2/sites-available/wordpress.conf

<$>[注] 注: 对于本教程,我们将使用 /etc/apache2/sites-available/wordpress.conf 作为一个示例,但您应该在适当的情况下更换到配置文件的路径。

此外,我们将使用/var/www/wordpress作为我们的WordPress安装的根目录。

也許你正在使用「000-default.conf」的默認配置(以「/var/www/html」為你的網頁根)。這很適合如果你只會在這個伺服器上托管一個網站。

打开此文件后,您会注意到使用.htaccess 文件已被禁用. 要允许.htaccess 文件,您需要在指向文档根的目录块中设置AllowOverride指令。

1[label /etc/apache2/sites-available/wordpress.conf]
2<Directory /var/www/wordpress/>
3    AllowOverride All
4</Directory>

当你完成时,保存并关闭文件. 如果你使用nano,你可以通过按CTRL + X然后YENTER退出。

接下来,启用mod_rewrite,以便您可以使用WordPress的永久链接功能:

1sudo a2enmod rewrite

之后,您将通过测试配置来启用这些更改,但在实施更改之前,请检查以确保没有语法错误:

1sudo apache2ctl configtest

输出可能有一个消息,看起来如下:

1[secondary_label Output]
2AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
3Syntax OK

如果您想删除顶行,请将ServerName指令添加到您的主要(全球)Apache配置文件中,在/etc/apache2/apache2.confServerName可以是您的服务器的域名或IP地址,但这只是一个消息,并且不会影响您的网站的功能。

重启 Apache 以执行这些更改:

1sudo systemctl restart apache2

接下来,您将下载并设置WordPress本身。

第4步:下载WordPress

现在您的服务器软件已配置,您可以下载并设置WordPress. 出于安全原因,建议您从他们的网站上获取最新的WordPress版本。

第一個變更為可寫目錄:

1cd /tmp

然后通过运行以下方式下载压缩版本:

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

提取压缩文件来创建WordPress目录结构:

1tar xzvf latest.tar.gz

您将暂时将这些文件移动到您的文档根中,然后再添加一个空的 .htaccess 文件,以便 WordPress 以后可以使用它。

创建文件,运行如下:

1touch /tmp/wordpress/.htaccess

然后,创建样本配置文件的副本,并将其命名为wp-config.php,WordPress实际上所读到的文件名:

1cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

最后,创建升级目录,以便WordPress在试图在软件更新后自行完成此操作时不会遇到权限问题:

1mkdir /tmp/wordpress/wp-content/upgrade

现在你可以将整个目录内容复制到你的文档根中。在源目录的末尾使用一个点表示,目录中的所有内容都应该被复制,包括隐藏的文件(如你创建的.htaccess 文件)。

1sudo cp -a /tmp/wordpress/. /var/www/wordpress

接下来,您需要在您的WordPress目录中调整和配置项目。

步骤5 – 配置WordPress目录

在开始基于Web的WordPress设置之前,您需要调整您的WordPress目录中的某些项目。

调整所有权和许可

您需要做的重要事情之一是设置合理的文件权限和所有权。

首先,将所有文件的所有权交给用户和组,这是Apache Web 服务器所运行的用户,Apache 将需要能够阅读和写 WordPress 文件,以便为网站提供服务并执行自动更新。

chown更新所有权:

1sudo chown -R www-data:www-data /var/www/wordpress

接下来,运行两个查找命令,在WordPress目录和文件中设置正确的权限:

1sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
2sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;

这些应该是合理的权限设置,以开始,一些插件和程序可能需要额外的调整。

创建WordPress配置文件

现在,您需要对主 WordPress 配置文件进行一些更改。

当你打开文件时,你的第一个业务命令将是调整一些秘密密密钥,以提供一些安装的安全性。WordPress为这些值提供一个安全的生成器,所以你不必自己尝试提出好的价值。

要从 WordPress 秘密密密钥生成器中获取安全值,请执行以下操作:

1curl -s https://api.wordpress.org/secret-key/1.1/salt/

您将收到一些独特的值,这些值看起来如下:

<$>[警告] 警告: 重要的是每次请求独特值。

1[secondary_label Output]
2define('AUTH_KEY',         '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H');
3define('SECURE_AUTH_KEY',  'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3');
4define('LOGGED_IN_KEY',    'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88');
5define('NONCE_KEY',        'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g');
6define('AUTH_SALT',        'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES 07VC*Lj*lD&?3w!BT#-');
7define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY');
8define('LOGGED_IN_SALT',   'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|');
9define('NONCE_SALT',       'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');

这些是配置行,您可以直接粘贴到配置文件中,以设置安全密钥。

现在,打开WordPress配置文件,确保文件路径与您自己的文档根信息一致,如下所示:

1sudo nano /var/www/wordpress/wp-config.php

查找包含这些设置的空值的部分,它将看起来如下:

 1[label /var/www/wordpress/wp-config.php]
 2. . .
 3
 4define('AUTH_KEY',         'put your unique phrase here');
 5define('SECURE_AUTH_KEY',  'put your unique phrase here');
 6define('LOGGED_IN_KEY',    'put your unique phrase here');
 7define('NONCE_KEY',        'put your unique phrase here');
 8define('AUTH_SALT',        'put your unique phrase here');
 9define('SECURE_AUTH_SALT', 'put your unique phrase here');
10define('LOGGED_IN_SALT',   'put your unique phrase here');
11define('NONCE_SALT',       'put your unique phrase here');
12
13. . .

删除这些行并粘贴您从命令行复制的值:

 1[label /var/www/wordpress/wp-config.php]
 2. . .
 3
 4define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE');
 5define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
 6define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
 7define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
 8define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
 9define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
10define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
11define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');
12
13. . .

接下来,您需要在文件开始时修改某些数据库连接设置,您需要调整您在 MySQL 中配置的数据库名称、数据库用户和相关密码。

另一个变化是设置WordPress应该使用的方法来写到文件系统. 由于您已经给了Web服务器允许写到它需要的地方,您可以明确地将文件系统方法设置为直接。 未能在当前设置中设置此设置会导致WordPress在执行某些操作时要求FTP凭据。

此设置可以添加到数据库连接设置后或文件中的任何其他位置:

 1[label /var/www/wordpress/wp-config.php]
 2. . .
 3
 4define('DB_NAME', 'wordpress');
 5
 6/** MySQL database username */
 7define('DB_USER', 'wordpressuser');
 8
 9/** MySQL database password */
10define('DB_PASSWORD', 'password');
11
12. . .
13
14define('FS_METHOD', 'direct');

保存并关闭文件,当你完成。

步骤 6 – 通过 Web 界面完成安装

现在,服务器配置已经完成,您可以通过 Web 界面完成安装。

在您的网页浏览器中,导航到您的服务器的域名或公共IP地址:

1https://server_domain_or_IP

选择您想要使用的语言:

WordPress language selection

接下来,您将被引导到主设置页面。

选择您的WordPress网站的名称,并选择一个用户名(不建议为安全目的选择admin)。

输入您的电子邮件地址,然后选择是否希望阻止搜索引擎索引您的网站:

WordPress setup installation

当您点击前进时,您将被带到一个提示您登录的页面:

WordPress login prompt

一旦您登录,您将被带到WordPress管理仪表板:

WordPress login prompt

从那里,您可以开始使用和定制您的WordPress网站。

结论

一些常见的下一步是选择您的帖子的 permalinks设置(可以在设置 > Permalinks中找到)或选择一个新主题(在外观 > 主题中)。

Published At
Categories with 技术
comments powered by Disqus