wordpress多用户站点配置

最近因要对插件做多站点的测试,因配置了下,特写下这些,希望对不熟悉这个的人有些许帮助。

可以用以下两种模式之一来配置多用户站点:

Sub-domains — 即子域名模式,像site1.example.com 和 site2.example.com
Sub-directories — 子目录模式,像 example.com/site1 和 example.com/site2

注意:
wp安装时间超过一个月的不可用“子目录”模式,只能用子域名模式。
子域名方式使用的是web服务器的泛子域名解析功能,而
子目录方式使用的是web服务器的mod_rewrite模块。无论你决定采用哪种方式,你应该先确定你的服务器是否支持此模式。
某些虚拟主机可能不支持泛子域名解析的,这样的话,子域名模式可能就行不通喽。


根据官方文档,存在以下情况之一,你不能创建一个网络(多用户站点):

“WordPress address (URL)” 与 “Site address (URL)” 不同
“WordPress address (URL)” 使用除’:80′, ‘:443′之外的其它端口

存在以下情况之一,你不能创建一个Sub-domain 方式的网络(多用户站点):

WordPress 安装在一个目录 (不是document root,即网站的根目录).
“WordPress address (URL)” 为 localhost.
“WordPress address (URL)” 的 IP地址如127.0.0.1等

存在以下情况,你不能创建一个Sub-directory 方式的网络(多用户站点):

wp安装时间超过一个月


好了,下面开始操作了。

Step 1: 备份你的网站数据

Step 2: 设置泛子域名解析

1.Apache 必须被配置为接受 wildcards(泛域名解析)

打开 httpd.conf file 或包含 VHOST entry的文件并添加如下指令:

1
ServerAlias *.example.com

2.在DNS记录中, 添加指向主域(安装wordpress那个域名)的泛解析.

像:

1
A *.example.com

相关文档:
Wildcard DNS record (Wikipedia)
Apache Virtual Host (Apache HTTP Server documentation)
如cpanel 、Plesk和DirectAdmin panel等的添加方式,见这儿

Step 3: 设置允许 Multisite

编辑wp-config.php ,在/* That’s all, stop editing! Happy blogging. */一行上面添加:

1
define('WP_ALLOW_MULTISITE', true);

这样再打开后台,在工具那里才会出现“ Network ”菜单。

Step 4:安装network

在 Administration > Tools > Network Setup,这里你会被要求在sub-domains 和 sub-directories 之间做出选择。
填写相关信息,保存。

Step 5: 配置和启用Network

0. 首先,备份现存的 wp-config.php 和 .htaccess 文件.
1. 在/wp-content/目录下面创建名为blogs.dir的目录,并设置可写权限。
2. 编辑wp-config.php,在 /* That’s all, stop editing! Happy blogging. */这一行上面添加上一步中要求加上的内容,如:

1
2
3
4
5
6
7
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
$base = '/';
define( 'DOMAIN_CURRENT_SITE', 'wordpress.t.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

并访问https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org 私钥生成服务,把生成的私钥copy下来粘贴进此文件。
3. 添加上一步中生成的mod_rewrite 规则到 .htaccess 文件,如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]
</IfModule>

# END WordPress

4. 再次登录,检查是否能正常登录。

Step 6: Network 管理设置

登录进去后,在右上角的admin screen区域,点击你的名字,下面会有“管理网络”(Network Admin)的链接。
好了,这里的配置我就不多说了,比较简单。这里可以配置全局启用的插件、主题,还有每个用户允许的最大附件空间,上传单个附件的最大大小。另外有一点我这里说一下,每添加一个新站点,wordpress数据库中的表就会增加9个。

在 wp-config.php 文件中,你可以通过定义SUBDOMAIN_INSTALL来改变安装模式:
使用 SubDomains

1
define( 'SUBDOMAIN_INSTALL', true );

使用 SubFolders

1
define( 'SUBDOMAIN_INSTALL', false );

如果你做了新的调整,你得重新修改 .htaccess 。

Apache Virtual Hosts and Mod Rewrite(Apache虚拟主机和Rewrite模块)
在Apache Virtual host 中启用 mod_rewrite模块,你需要在 DocumentRoot中做一些选项设置,如

1
2
3
4
5
<VirtualHost *:80>
  DocumentRoot /var/www/vhosts/wordpress
  <Directory /var/www/vhosts/wordpress>
    AllowOverride Fileinfo Options
  </Directory>

.htaccess and Mod Rewrite(使用.htaccess来实现Rewrite)

SubFolder Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress

SubDomain Example

1
2
3
4
5
6
7
8
9
10
11
12
13
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]
# END WordPress

Network Admin 链接的位置

3.2 – On the admin header, as a drop-down under “Howdy, YOURNAME.”
3.3 – On the admin bar, as a drop-down under your “My Sites”

参考文档:http://codex.wordpress.org/Create_A_Network

更多
2 Responses Post a comment
  1. Demon

    這個不錯的說。有需要的。先標誌一下。

Leave a Reply

Note: You may use basic HTML in your comments. Your email address will not be published.

Subscribe to this comment feed via RSS