如何在Ubuntu14.04上安装WordPress
介绍
目前,WordPress 是互联网上最流行的 CMS(内容管理系统)。 它使您可以轻松地在 MySQL 后端使用 PHP 处理设置灵活的博客和网站。 WordPress 的采用率令人难以置信,是让网站快速启动和运行的绝佳选择。
在本指南中,我们将重点介绍在 Ubuntu 14.04 上使用 Apache Web 服务器设置 WordPress 实例。
先决条件
在开始本指南之前,您需要在服务器上完成一些重要步骤。
我们将以具有 sudo 权限的非 root 用户身份执行这些步骤,因此您需要有一个可用的权限。 您可以按照我们的 Ubuntu 14.04 初始服务器设置 指南中的步骤 1-4 了解如何创建具有 sudo 权限的用户。
此外,您需要在 VPS 实例上安装 LAMP(Linux、Apache、MySQL 和 PHP)堆栈。 如果您还没有安装和配置这些组件,您可以使用本指南学习 如何在 Ubuntu 14.04 上安装 LAMP。
完成这些步骤后,您可以继续阅读本指南。
第一步——为 WordPress 创建一个 MySQL 数据库和用户
我们将采取的第一步是准备工作。 WordPress 使用关系数据库来管理和存储站点和用户信息。
我们已经安装了 MySQL,它可以提供这个功能,但是我们需要创建一个数据库和一个用户来让 WordPress 使用。
首先,通过发出以下命令登录到 MySQL 根(管理)帐户:
mysql -u root -p
安装软件时,系统会提示您输入为 MySQL root 帐户设置的密码。 然后你会得到一个 MySQL 命令提示符。
首先,我们可以创建一个 WordPress 可以控制的单独数据库。 您可以随意调用它,但我将称它为 wordpress
,因为它具有描述性和简单性。 输入此命令以创建数据库:
创建数据库wordpress ;
每个 MySQL 语句都必须以分号 (;) 结尾,因此如果遇到任何问题,请检查以确保它存在。
接下来,我们将创建一个单独的 MySQL 用户帐户,我们将专门使用它来操作我们的新数据库。 从管理和安全的角度来看,创建单一功能的数据库和帐户是一个好主意。
我将调用我正在创建的新帐户 wordpressuser
并为其分配密码 password
。 您绝对应该更改安装的密码,并且可以随意命名用户。 这是创建用户所需的命令:
创建用户wordpressuser @localhost 由“密码”识别;
此时,您有一个数据库和一个用户帐户,每个都是专门为 WordPress 制作的。 但是,这两个组件还没有关系。 用户无权访问数据库。
让我们通过使用以下命令授予我们的用户帐户访问我们的数据库的权限来解决这个问题:
GRANT ALL PRIVILEGES ON wordpress .* TO wordpressuser @localhost ;
现在用户可以访问数据库了。 我们需要刷新权限,以便 MySQL 的当前实例知道我们最近所做的权限更改:
FLUSH PRIVILEGES;
我们现在都准备好了。 我们可以通过键入以下命令退出 MySQL 提示:
exit
您现在应该回到常规命令提示符。
第二步 — 下载 WordPress
接下来,我们将从项目的网站下载实际的 WordPress 文件。
幸运的是,WordPress 团队总是将其软件的最新稳定版本链接到相同的 URL,因此我们可以通过键入以下内容来获取最新版本的 WordPress:
cd ~ wget http://wordpress.org/latest.tar.gz
这会将包含 WordPress 文件的存档目录内容的压缩文件下载到我们的主目录。
我们可以通过键入以下内容提取文件以重建我们需要的 WordPress 目录:
tar xzvf latest.tar.gz
这将在您的主目录中创建一个名为 wordpress
的目录。
在我们下载东西的同时,我们还应该获得更多我们需要的包。 更新本地包索引后,我们可以直接从 Ubuntu 的默认存储库中获取这些:
sudo apt-get update sudo apt-get install php5-gd libssh2-php
这将允许您使用图像,还允许您使用 SSH 登录凭据安装插件和更新站点的某些部分。
第三步——配置 WordPress
我们将要进行的大部分配置将在稍后通过 Web 界面进行。 但是,在启动并运行它之前,我们确实需要从命令行做一些工作。
首先进入您刚刚解压缩的 WordPress 目录:
cd ~/wordpress
默认包含一个与我们需要的配置最匹配的示例配置文件。 但是,我们需要将其复制到默认配置文件位置,以让 WordPress 识别该文件。 现在通过键入:
cp wp-config-sample.php wp-config.php
现在我们有了一个可以使用的配置文件,我们可以生成一些有助于保护安装的密钥。 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&%');
这些是我们可以直接粘贴到配置文件中以设置安全密钥的配置行。 复制您现在收到的输出。
接下来,让我们在文本编辑器中打开配置文件:
nano 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/html/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'); . . .
之后,我们需要做的唯一修改是保存我们的数据库信息的参数。
我们需要找到 DB_NAME
、DB_USER
和 DB_PASSWORD
的设置,以便 WordPress 正确连接并验证我们创建的数据库。
使用您创建的数据库的信息填写这些参数的值。 它应该如下所示:
// ** MySQL 设置 - 您可以从您的虚拟主机获取此信息 ** // /** WordPress 数据库的名称 */ define('DB_NAME', ' wordpress '); /** MySQL 数据库用户名 */ define('DB_USER', ' wordpressuser '); /** MySQL 数据库密码 */ define('DB_PASSWORD', ' password ');
这些是您需要更改的唯一值。
完成后,保存并关闭文件。
第四步 - 将文件复制到文档根目录
现在我们已经配置了我们的应用程序,我们需要将它复制到 Apache 的文档根目录中,在那里它可以提供给我们网站的访问者。
将文件从目录传输到目录的最简单和最可靠的方法之一是使用 rsync
命令。 这保留了权限并具有良好的数据完整性功能。
Ubuntu 14.04 LAMP 指南 中文档根目录的位置是/var/www/html/
。 我们可以通过键入以下内容将我们的 WordPress 文件传输到那里:
sudo rsync -avP ~/wordpress/ /var/www/html/
这将安全地将所有内容从您解压缩的目录复制到文档根目录。
我们现在应该进入文档根目录以进行一些最终的权限更改
cd /var/www/html
您需要更改我们文件的所有权以提高安全性。
我们希望将用户所有权授予您计划用来与您的站点交互的常规非 root 用户(具有 sudo 权限)。 如果您愿意,这可以是您的常规用户,但有些人可能会建议您为此过程创建一个额外的用户。 选择哪一个取决于您。
对于本指南,我们将使用在 初始服务器设置 指南中设置的相同帐户,我们将其称为 demo
。 这是我执行本指南所有操作的帐户。
我们将赋予 Web 服务器进程的组所有权,即 www-data
。 这将允许 Apache 在必要时与内容进行交互。
我们可以通过键入以下内容快速分配这些所有权值:
sudo chown -R演示:www-data *
这将设置我们正在寻找的所有权属性。
在处理所有权和权限时,我们还应该考虑在上传目录上分配正确的所有权。 这将允许我们将图像和其他内容上传到我们的网站。 目前,权限过于严格。
首先,让我们在文档根目录下的 wp-content
目录下手动创建 uploads
目录。 这将是我们内容的父目录:
mkdir /var/www/html/wp-content/uploads
我们现在有一个目录来存放上传的文件,但是权限仍然太严格。 我们需要允许 Web 服务器本身写入该目录。 我们可以通过将此目录的组所有权分配给我们的 Web 服务器来做到这一点,如下所示:
sudo chown -R :www-data /var/www/html/wp-content/uploads
这将允许 Web 服务器在此目录下创建文件和目录,这将允许我们将内容上传到服务器。
第五步 — 通过 Web 界面完成安装
现在您已经准备好文件并配置了软件,您可以通过 Web 界面完成安装。
在您的网络浏览器中,导航到您的服务器的域名或公共 IP 地址:
http:// server_domain_name_or_IP
您将看到 WordPress 初始配置页面,您将在其中创建初始管理员帐户:
填写站点信息和您希望创建的管理帐户。 完成后,单击底部的安装按钮。
WordPress 将确认安装,然后要求您使用刚刚创建的帐户登录:
点击底部的按钮,然后填写您的帐户信息:
您将看到 WordPress 界面:
第六步(可选)——为 WordPress 配置漂亮的永久链接
默认情况下,WordPress 会动态创建如下所示的 URL:
http:// server_domain_name_or_IP /?p=1
对于访问者或搜索引擎来说,这并不是最有用的界面,因此大多数用户都希望对其进行修改。 WordPress 能够创建“漂亮”的永久链接,将 URL 清理为更人性化的格式。
为了让它在 Ubuntu 14.04 上与 Apache 一起工作,我们需要做一些事情。
修改 Apache 以允许 URL 重写
首先,我们需要修改 WordPress 的 Apache 虚拟主机文件以允许 .htaccess
覆盖。 您可以通过编辑虚拟主机文件来做到这一点。
默认情况下,这是 000-default.conf
,但如果您创建了另一个配置文件,您的文件可能会有所不同:
sudo nano /etc/apache2/sites-available/000-default.conf
在这个文件中,我们想要设置一些东西。 我们应该设置 ServerName
并创建一个允许覆盖的目录部分。 这应该看起来像这样:
ServerAdmin 站长 @localhost DocumentRoot /var/www/html ServerName server_domain_name_or_IP 允许覆盖所有 . . .
完成后,保存并关闭文件。
接下来,我们需要启用重写模块,它允许您修改 URL。 您可以通过键入以下内容来执行此操作:
sudo a2enmod rewrite
进行这些更改后,重新启动 Apache:
sudo service apache2 restart
创建一个 .htaccess 文件
现在 Apache 已配置为允许通过 .htaccess
文件进行重写,我们需要创建一个实际文件。
您需要将此文件放在文档根目录中。 键入以下内容以创建一个空文件:
touch /var/www/html/.htaccess
这将使用您的用户名和用户组创建。 我们需要 Web 服务器成为组所有者,因此我们应该通过键入以下内容来调整所有权:
sudo chown :www-data /var/www/html/.htaccess
我们现在拥有该文件的正确所有权。
但是,我们可能需要调整权限。 这取决于您喜欢如何工作。 WordPress 将为您生成必要的重写规则。 如果它对该文件有写权限,它可以自动执行规则。 如果没有,您将不得不手动编辑此文件以添加正确的规则。
您选择哪种配置取决于您对便利性的重视程度高于安全性的程度。 允许 web 服务器对该文件进行写访问肯定会更方便,但有人说这是不必要的安全风险。
如果您希望 WordPress 使用重写规则自动更新此文件,您可以通过键入以下内容来确保它具有执行此操作的正确权限:
chmod 664 /var/www/html/.htaccess
如果您想手动更新此文件以提高安全性,您可以通过键入以下命令允许 Web 服务器仅读取权限:
chmod 644 /var/www/html/.htaccess
更改 WordPress 中的永久链接设置
完成服务器端更改后,您可以通过 WordPress 管理界面轻松调整永久链接设置。
在左侧,在 Settings
菜单下,您可以选择 Permalinks
:
您可以选择任何预配置的设置来组织 URL,也可以创建自己的设置。
做出选择后,单击“保存更改”以生成重写规则。
如果您允许 Web 服务器对您的 .htaccess
文件进行写访问,您应该会看到如下消息:
如果您 not 允许 Web 服务器对您的 .htaccess
文件进行写访问,您将获得需要手动添加到文件的重写规则。
复制 WordPress 为您提供的行,然后在您的服务器上编辑文件:
nano /var/www/html/.htaccess
这应该为您提供相同的功能。
结论
您现在应该在 Ubuntu 14.04 VPS 上启动并运行 WordPress 实例。 您可以从这里采取许多途径。 下面我们列出了一些选项: