如何在单个UbuntuVPS上设置多个WordPress站点
状态: 已弃用
本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:
原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.
请参阅:
本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。
介绍
WordPress 是一种流行的 CMS(内容管理系统),可以帮助您快速轻松地启动您的网站。 有时,您需要在同一台服务器上托管多个不相关的站点。
本指南将介绍如何在一个 VPS 上托管两个单独的 WordPress 实例。 他们每个人都有自己的域名。 这与 设置多站点 不同。
我们将通过使用虚拟主机来实现这一点。 本指南将使用 Ubuntu 12.04 VPS 服务器,但其他发行版应以类似方式运行。
先决条件
本指南的一些要求在我们的其他一些文章中进行了深入介绍。 在开始之前,请确保您已完成以下操作:
- 创建一个新的 DigitalOcean VPS 来托管您的 WordPress 网站。 按照本指南完成初始服务器配置。
- 使用 DigitalOcean 设置两个域名。 使用本指南了解如何 使用 DigitalOcean 设置域名。
- 使用本指南在 Ubuntu 上安装 LAMP 堆栈。
此时,您应该在 Ubuntu 上安装了 LAMP,并且您的两个域名都应该指向您的 droplet。
通过在 Web 浏览器中访问您的域名来确保是这种情况。 两个域都应该为您提供相同的默认 Apache 索引页面:
如果您的域没有指向此页面,那么您需要等待 DNS 更改传播,或者您在前面的步骤中配置错误。 在解决此问题之前不要继续。
下载 WordPress
准备好后,登录您的服务器并切换到您的主目录。 我们将在此处下载文件:
cd wget http://wordpress.org/latest.tar.gz
通过发出以下命令解压缩存档文件:
tar xzvf latest.tar.gz
创建站点数据库和用户
在继续之前,我们需要为 MySQL 中的每个站点配置一个独立的数据库和用户。 这将确保站点数据是独立的。
为本指南的目的,我们将使用以下信息:
站点名称 | 第一网站 | secondsite.com |
数据库名称 | 第一数据库 | 第二数据库 |
数据库用户 | 第一用户 | 第二用户 |
数据库密码 | 第一密码 | 第二密码 |
提供上表是为了为您提供我们将使用的命令的上下文。 填写以下命令时,请替换您自己的信息。
使用您在 MySQL 安装期间配置的管理员帐户登录 MySQL:
mysql -u root -p
系统将提示您输入 MySQL 根密码,然后您将进入 MySQL 提示符。
使用以下命令创建两个数据库:
CREATE DATABASE FirstDatabase; CREATE DATABASE SecondDatabase;
创建将与每个数据库关联的用户:
CREATE USER FirstUser@localhost; CREATE USER SecondUser@localhost;
接下来,为每个帐户设置密码访问权限:
SET PASSWORD FOR FirstUser@localhost= PASSWORD("FirstPassword"); SET PASSWORD FOR SecondUser@localhost= PASSWORD("SecondPassword");
通过向新用户授予权限来完成。 这会将数据库用户与其各自的数据库相关联并授予他们适当的权限:
GRANT ALL PRIVILEGES ON FirstDatabase.* TO FirstUser@localhost IDENTIFIED BY 'FirstPassword'; GRANT ALL PRIVILEGES ON SecondDatabase.* TO SecondUser@localhost IDENTIFIED BY 'SecondPassword';
刷新 MySQL 的权限信息以实现更改:
FLUSH PRIVILEGES;
退出 MySQL 以返回 shell 会话:
exit
配置站点根目录
我们将在我们服务器的 Web 根目录中的各个目录中安装这两个站点。
切换到“/var/www/”目录:
cd /var/www
为我们的每个站点创建一个目录。 这些将存储站点文件:
sudo mkdir FirstSite sudo mkdir SecondSite
在将 Web 内容移动到我们的文件夹之前复制示例配置:
cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php
最后,将文件复制到您在服务器的 Web 根目录下创建的目录:
sudo rsync -avP ~/wordpress/ /var/www/FirstSite/ sudo rsync -avP ~/wordpress/ /var/www/SecondSite/
将目录的所有权授予 Apache web 用户,然后将您的 linux 用户名添加到 web 组:
sudo chown www-data:www-data * -R sudo usermod -a -G www-data linux_user_name
WordPress 配置
我们将为每个站点配置有关我们站点的信息。
第一个站点配置
将目录更改为第一个站点的文档根目录:
cd /var/www/FirstSite
打开 WordPress 配置文件进行编辑:
sudo nano wp-config.php
找到包含以下字段的部分,并将数据库、用户名和密码替换为您的第一个站点:
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'FirstDatabase'); /** MySQL database username */ define('DB_USER', 'FirstUser'); /** MySQL database password */ define('DB_PASSWORD', 'FirstPassword');
保存并退出。
第二站点配置
将目录更改为第二个站点的文档根目录:
cd /var/www/SecondSite
打开 WordPress 配置文件进行编辑:
sudo nano wp-config.php
找到您为上一个站点编辑的同一部分。 这次您将输入第二个站点的信息。
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'SecondDatabase'); /** MySQL database username */ define('DB_USER', 'SecondUser'); /** MySQL database password */ define('DB_PASSWORD', 'SecondPassword');
保存并退出。
Apache 虚拟主机配置
我们需要配置 Apache 以将来自每个域的流量引导到它们各自的目录。 我们将通过为每个域创建单独的虚拟主机文件来做到这一点。
将目录更改为 Apache 的可用站点目录:
cd /etc/apache2/sites-available
通过复制默认虚拟主机文件为每个站点创建一个新的虚拟主机文件:
sudo cp default FirstSite sudo cp default SecondSite
第一个站点虚拟主机配置
打开您复制的第一个文件以配置第一个站点的虚拟主机:
sudo nano FirstSite
更改文件中的信息以匹配以下内容。 请记住用红色替换信息以匹配您的第一个站点:
<VirtualHost *:80> ServerAdmin your_email_address ServerName firstsite.com ServerAlias www.firstsite.com DocumentRoot /var/www/FirstSite <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/FirstSite> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> . . . . . .
如果您需要启用漂亮的永久链接,您可以在“ " 阻止到 "AllowOverride All"。 您可以在此处了解有关 漂亮永久链接的要求 的更多信息。
进行更改后,保存并关闭文件。
第二站点虚拟主机配置
打开第二个虚拟主机文件进行编辑:
sudo nano SecondSite
更改信息以反映您的第二个站点的信息:
<VirtualHost *:80> ServerAdmin your_email_address ServerName secondsite.com ServerAlias www.secondsite.com DocumentRoot /var/www/SecondSite <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/SecondSite> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> . . . . . .
保存并关闭文件。
最终配置
要让我们的网站正常运行,还需要几个步骤。
首先,WordPress 需要安装一个额外的 PHP 模块才能正常运行。 通过键入安装它:
sudo apt-get install php5-gd
接下来,通过键入以下命令启用我们创建的虚拟主机文件:
sudo a2ensite FirstSite sudo a2ensite SecondSite
最后,重新加载 Apache 以便它读取我们的更改:
sudo service apache2 reload
看到结果
要查看您的新 WordPress 网站,只需在网络浏览器中导航到您的域名即可。
如果您已正确配置所有内容,您应该会看到如下所示的页面:
您现在可以单独登录并配置每个站点。 这些站点是完全独立的,可以像存在于两个完全不同的 VPS 服务器上一样进行管理。