Apache上,如何部署多个WordPress站点?

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_wpuserpassword替换为您要使用的用户名和密码:
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

两个WordPress设置的示例是:

主机名

数据库

用户名

密码

example1.com

example1_wordpress

example1_wpuser

password1

example2.com

example2_wordpress

example2_wpuser

password2

example.comexampleexample1example2和本教程中的其他示例变量的每个实例替换为您各自站点的域名和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/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提供支持。

  1. 转到Apache sites-available目录:
 cd /etc/apache2/sites-available
  1. 根据需要复制000-default.conf
 cp 000-default.conf example1.conf   cp 000-default.conf example2.conf
  1. 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>
  1. 启用该站点。这将自动在/ etc / apache2 / sites-enabled /中创建example.com文件:
 sudo a2ensite example1.conf
  1. 重新启动Apache以启用更改:
 sudo service restart apache2
  1. 对要运行的每个WordPress站点重复步骤2到5。

配置WordPress

更多信息

有关此wordpress的其他信息,您可能需要参考以下资源。

完成所有操作后,你就可以在浏览器使用你的服务器IP打开你的wordpress安装页面啦!


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注