WordPress 从3.0 版本开始,就不再单独开发wordpress mu 版本,而是将多用户版本(MU: multiple user)整合到了Wordpress 普通版本中,一起维护和更新,被称为network或者multisite(MS)。在最新版本wordpress 3.2.1 安装包中,我们看到wordpress/wp-admin 目录下有个network 文件夹,就是wordprss 3+的多用户版本文件包所在目录位置。
wordpress 3.0 + 如何开启wordpess 多用户版本,只需下载最新的普通单用户wordpess 安装包即可:WordPress下载。然后和普通版本一样,安装Wordpress博客之后, 登录后台启用Network,下面记录的是wordpress开启network 多用户版本的步骤(官方教程:wordpress create a network)。
WordPress 多用户版本的启用有两种方式可供选择,使用二级域名创建多用户网站(如site1.baidu.com),或使用二级目录创建多用户网站(如 baidu.com/stie1)。首先检查服务器空间和域名是否符合系统需求:
- 二级域名:Apache 配置中启用了二级域名通配符 wildcard subdomains (很多共享虚拟主机没有开启该功能);同时域名支持DNS 泛域名解析。
- 二级目录:启用了 mod_rewrite,可以读取 .htaccess文件。如果能启用permalinks 永久固定链接,说明符合条件。
第一步 WordPress备份
WordPress 数据库备份和文件备份。
第二步 服务器/域名配置
(使用二级目录这一步可略过):
- 设置Apache 配置文件 httpd.conf,支持二级域名通配符指向,如加入
ServerAlias *.baidu.com
- 域名DNS设置泛域名解析,如添加一条A记录:
*.baidu.com 127.1.1.1
第三步:修改wp-config.php 设置允许多用户多网站
打开博客配置文件wp-config.php ,找到/* That's all, stop editing! Happy blogging. */,在它之前(一般在define('WP_DEBUG', false);之后),添加define('WP_ALLOW_MULTISITE', true);保存,登录或重新刷新wp管理后台。访问 Administration > Tools > Network Setup:
![wordpress-network-setup[1]](http://www.kele.in/wp-content/uploads/2012/01/wordpress-network-setup1-300x161.png)
Network setup
第四步:安装Wordpress Network多用户博客网站
若出现提示Warning: Please deactivate your plugins before enabling the Network feature.,先禁用所有激活的插件。
![create-wordpress-sites-network[1]](http://www.kele.in/wp-content/uploads/2012/01/create-wordpress-sites-network1-300x189.png)
创建wordpress 多网站network – 选择二级域名或二级目录
如上图所示,
Addresses of Sites in your Network选择使用二级目录还是二级域名安装多用户版博客。
Server Address 以后如果想从二级目录换成二级域名的,建议设置成不要带www。
Network Title 和 Admin E-mail Address 填上标题和管理员邮箱。
最后点击install 安装。
第五步:开启Wordpress Network
0. 备份 wp-config.php 和 .htaccess 文件.
1. 在/wp-content/目录下创建 blogs.dir 目录,文件目录权限和wp-content一致。
2. 在wp-config.php的/* That’s all, stop editing! Happy blogging. */之前添加如下代码(注意加在wp-config.php文件末尾是无效的,会提示Warning: An existing WordPress network was detected.Please complete the configuration steps. To create a new network, you will need to empty or remove the network database tables。复制根据你的博客配置在页面上自动生成的代码,如)
define( ‘MULTISITE’, true ); define( ‘SUBDOMAIN_INSTALL’, false ); $base = ‘/’; define( ‘DOMAIN_CURRENT_SITE’, ‘www.farlee.info’ ); define( ‘PATH_CURRENT_SITE’, ‘/’ ); define( ‘SITE_ID_CURRENT_SITE’, 1 ); define( ‘BLOG_ID_CURRENT_SITE’, 1 );
3. 复制页面上自动生成的重写规则,加入到.htaccess 文件中,或替换已经生成的其他wordpress url重写规则。比如我使用下面的代码替换掉启用permalinks时生成的在<IfModule mod_rewrite.c> 和 </IfModule>之间的代码片段:
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]
4. 重新登录
第六步:设置Network-wpmu
WordPress 3.2 在右上角点击用户名,在下拉列表中选择 Network Admin管理Network。
![network-admin[1]](http://www.kele.in/wp-content/uploads/2012/01/network-admin1.png)
注:在wordpress 3.0中,超级管理员有一个新的network 管理菜单,wp3.1 则为Network Admin专门设置一个子版面,链接地址在管理面板的右上角的用户名旁边。然后可以在Settings 面板配置network选项(如设置允许新用户注册:Allow new registrations), 在 Sites 面板管理多网站。