介绍
WordPress是互联网上最受欢迎的CMS(内容管理系统)。 它允许您使用PHP处理在MariaDB后端轻松设置灵活的博客和网站。 WordPress已经看到了令人难以置信的采用,是一个快速启动和运行网站的绝佳选择。 设置完成后,几乎所有管理都可以通过Web前端完成。
在本指南中,我们将专注于在Debian 9服务器上的LAMP(Linux,Apache,MariaDB和PHP)上设置WordPress实例。
先决条件
为了完成本教程,您需要访问Debian 9服务器。
在开始本指南之前,您需要执行以下任务:
- 在您的服务器上创建一个
sudo
用户 :我们将使用具有sudo
权限的非root用户完成本指南中的步骤。 您可以按照我们的Debian 9初始服务器设置指南创建具有sudo
权限的用户。 - 安装LAMP :WordPress需要一个Web服务器,一个数据库和PHP才能正常运行。 设置LAMP(Linux,Apache,MariaDB和PHP)可满足所有这些要求。 请按照本指南安装和配置此软件。
- 使用SSL保护您的网站 :WordPress提供动态内容并处理用户身份验证和授权。 TLS / SSL是一项技术,允许您加密来自站点的流量,以确保您的连接安全。 您设置SSL的方式取决于您是否拥有网站的域名。
- 如果您有域名......保护您网站的最简单方法是使用Let's Encrypt,它提供免费的可信证书。 按照我们的让我们的Apache加密指南进行设置。
- 如果您没有域...并且您只是使用此配置进行测试或个人使用,则可以使用自签名证书。 这提供了相同类型的加密,但没有域验证。 按照我们的Apache自签名SSL指南进行设置。
完成设置步骤后,以sudo
用户身份登录服务器并继续执行下面的操作。
第1步 - 为WordPress创建MariaDB数据库和用户
我们将采取的第一步是准备工作。 WordPress使用MySQL来管理和存储站点和用户信息。 我们已经安装了MariaDB(MySQL的替代品),但是我们需要为WordPress创建一个数据库和用户。
要开始使用,请以root帐户打开MariaDB提示符:
sudo mariadb
注意:如果在安装和设置MariaDB时设置了具有管理权限的其他帐户,则还可以以该用户身份登录。 您需要使用以下命令执行此操作:
mariadb -u username -p
发出此命令后,MariaDB将提示您输入为该帐户设置的密码。
首先创建一个WordPress将控制的新数据库。 你可以随意调用它,但为了使本指南变得简单,我们将其命名为wordpress 。
键入以下命令为WordPress创建数据库:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
请注意,每个MySQL语句必须以分号( ;
)结尾。 如果您遇到任何问题,请检查以确保它存在。
接下来,创建一个单独的MySQL用户帐户,我们将专门用于在新数据库上运行。 从管理和安全的角度来看,创建单功能数据库和帐户是一个好主意。 我们将在本指南中使用名称wordpressuser ,但如果您愿意,可以随意更改此名称。
创建此帐户,设置密码,并使用以下命令授予用户对刚刚创建的数据库的访问权限。 请记住为数据库用户选择一个强密码:
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
您现在拥有一个数据库和用户帐户,每个帐户都是专门为WordPress设计的。 运行以下命令以重新加载授权表,以便MariaDB的当前实例知道您所做的更改:
FLUSH PRIVILEGES;
输入以下命令退出MariaDB:
EXIT;
现在您已经配置了将由WordPress使用的数据库和用户,您可以继续安装CMS使用的一些与PHP相关的包。
第2步 - 安装其他PHP扩展
在设置LAMP时,我们只需要一组非常小的扩展,以便让PHP与MariaDB进行通信。 WordPress及其许多插件利用了额外的PHP扩展。
通过键入以下内容,下载并安装一些最流行的PHP扩展以与WordPress一起使用:
sudo apt update
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
注意:每个WordPress插件都有自己的一组要求。 有些可能需要安装其他PHP包。 检查您的插件文档以查找其PHP要求。 如果它们可用,可以使用apt
进行安装,如上所示。
我们将在下一节重新启动Apache以加载这些新扩展。 如果您要返回此处以安装其他插件,则可以通过键入以下命令重新启动Apache:
sudo 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安装的根目录。 您应该使用自己配置中指定的Web根目录。
注意:您可能正在使用000-default.conf
默认配置(使用/var/www/html
作为您的Web根目录)。 如果您只打算在此服务器上托管一个网站,这可以使用。 如果没有,最好将必要的配置拆分为逻辑块,每个站点一个文件。
目前,禁用.htaccess
文件的使用。 WordPress和许多WordPress插件广泛使用这些文件,以便对Web服务器的行为进行目录内调整。
打开您网站的Apache配置文件。 请注意,如果您的网站有现有的Apache配置文件,则此文件的名称将有所不同:
sudo nano /etc/apache2/sites-available/wordpress.conf
要允许.htaccess
文件,您需要添加一个指向文档根Directory
块,其中包含AllowOverride
指令。 在配置文件的VirtualHost
块中添加以下文本块,确保使用正确的Web根目录:
<Directory /var/www/wordpress/>
AllowOverride All
</Directory>
完成后,保存并关闭文件。
接下来,启用rewrite
模块以使用WordPress永久链接功能:
sudo a2enmod rewrite
在实现您所做的更改之前,请检查以确保您没有发生任何语法错误:
sudo apache2ctl configtest
如果配置文件的语法正确,您将在输出中看到以下内容:
OutputSyntax OK
如果此命令报告任何错误,请返回并检查您的配置文件中是否存在任何语法错误。 否则,重启Apache以实现更改:
sudo systemctl restart apache2
接下来,我们将下载并设置WordPress本身。
第4步 - 下载WordPress
现在您的服务器软件已配置,您可以下载并设置WordPress。 出于安全原因,我们始终建议您直接从其网站获取最新版本的WordPress。
注意:我们将使用curl
下载WordPress,但默认情况下可能不会在Debian服务器上安装此程序。 要安装它,请运行:
sudo apt install curl
转换为可写目录,然后键入以下命令下载压缩版本:
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
解压缩压缩文件以创建WordPress目录结构:
tar xzvf latest.tar.gz
我们将暂时将这些文件移动到我们的文档根目录中。 但是,在我们开始之前,添加一个虚拟的.htaccess
文件,以便以后可以使用WordPress。
键入以下命令创建文件:
touch /tmp/wordpress/.htaccess
然后将示例配置文件复制到WordPress实际读取的文件名:
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
此外,创建upgrade
目录,以便WordPress在更新其软件后尝试自行执行此操作时不会遇到权限问题:
mkdir /tmp/wordpress/upgrade
然后,将目录的全部内容复制到文档根目录中。 请注意,以下命令在源目录的末尾包含一个点,表示应复制目录中的所有内容,包括隐藏文件(如您创建的.htaccess
文件):
sudo cp -a /tmp/wordpress/. /var/www/wordpress
有了这个,您已成功将WordPress安装到Web服务器上并执行了一些初始配置步骤。 接下来,我们将讨论一些进一步的配置更改,这些更改将为WordPress提供运行所需的权限,以及访问您之前创建的MariaDB数据库和用户帐户。
第5步 - 配置WordPress目录
在我们完成WordPress的基于Web的设置过程之前,我们需要调整WordPress目录中的一些项目。
首先将所有文件的所有权授予www-data用户和组。 这是Apache Web服务器运行的用户,Apache需要能够读取和写入WordPress文件才能为网站提供服务并执行自动更新。
使用chown
更新所有权:
sudo chown -R www-data:www-data /var/www/wordpress
接下来,我们将运行两个find
命令来设置WordPress目录和文件的正确权限:
sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;
这些应该是一个合理的权限设置开始,虽然一些插件和程序可能需要额外的调整。
在此之后,您将需要对主WordPress配置文件进行一些更改。
当您打开文件时,您的第一个目标是调整一些密钥以为您的安装提供一些安全性。 WordPress为这些值提供了一个安全的生成器,因此您不必尝试自己提供好的值。 这些仅在内部使用,因此在这里使用复杂,安全的值不会影响可用性。
要从WordPress密钥生成器中获取安全值,请键入:
curl -s https://api.wordpress.org/secret-key/1.1/salt/
您将获得看起来像这样的唯一值:
警告! 每次请求唯一值非常重要。 请勿复制下面显示的值!
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 /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');
. . .
删除这些行并粘贴从命令行复制的值:
. . .
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');
. . .
接下来,修改文件顶部的数据库连接设置。 您需要调整数据库名称,数据库用户以及在MariaDB中配置的相关密码。
您必须进行的另一项更改是设置WordPress用于写入文件系统的方法。 由于我们已授予Web服务器写入所需位置的权限,因此我们可以将文件系统方法明确设置为“direct”。 如果未能使用我们当前的设置进行设置,则会在执行某些操作时导致WordPress提示输入FTP凭据。
可以在数据库连接设置下方或文件中的任何其他位置添加此设置:
. . .
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wordpressuser');
/** MySQL database password */
define('DB_PASSWORD', 'password');
. . .
define('FS_METHOD', 'direct');
完成后保存并关闭文件。 最后,您可以通过Web浏览器访问WordPress来完成安装和配置。
第6步 - 通过Web界面完成安装
现在服务器配置已完成,我们可以通过Web界面完成安装。
在Web浏览器中,导航到服务器的域名或公共IP地址:
https://server_domain_or_IP
选择您要使用的语言:
接下来,您将进入主设置页面。 选择WordPress网站的名称并选择用户名(出于安全考虑,建议不要选择类似“admin”的内容)。 自动生成强密码。 保存此密码或选择其他强密码。
输入您的电子邮件地址,然后选择是否要阻止搜索引擎为您的网站编制索引:
准备好后,单击“ 安装WordPress”按钮。 您将进入一个提示您登录的页面:
登录后,您将进入WordPress管理仪表板:
在仪表板中,您可以开始更改网站的主题和发布内容。
结论
应该安装WordPress并准备使用! 一些常见的后续步骤是为帖子选择固定链接设置(可以在“设置” >“ 固定链接”中找到)或选择新主题(在“ 外观”>“主题”中 )。 如果这是您第一次使用WordPress,请稍微探索一下界面以熟悉您的新CMS。