如何在 Debian 10 上使用 LAMP 安装 WordPress

介绍

WordPress是互联网上最受欢迎的CMS(内容管理系统)。它允许您轻松地在MariaDB后端上设置灵活的博客和网站。WordPress已经看到令人难以置信的采用,是快速启动和运行网站的绝佳选择。

在本指南中,我们将专注于在 Debian 10 服务器上建立 LAMP 堆栈(Linux、Apache、MariaDB 和 PHP)上的 WordPress 实例。

前提条件

要完成本教程,您需要访问 Debian 10 服务器。

您需要完成以下任务,才能开始本指南:

  • ** 在您的服务器上创建 sudo 用户** : 我们将使用具有 " sudo " 特权的非** root**用户完成本指南的步骤。 您可以遵循 [Debian 10 初始服务器设置指南] (https://andsky.com/tech/tutorials/initial-server-setup-with-debian-10) 创建具有 sudo 权限的用户。
  • ** 安装一个 LAMP 堆栈** :WordPress需要一个网络服务器,一个数据库,以及PHP,以便正确运行. 建立LAMP堆栈(Linux,Apache,MariaDB,和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-debian-10) 设置 。 (英语)

当您完成设置步骤时,请登录您的服务器作为您的sudo用户并继续下方。

步骤 1 — 为 WordPress 创建 MariaDB 数据库和用户

WordPress 需要一个基于 MySQL 的数据库来存储和管理网站和用户信息. 我们已经安装了 MariaDB - MySQL 的 drop-in 替代品,但我们需要为 WordPress 创建一个数据库和用户来使用。

要开始,打开 MariaDB 提示作为 root 帐户:

1sudo mariadb

<$>[注] 注: 如果您在安装和设置 MariaDB 时设置了具有管理权限的另一个帐户,您也可以作为该用户登录。

1mariadb -u username -p

发出此命令后,MariaDB 将提示您为该帐户设置的密码。

您可以把它叫做任何你想要的,但为了让这个指南简单,我们将把它命名为 wordpress

通过键入创建 WordPress 数据库:

1CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

请注意,每个MySQL语句必须以半列(;)结束,如果您遇到任何问题,请检查是否存在。

接下来,创建一个单独的MySQL用户帐户,我们将使用它来操作我们的新数据库。创建单功能数据库和帐户从管理和安全的角度来说是一个好主意。

创建此帐户,设置密码,并允许用户访问您刚刚创建的数据库,使用以下命令。

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

您现在有一个数据库和用户帐户,每个帐户都是专门为 WordPress 创建的。 运行以下命令来重新加载授权表,以便 MariaDB 的当前实例知道您所做的更改:

1FLUSH PRIVILEGES;

退出 MariaDB 通过键入:

1EXIT;

现在,您已经配置了将由 WordPress 使用的数据库和用户,您可以继续安装一些由 CMS 使用的 PHP 相关包。

第2步:安装额外的PHP扩展

当我们设置 LAMP 堆栈时,我们只需要最少的一组扩展才能让 PHP 与 MariaDB 进行通信。

下载并安装一些最受欢迎的PHP扩展,以便在WordPress中使用:

1sudo apt update
2sudo 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

在此时,在安装 WordPress 之前,只需对 Apache 配置进行一些更改,以便让 CMS 顺利运行。

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

随着额外的PHP扩展已安装并准备好使用,下一步要做的是对你的Apache配置做出一些更改。 基于前提教程,你应该在/etc/apache2/sites-available/目录中为你的网站设置文件。 我们将使用/etc/apache2/sites-available/wordpress.conf作为一个示例,但在适当的情况下,你应该替换到你的配置文件的路径。

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

<$>[注] 注: 您可能正在使用000-default.conf的默认配置(使用/var/www/html作为您的网页根)。

目前,使用.htaccess 文件已被禁用. WordPress 和许多 WordPress 插件广泛地使用这些文件来调整网页服务器的行为。

请注意,如果您有网站的现有 Apache 配置文件,此文件的名称将不同:

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

要允许.htaccess文件,您需要添加一个目录块,指向您的文档根,其中包含一个AllowOverride指令。

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

完成后,保存并关闭文件。

接下来,启用重写模块,以便利用 WordPress 永久链接功能:

1sudo a2enmod rewrite

在实施您所做的更改之前,请检查,以确保您没有做任何语法错误:

1sudo apache2ctl configtest

如果配置文件的语法正确,则将在输出中看到以下内容:

1[secondary_label Output]
2Syntax OK

如果此命令报告任何错误,请返回并检查您在配置文件中没有做过任何语法错误。

1sudo systemctl restart apache2

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

第4步:下载WordPress

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

<$>[注] 注: 我们将使用‘curl’来下载WordPress,但此程序可能无法默认安装在您的Debian服务器上。

1sudo apt install curl

美元

转换为可编写的目录,然后通过键入下载压缩版本:

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

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

1tar xzvf latest.tar.gz

我们会暂时将这些文件迁移到我们的文档根中,但在我们之前,我们需要添加一个愚蠢的 .htaccess 文件,以便它可以用于 WordPress 以后使用。

通过键入创建文件:

1touch /tmp/wordpress/.htaccess

然后将样本配置文件复制到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提供功能所需的特权,以及您之前创建的MariaDB数据库和用户帐户的访问权限。

步骤 5 – 配置 WordPress 目录

在我们可以通过WordPress的基于Web的设置过程之前,我们需要调整我们的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 秘密密密钥生成器中获取安全值,键入:

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

查找包含这些设置的 dummy 值的部分,它将看起来像这样:

 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. . .

接下来,您需要调整您在 MariaDB 中配置的数据库名称、数据库用户和相关密码。

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

此设置可在数据库连接设置下方或文件中的任何其他位置添加:

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

最后,您可以通过您的网页浏览器来完成安装和配置WordPress。

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

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

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

1https://server_domain_or_IP

选择您想要使用的语言:

WordPress language selection

接下来,您将进入主设置页面,选择您的WordPress网站的名称,并选择用户名(建议不要为安全目的选择admin)。

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

WordPress setup installation

当您准备好时,点击安装WordPress按钮,您将被带到一个提示您登录的页面:

WordPress login prompt

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

WordPress login prompt

从仪表板中,您可以开始对网站的主题和发布内容进行更改。

结论

WordPress 应该安装并准备好使用! 一些常见的下一步步骤是为您的帖子选择 permalinks 设置(可以在设置 > Permalinks中找到)或选择一个新主题(在外观 > 主题中)。

Published At
Categories with 技术
comments powered by Disqus