WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。Alexa排行前100万的网站中有超过16.7%的网站使用WordPress。到了2011年8月,约22%的新网站采用了WordPress。WordPress是目前因特网上最流行的博客系统。WordPress在最着名的网络发布阶段中脱颖而出。如今,它控制着超过7000万个站点。本教程介绍如何使用Apache虚拟主机将系统配置为在单个CVM上运行多个WordPress站点。
开始之前
- 你需要安装LAMP环境,关于如何安装请参考如何在服务器上安装LAMP。
- 确保MySQL为您希望运行的每个单独的WordPress实例设置了数据库。如果您没有WordPress数据库,请创建或在这里购买一个:
- 以root用户登录MySQL命令行:
mysql -u root -p
- 使用单独的命名空间创建WordPress数据库:
CREATE DATABASE example1_wordpress;
- 创建一个用户,并为新创建的
example1_wordpress
数据库授予权限,将example1_wpuser
和password
替换为您要使用的用户名和密码:
CREATE USER 'example1_wpuser' IDENTIFIED BY 'password1'; GRANT ALL PRIVILEGES ON example1_wordpress.* TO 'example1_wpuser';
- 对要运行的每个WordPress实例重复步骤2和3,将
example
命名空间替换为您选择的代表其他站点的关键字:
CREATE USER 'example2_wpuser' IDENTIFIED BY 'password2'; GRANT ALL PRIVILEGES ON example1_wordpress.* TO 'example2_wpuser';
- 退出MySQL:
quit
- 本教程是为非root用户编写的。需要提升权限的命令以
sudo
为前缀。应使用提升的权限编辑所有配置文件。在运行文本编辑器之前,请记住要包含sudo
。
example1_wordpress
数据库授予权限,将example1_wpuser
和password
替换为您要使用的用户名和密码:example
命名空间替换为您选择的代表其他站点的关键字:sudo
为前缀。应使用提升的权限编辑所有配置文件。在运行文本编辑器之前,请记住要包含sudo
。两个WordPress设置的示例是:
主机名 |
数据库 |
用户名 |
密码 |
---|---|---|---|
example1.com |
example1_wordpress |
example1_wpuser |
password1 |
example2.com |
example2_wordpress |
example2_wpuser |
password2 |
将example.com
,example
,example1
,example2
和本教程中的其他示例变量的每个实例替换为您各自站点的域名和namespace关键字。
安装多个WordPress实例
- 创建将托管您的网站和WordPress源文件的目录。在本教程中,主目录
/var/www/html/example1.com/
用作示例。导航到该新目录:
sudo mkdir /var/www/html/example1.com/ sudo mkdir /var/www/html/example2.com/ cd /var/www/html/example1.com/
- 在
/var/www/html/example1.com/
下创建一个名为src
的目录。下载并解压缩最新版本的WordPress:
sudo mkdir /var/www/html/example1.com/src/ cd /var/www/html/example1.com/src/ sudo wget http://wordpress.org/latest.tar.gz tar -zxvf latest.tar.gz
- 重复
example2.com
的过程:
sudo mkdir /var/www/html/example2.com/src/ cd /var/www/html/example2.com/src/ sudo wget http://wordpress.org/latest.tar.gz sudo tar -zxvf latest.tar.gz
- 将
latest.tar.gz
重命名为wordpress
,后跟日期以存储原始源文件的备份。 如果您将来安装新版本并需要恢复到以前的版本,这将非常有用:
sudo mv latest.tar.gz wordpress-`date "+%Y-%m-%d"`.tar.gz
/var/www/html/example1.com/
用作示例。导航到该新目录:/var/www/html/example1.com/
下创建一个名为src
的目录。下载并解压缩最新版本的WordPress:example2.com
的过程:latest.tar.gz
重命名为wordpress
,后跟日期以存储原始源文件的备份。 如果您将来安装新版本并需要恢复到以前的版本,这将非常有用:重复此步骤/var/www/html/example2.com/src
。
- 将您的Web服务器用户
www-data
设置为站点主目录的所有者:
sudo chown -R www-data:www-data /var/www/html/example1.com/ sudo chown -R www-data:www-data /var/www/html/example2.com/
- 将WordPress文件复制到您的
public_html
文件夹:
sudo cp -R /var/www/html/example1.com/src/wordpress/* ../public_html/ sudo cp -R /var/www/html/example2.com/src/wordpress/* ../public_html/
- 为您的Web服务器提供
public_html
文件夹的所有权:
sudo chown -R www-data:www-data /var/www/html/example1.com/public_html sudo chown -R www-data:www-data /var/www/html/example2.com/public_html
- 对要运行的每个WordPress实例重复此操作。
配置Apache虚拟主机
到目前为止,这些步骤非常简单,类似于设置单个WordPress实例。在本节中,配置Apache虚拟主机,以便为example1.com
的访问者提供/var/www/html/example1.com/public_html
中的内容,并由MySQL数据库example1_wordpress
提供支持。
- 转到Apache
sites-available
目录:
cd /etc/apache2/sites-available
- 根据需要复制
000-default.conf
:
cp 000-default.conf example1.conf cp 000-default.conf example2.conf
- 在
example1.com
中输入以下内容:
<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 /
中创建example.com
文件:
sudo a2ensite example1.conf
- 重新启动Apache以启用更改:
sudo service restart apache2
- 对要运行的每个WordPress站点重复步骤2到5。
配置WordPress
更多信息
有关此wordpress的其他信息,您可能需要参考以下资源。
- WordPress.org
- WordPress Codex
- WordPress支持
- Apache Virtual Host文档
- 在CentOS上用Caddy安装WordPress
- 如何在Ubuntu上 dockerize和部署多个WordPress应用程序
- 如何在Ubuntu 18.04上安装带有LAMP的WordPress
- 如何在Centos系统上安装Wordpress
完成所有操作后,你就可以在浏览器使用你的服务器IP打开你的wordpress安装页面啦!
发表回复