LYP.CN

通过WordPress3.0及以上版本创建一个支持多域名的多站点博客

WordPress3.0以前,如果需要创建一个多用户的blog,则需要安装WordPress MU这个插件,当然,这不在我们今天探讨的话题之中,大家如果在用wordpress3.0以前的版本并且对多站点博客系统感兴趣,可以自己到wp官网查询相关的资料。

今天之所以要写这篇日志,主要也是由于wp官网对于这一功能的说明目前还几乎全部是英文的(英文说明在这里:http://codex.wordpress.org/Create_A_Network),所以我就斗胆做个简要的翻译,方便国内的站长参阅。当然,写这篇文章也是为了方便自己,自从重新给lyp.cn搭建blog系统以来,我越发觉得wp是一个能带给站长无穷乐趣的程序,所以也想更多的运用这一代码来创建我的另外一些网站,正好看到wordpress已经可以比较方便的设置多站点系统,所以打算拿几个域名来试验一下。今天我们以lhyz.org为例来进行讲解。(顺便做个广告,龙海一中的校友们可以来申请开通自己的带lhyz.org域名的个人blog哦)

继续这篇文章之前,需要明确的是:

1、你对linux类的服务器(redhatcentosfedora等)的管理和操作有基本的了解和经验。特别的,你需要对你服务器上的web系统(apache,nginx等等)有足够的了解并且有管理的权限。同时,你的服务器需要支持安装wordpress多站点系统的环境(php,mysql以及相应域名的解析)。

2、你对wordpress有一定的了解和使用经验。

3、最重要的是,你真的需要用wordpress来搭建一个多站点的平台。

好吧,让我们开始。

第一步,准备工作。

1、如果你还没安装wordpress,那么请下载wordpress源代码并正常安装。这一步就不多说了,wordpress官网有详细说明(有中文的)。

2、如果你不是全新安装而是在已经安装好了并且已经运行了一段时间的wordpress上进心多站点blog的扩展,那么建议你先备份wordpress数据库和文件。

3、如果你安装过其他插件,你需要先停用这些插件,等到设置完毕在重新启用这些插件。

4、你需要做一个规划,决定你的多站点blog是采用子域名的形式(a.lyp.cn,b.lyp.cn……,你的web服务器和域名需要支持泛域名解析)还是子目录的形式(lyp.cn/a,lyp.cn/b……)或者独立域名(lyp.cn,ky8.net,freepcware.net……)的形式(如果要采用这种模式,你还需要安装一个插件:WordPress MU Domain Mapping ,本文暂且不讨论这一形式,大家可以自行尝试)。(第三步的时候会用到这一选择)

第二步,修改wordpress的配置文件使wp支持多站点模式。

1、打开wp-config.php,找到“/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */”这句话(如果是英文版,就找到“/* That's all, stop editing! Happy blogging. */”这句),在这句话上面插入以下内容:

/* Multisite */
define(‘WP_ALLOW_MULTISITE’, true);

2、保存wp-config.php并上传到服务器覆盖原来的文件。

3、刷新你的wp后台,会在“工具”这个选项里看到“配置网络”这个选项(如下图)。

第三步,设置wp的多站点模式。

1、根据第一步的规划,在这里做一个选择(我们的实例里面采用子域名的形式)。


2、保存设置后,wp会进行泛域名解析的检查,以确定你已经设置好了相应的域名解析并且在web服务器上做了相应的绑定。如果没做好相关的设置,就会遇到这个错误提示:

3、在你的wp站点的wp-content目录下面新建一个子目录blogs.dir。blogs.dir用于存放各个子站点上传的多媒体文件,因此网页服务器需要拥有写权限。

4、修改wp-config.php,在这句话(中文版:“/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */”;英文版:“/* That's all, stop editing! Happy blogging. */”)的上方添加以下内容(这里假定根域名是lhyz.org,你安装的时候需要改为你的实际域名)然后保存并上传到服务器上覆盖原文件:

define(‘MULTISITE’, true);
define(‘SUBDOMAIN_INSTALL’, true);
$base = ‘/';
define(‘DOMAIN_CURRENT_SITE’, ‘lhyz.org’);
define(‘PATH_CURRENT_SITE’, ‘/’);
define(‘SITE_ID_CURRENT_SITE’, 1);
define(‘BLOG_ID_CURRENT_SITE’, 1);

5、如果你使用的web服务器是apache,则需要在站点根目录下新建(如果原来没有)或修改.htaccess(用以下内容覆盖):

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]

如果是web服务器是nginx,则需要在相应的server配置信息里加入以下内容:

rewrite ^.*/files/(.*) /wp-content/ms-files.php?file=$1;
if (!-e $request_filename) {
rewrite ^.+?(/wp-.*) $1 last;
rewrite ^.+?(/.*\.php)$ $1 last;
rewrite ^ /index.php last;
}

6、重新登录wp后台,就可以设置子站点了。在页面最上方,可以看到新增了一个“我的站点”的链接,点击进去就可以进行子站点的设置了。

ok,这就是激动人心的wordpress的多站点模式的创建过程,剩下的事情就大家自由发挥了。以上内容大多数基于wp官网的教程翻译而来,同时结合了我的实际操作。如有遗漏或错误,请多加指教,让我们共同进步。

 

(4871次阅读)

已有 0 条评论