在带有 Apache 和 MySQL 的 Ubuntu Linux 上安装 WordPress
自 2003 年推出以来,WordPress 一直是建立和运行时尚网站的最佳、最简单的方法之一。事实上,当前的趋势只表明它的受欢迎程度在持续增加。 WordPress 使用起来很简单,甚至自己托管它也不难,我们将在本文中向您证明这一点。
在本指南中,我们将向您展示如何在 Ubuntu Linux 上使用 WordPress 托管您的网站。我们将使用 Apache 作为 HTTP 服务器,并安装 PHP 和 MariaDB(MySQL 的开源实现),因为 WordPress 需要它们才能运行。这种包分类通常称为 LAMP 堆栈(Linux、Apache、MySQL、PHP)。安装这些软件包后,我们将在安装 WordPress 之前检查 Apache 和 MySQL 的配置,包括数据库和用户的初始设置。最后,我们还将向您展示如何配置自签名 SSL 证书,或从 Let’s Encrypt 获取免费证书,使您的网站能够利用 HTTPS。
在本教程中您将学习:
如何安装和配置 Apache
如何安装和配置 MariaDB for MySQL
如何下载并安装 WordPress
如何为您的 WordPress 网站配置自签名 SSL 证书
如何配置 Let’s Encrypt 的免费 SSL 证书
WordPress 管理菜单
安装 Apache、PHP 和 MySQL
我们需要做的第一件事是使用适当的软件包准备我们的 Ubuntu 系统。 WordPress 只有提供 HTTP 服务器、PHP 及其相关模块以及 MySQL 数据库才能运行。打开终端并键入以下几个命令来安装 Apache、PHP 和 MariaDB(MySQL 的开源分支):
$ sudo apt update
$ sudo apt install apache2 php libapache2-mod-php mariadb-server mariadb-client php-mysql php-curl php-xml php-mbstring php-imagick php-zip php-gd
要安装很多软件包,是的,它们都是必需的。如果没有一些额外的 PHP 模块,您将无法在 WordPress 管理员仪表板的“站点健康状态”部分获得满分。
配置MySQL
我们应该做的第一件事就是准备好 WordPress 数据库。为此,我们首先需要对 MySQL 进行一些初始配置。首先,在终端中执行以下命令:
$ sudo mysql_secure_installation
将第一个响应留空并按 Enter 键。您应该对其余提示回复 y
(是),并在出现提示时配置 root 密码。此设置只需片刻即可完成。
使用 mysql_secure_installation 进行 MySQL 的初始设置
虽然上述配置足以满足我们的 WordPress 网站的需求,但如果您有足够的好奇心想更深入地了解,您可以阅读我们在 Ubuntu Linux 上安装和配置 MySQL Workbench 的指南。
为 WordPress 创建数据库
WordPress 将其所有帖子和页面内容以及其他信息存储在 MySQL 中。我们需要配置 MySQL 用户和数据库供 WordPress 访问,步骤如下:
首先使用 root 用户打开 MySQL:
$ sudo mysql
为 WordPress 创建一个新数据库。在此示例中,我们将其命名为
wordpress_db
,但您可以使用任何您喜欢的名称。MariaDB [(none)]> CREATE DATABASE wordpress_db;
接下来,我们需要创建一个新用户,WordPress 可以使用该用户来访问我们刚刚创建的数据库。在本例中,我们将用户名设为
wordpress_user
,密码设为my_password
。将下面的my_password
文本替换为安全密码(并将其写在某处供以后使用):MariaDB [(none)]> CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'my_password';
然后,授予 WordPress 用户对 WordPress 数据库的完全权限:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress_db.* to wordpress_user@'localhost';
最后,保存对用户权限所做的更改并退出 MariaDB:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit
配置阿帕奇
此时 Apache 应该已经安装并运行,可以通过打开浏览器并导航到系统上的环回地址 127.0.0.1
或只是 localhost
来验证这一点。
默认Apache页面,表明我们的网站可以访问
尽管 Apache 已经托管了我们的网站(或缺少),但最佳实践是为我们的 WordPress 安装配置一个新的 Apache 虚拟主机文件。如果您想托管多个网站或更改 WordPress 目录的安装位置等,这将为您提供更大的灵活性。
使用以下命令将默认 Apache 配置复制到新文件中:
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/wordpress.conf
然后,使用 nano 或您喜欢的文本编辑器打开此文件:
$ sudo nano /etc/apache2/sites-available/wordpress.conf
将
DocumentRoot
设置更改为我们计划安装 WordPress 的位置。下面的目录是我们的建议。DocumentRoot /var/www/wordpress
为
ServerName
创建设置并输入您网站的完全限定域名。如果没有,请将其保留为 localhost。ServerName your-site.com
还为
www
前缀创建一个别名。如果您只使用本地主机,则没有必要。ServerAlias www.your-site.com
完成后,您的配置文件应如下所示。请注意,我们在配置中注释掉了别名行,因为我们仅在本地托管。
保存更改并退出文件。然后,在 Apache 中启用站点并禁用默认站点。
$ sudo a2ensite wordpress.conf $ sudo a2dissite 000-default.conf
最后,重新加载 Apache 以使新更改生效。
$ sudo systemctl reload apache2
填写 Apache 虚拟主机文件中的 DocumentRoot 和 ServerName 值
下载并安装 WordPress
现在我们已经配置了 HTTP 服务器并且 PHP 和 MySQL 已准备就绪,我们可以继续安装 WordPress 本身。
首先,使用 wget 下载最新版本的 WordPress:
$ wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
将 tar 存档解压到您的 WordPress 站点目录中:
$ sudo tar -xzvf /tmp/wordpress.tar.gz -C /var/www
请务必对目录及其所有文件配置适当的权限。
$ sudo chown -R www-data.www-data /var/www/wordpress
现在我们可以开始配置 WordPress。打开您的互联网浏览器并导航到本地主机地址
127.0.0.1
或您的完全限定域名(如果您设置了)。您应该会看到 WordPress 设置向导。单击“开始吧”即可开始。接下来,输入您之前配置的数据库信息。最后两个框(数据库主机和表前缀)可以保留默认值。完成后点击“提交”。
WordPress 将尝试与数据库建立连接,并让您知道连接是否成功。假设是,单击“运行安装”继续。
下一个屏幕将询问您有关新站点的一些一般信息。填写完毕后,单击屏幕底部的“安装 WordPress”以完成安装。
WordPress 安装现已完成!您可以单击“登录”按钮开始创建内容。
初始 WordPress 设置向导
填写我们之前配置的MySQL数据库信息
WordPress 已成功连接到我们的 MySQL 数据库
填写您的网站标题、用户名、密码和电子邮件
WordPress 已安装成功。点击登录找到管理菜单
请注意,要在将来返回 WordPress 管理面板,您始终可以使用 URL http://127.0.0.1/wp-admin
(或替换 127.0.0.1
> 使用您的完全限定域名)。
WordPress 管理菜单
现在应该可以通过 http://127.0.0.1
或您的完全限定域名访问您的 WordPress 网站。
我们的 WordPress 网站现已启动并运行
配置自签名 SSL 证书
我们已经完成了 WordPress 网站的配置,但现在它使用 HTTP 而不是 HTTPS。由于许多网络专门转向 HTTPS,您可能也希望在您的网站中考虑使用它,尽管这并不是绝对必要的。在本指南的这一部分中,我们将向您展示如何使用自签名证书在您的网站上启用 SSL。
在终端中键入以下命令以生成自签名证书。系统会提示您一些一般性问题。请务必使用您网站的 IP 地址或完全限定域名填写“通用名称”字段。
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
接下来,我们需要对 Apache 站点配置进行一些更改。使用 nano 或其他文本编辑器打开默认的 SSL 配置文件:
$ sudo nano /etc/apache2/sites-available/default-ssl.conf
将
DocumentRoot
值更改为您之前安装 WordPress 的位置。然后,将SSLCertificateFile
和SSLCertificateKeyFile
值更改为我们保存 SSL 文件的位置。请参阅下面的屏幕截图以供参考。DocumentRoot /var/www/wordpress SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
保存更改并退出文件。然后,启用 Apache 的 SSL 模块并重新启动以使更改生效:
$ sudo a2enmod ssl $ sudo systemctl restart apache2
最后,启用我们配置的 SSL 站点并重新加载 Apache:
$ sudo a2ensite default-ssl $ sudo systemctl reload apache2
创建自签名 SSL 证书
更改 Apache SSL 虚拟主机文件内的 DocumentRoot 和 SSL 证书值
全做完了。您的 WordPress 网站现在可以使用 SSL 加密:
我们的 WordPress 网站现已启用 HTTPS
配置 Let’s Encrypt 的免费 SSL 证书
Let’s Encrypt 是一项免费服务,为网站提供 SSL 证书。如果您已经走到这一步并已在 Ubuntu 上设置了 WordPress 网站,只需几个步骤即可配置 SSL 加密,这将防止中间人攻击,有助于您页面的 SEO,而 Firefox 等浏览器则不会警告用户您的网站不安全。
这个过程非常简单,所有调用都可以从 Ubuntu 命令行完成。请按照以下步骤使用 Let’s Encrypt 的 SSL 证书完成网站设置。
要使用 Let's Encrypt 设置 SSL 加密,请使用以下命令安装 certbot 实用程序。
$ sudo apt install certbot python3-certbot-apache
通过执行以下命令并按照弹出的提示配置 SSL 证书。最后一个问题将询问您是否要将 HTTP 请求直接重定向到 HTTPS。建议您选择此选项。显然,要实现此功能,域必须正确指向我们可公开访问的服务器 IP。
$ sudo certbot --apache
这里的所有都是它的。 certbot
实用程序为我们完成了几乎所有的跑腿工作,并对您的 Apache 虚拟主机文件进行所有必要的更改。它还可以让您的 SSL 证书保持活动状态,并在证书即将过期时进行更新。
结束语
本指南向您展示了如何安装顶级组件以在 Ubuntu Linux 上运行 WordPress 网站。 WordPress 是一个很棒的内容管理系统,具有几乎无限的配置。它是如此简单,即使没有任何 HTML、CSS 或 PHP 编码经验的人也可以拥有一个漂亮的网站。请务必浏览 WordPress 菜单,以查看您触手可及的所有自定义功能。