WordPress 是世界上最流行的内容管理系统(CMS),通过本文我们来介绍一下,如何在 Ubuntu 18.04 系统的主机服务器上配置运行多个 WordPress 网站。
安装 LAMP
更新服务器系统软件:
apt-get update && apt-get upgrade
WordPress 可以部署在 LAMP 堆栈上。LAMP(Linux、Apache、MySQL、PHP)堆栈是一种通用、免费且开源的 Web 堆栈,用于在 Linux 环境中托管 Web 内容。
可以使用 Tasksel 工具安装 LAMP 堆栈:
sudo tasksel install lamp-server
如果还没有安装 Tasksel ,可以执行下面命令安装:
$ sudo apt-get install tasksel
使用 Tasksel 工具的一般语法为:
$ sudo tasksel install task_name
$ sudo tasksel remove task_name
$ sudo tasksel command_line_options
创建网站数据库和用户
对于每个 WordPress 网站来说,都需要一个独立的 MySQL 数据库。下面显示了配置两个 WordPress 网站的示例。将example1
和 example2
替换为实际的网站名称。
领域 | 数据库 | 用户名 | 密码 |
---|---|---|---|
example1.com | database1_wordpress | example1_wpuser | 密码 |
example2.com | database2_wordpress | example2_wpuser | 密码 |
以 root 用户身份登录 MySQL 命令行:
sudo mysql -u root
创建每个 WordPress 网站的数据库:
CREATE DATABASE database1_wordpress; CREATE DATABASE database2_wordpress;
创建数据库用户,用实际的用户名和密码替换用户名和密码:
CREATE USER 'example1_wpuser' IDENTIFIED BY 'password1'; CREATE USER 'example2_wpuser' IDENTIFIED BY 'password2';
授予用户对其各自数据库的权限:
GRANT ALL PRIVILEGES ON database1_wordpress.* TO 'example1_wpuser'; GRANT ALL PRIVILEGES ON database1_wordpress.* TO 'example2_wpuser';
退出 MySQL:
quit
安装多个 WordPress 网站
分别为每个 WordPress 网站创建目录:/var/www/html/example1.com/
、/var/www/html/example2.com/
。
sudo mkdir -p /var/www/html/{example1.com,example2.com}/public_html
创建一个 src
目录来保存 WordPress 压缩包和文件:
sudo mkdir /var/www/html/src/
下载最新版本的 WordPress ,并将其解压到 src
文件夹中:
cd /var/www/html/src/ sudo wget http://wordpress.org/latest.tar.gz
将 WordPress 文件复制到网站的 public_html
文件夹中:
sudo cp -R /var/www/html/src/wordpress/* /var/www/html/example1.com/public_html/ sudo cp -R /var/www/html/src/wordpress/* /var/www/html/example2.com/public_html/
授予 Apache 对 WordPress 网站目录的所有权:
sudo chown -R www-data:www-data /var/www/html/{example1.com,example2.com}/
配置 Apache 虚拟主机
在 /etc/apache2/sites-available/ 目录下,创建第一个虚拟主机配置文件 example1.com
,并将以下代码复制到文件中。
/etc/apache2/sites-available/example1.conf
<VirtualHost *:80>
# The primary domain for this host
ServerName example1.com
# Optionally have other subdomains also managed by this Virtual Host
ServerAlias example1.com *.example1.com
DocumentRoot /var/www/html/example1.com/public_html
<Directory /var/www/html/example1.com/public_html>
Require all granted
# Allow local .htaccess to override Apache configuration settings
AllowOverride all
</Directory>
# Enable RewriteEngine
RewriteEngine on
RewriteOptions inherit
# Block .svn, .git
RewriteRule .(svn|git)(/)?$ - [F]
# Catchall redirect to www.example1.com
RewriteCond %{HTTP_HOST} !^www.example1.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) https://www.example1.com/$1 [L,R]
# Recommended: XSS protection
<IfModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
Header always append X-Frame-Options SAMEORIGIN
</IfModule>
</VirtualHost>
通过以下命令启用站点配置。这将在 /etc/apache2/sites-enabled/
目录创建一个指向 example1.com
配置文件的符号链接:
sudo a2ensite example1.conf
为第二个 WordPress 网站创建另一个虚拟主机配置文件 example2.com
,并将以下代码复制到文件中。
/etc/apache2/sites-available/example2.conf
<VirtualHost *:80>
# The primary domain for this host
ServerName example2.com
# Optionally have other subdomains also managed by this Virtual Host
ServerAlias example2.com *.example2.com
DocumentRoot /var/www/html/example2.com/public_html
<Directory /var/www/html/example2.com/public_html>
Require all granted
# Allow local .htaccess to override Apache configuration settings
AllowOverride all
</Directory>
# Enable RewriteEngine
RewriteEngine on
RewriteOptions inherit
# Block .svn, .git
RewriteRule .(svn|git)(/)?$ - [F]
# Catchall redirect to www.example2.com
RewriteCond %{HTTP_HOST} !^www.example2.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) https://www.example2.com/$1 [L,R]
# Recommended: XSS protection
<IfModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
Header always append X-Frame-Options SAMEORIGIN
</IfModule>
</VirtualHost>
同样,通过如下命令启用站点配置文件:
sudo a2ensite example2.conf
如果 rewrite_module
模块未启用,需要在重新加载 Apache 之前启用它以使配置生效。要检查启用了哪些 Apache 模块,请运行以下命令:
sudo apache2ctl -M
验证 rewrite_module
是否在列表中。如果没有看到该模块,请使用以下命令启用它:
sudo a2enmod rewrite
重新加载 Apache 使配置生效:
sudo systemctl reload apache2
安装 WordPress
通过浏览器访问域名或IPV4地址开始 WordPress 安装:
http://192.168.1.1
http://
192.168.1.1
会打开 WordPress 的安装设置页面:
按照页面指示进行操作,直至完成安装。
作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/linux/configure-apache-to-run-multiple-wordpress-sites/