乌徒帮技术范WordPressWordPress多站点 › wordpress开通多站点全程纪录

wordpress开通多站点全程纪录

分类:WordPress多站点

wordpress3之后的版本自身拥有了多站点的能力,这一进步让原来的wordpress mu就此止步,围绕在wordpress mu周围的开发者们都投向multisite的怀抱。但完完全全拥有一个多站点的wordpress博客群,也并非一件简单的事,而开通之后是一个不可逆的过程,无法再回到单一博客的状态。同时,开通multisite还需要主机的相关支持,如域名泛解析的支持等。而wordpress多站点的典型就是wordpress.com了,在wordpress.com上,拥有无数的依托在其上写博客的朋友,它们都拥有以wordpress.com为根域名的二级域名,你也可以去注册体验一下。在国内也有不少开发者喜欢上了这一群体性的博客站,如爱写字,你可以作为参考。

好了,废话不多,直接进入主题,一步一步开通你的multistie吧:

1、下载wordpress最新版本,上传空间,安装。

2、将define('WP_ALLOW_MULTISITE',true);加入到wp-config.php中。

3、在 wp-content 目录中创建一个 blogs.dir 目录,用于存储子站点用户上传数据。

4、在后台的“Tools”(工具)菜单中会多出一个“Network”(网络)的项目。点击进入,根据提示对域名进行设置。

5、根据页面提示,对 wp-config.php 文件进行修改。(切记,修改前请备份。)

6、根据页面提示,覆盖 .htaccess 文件中的内容。(切记,修改前请备份。)

到这里multisite就已经开通,重新登录后台,就会找到网络管理员的链接,进入以后就是对网站上的所有网站进行全局管理。注意:开通之后请先清理浏览器缓存,以确保可以进入后台,保持在线状态。

7、解决邮件发送问题,如果你的空间支持mail()函数,那么应该不用担心,如果不支持,则需要解决邮件发送问题。请参考解决wordpress评论回复时不能邮件通知一文中的第一点,解决邮件发送问题。如果你不解决该问题,那么有新用户在网站注册后永远收不到激活邮件,就永远不能使用站点。

8、如果你的网站确实不能发送邮件,幸运的是,你还可以用下面的方法来弥补:修改文件以可以让用户注册。修改根目录下的wp-signup.php中的confirm_blog_signup函数

function confirm_blog_signup($domain, $path, $blog_title, $user_name = ”, $user_email = ”, $meta) {
//增加下面三行:
global $wpdb;
$akey=$wpdb->get_var(“SELECT activation_key FROM wp_signups WHERE user_login = ‘$user_name’”);
$active_url=’http://’ . $domain . ‘/wp-activate.php?key=’ . $akey;
?>
<h2><?php printf(__(‘Congratulations! Your new blog, %s, is almost ready.’), “<a href=’http://{$domain}{$path}’>{$blog_title}</a>” ) ?></h2>

<p><?php _e(‘But, before you can start using your blog, <strong>you must activate it</strong>.’) ?></p>
<p><?php printf(__(‘Check your inbox at <strong>%s</strong> and click the link given. It should arrive within 30 minutes.’),? $user_email) ?></p>
<p><?php printf(__(‘Click here to start your blog:<a href=%2$s>%2$s</a>? ‘), $active_url,$active_url) ?></p>
<p><?php _e(‘If you do not activate your blog within two days, you will have to sign up again.’); ?></p>
<h2><?php _e(‘Still waiting for your email?’); ?></h2>
<p>
<?php _e(“If you haven’t received your email yet, there are a number of things you can do:”) ?>
<ul>
<li><p><strong><?php _e(‘Wait a little longer.? Sometimes delivery of email can be delayed by processes outside of our control.’) ?></strong></p></li>
<li><p><?php _e(‘Check the junk email or spam folder of your email client.? Sometime emails wind up there by mistake.’) ?></p></li>
<li><?php printf(__(“Have you entered your email correctly?? We think it’s %s but if you’ve entered it incorrectly, you won’t receive it.”), $user_email) ?></li>
</ul>
</p>
<?php do_action(’signup_finished’);
}

修改根目录下的wp-activate.php中的

printf(__(‘<p>Your account has been activated. You may now <a href=”%1$s”>login</a> to the site using your chosen username of “%2$s”.? Please check your email inbox at %3$s for your password and login instructions. If you do not receive an email, please check your junk or spam folder. If you still do not receive an email within an hour, you can <a href=”%4$s”>reset your password</a>.</p>’), ‘http://’ . $current_site->domain . $current_site->path . ‘wp-login.php’, $signup->user_login, $signup->user_email, ‘http://’ . $current_site->domain . $current_site->path . ‘wp-login.php?action=lostpassword’);

printf(__(‘ Your blog at “%2$s” is active. You may now login to your blog using your chosen username of “%3$s”. userpass of “%4$s”. Please check your email inbox at “%5$s” for your password and login instructions. If you do not receive an email, please check your junk or spam folder. If you still do not receive an email within an hour, you can reset your password.’), ‘http://’.$signup->domain, $signup->domain, $signup->user_login, $signup->user_pass, $signup->user_email, ‘http://’.$current_site->domain.$current_site->path.’wp-login.php?action=lostpassword’);

以实现可以不用登陆邮箱就可以注册成功。

9、屏蔽自动保存。修改wp-config.php中代码: define(‘WP_POST_REVISIONS’, false);同时安装disable-autosave插件。

10、设定全局字符集,在wp-config.php中加入header(“content-Type: text/html; charset=utf-8″);

11、安装屏蔽胡乱评论的插件Akmist,建议在网络管理员中全局启用,并为用户提供插件激活码。当然,你也可以写教程,让用户按照给定方法自己申请。

12、安装域名绑定插件wordpress-mu-domain-mapping-cn。不过我需要提醒你的是,你的主机和域名已经进行了恰当的泛解析设置,并且在开通过程中(上面第4步)选择了二级域名的形式才能让用户绑定自己的域名。至于该插件的安装和使用,虽然有些麻烦,但本文暂不细讲,请教google大神吧,如果没有找到,请在本文后面留言。

wordpress-mu-domain-mapping-cn安装教程:
1、下载插件包后解压,得到两个php文件domain_mapping.php和sunrise.php,将sunrise.php上传到wordpress的wp-content下,如果你已经拥有了一个sunrise.php,那么你必须将原来的和现在的进行合并;然后将domain_mapping.php上传到wp-content/plugins/目录下;
2、编辑wp-config.php,在适当的位置加入define( 'SUNRISE', 'on' );
3、在管理网络中启动插件;
4、在管理站点的工具》域名绑定管理中进行域名管理设置:填写multisite所在站的IP,当然也可以同时填入CNAME,即根域名,例如,我搭建的wordpress中国群就填入了wordpress.cn.gp;然后看下面两个复选框,一个是301重定向,指用户绑定域名后可以在前台使用他们自己的域名而wordpress.cn.gp后缀的域名会跳转到他们自己的域名上;还有一项是后台管理域名,即如果勾选,用户登陆后台时仍然使用wordpress.cn.gp后缀的域名。建议两项都勾选。保存,这个过程中会创建域名数据库表。
5、在管理站点工具》域名绑定中绑定新域名:输入新域名即可,勾选主域名,那么当别人访问你的网站时会进入主域名,如果在上面的4中没有勾选301跳转,那么你绑定多个域名后其他域名仍然可以访问,而如果勾选,访问其他域名就会跳转到主域名。

测试:http://wordpress.cn.gphttp://www.utubon.tk

注意:在很多空间主机上,绑定域名插件不会对主机进行操作,只是对访问博客的域名进行简单的重定向、重写或跳转,而并不会帮助你将域名绑定到主机。因此,当有人绑定了域名时,你需要他通知你,然后你在空间管理后台将新域名绑定到空间wordpress根目录。

注意:如果使用了该插件,可能会遇到新用户注册新站点时,给出不完整的激活链接和网址。你最好先自己注册测试下,如果出现这种情况,请按照上文8的方法修改文件。

13、修改主页,模板,营造一种博客社区的感觉。虽然buddypress很好,但是总觉得附加的东西太多,不好搞。请参考wordpress开通多站点之后调用全站博客最新文章最热文章到网站首页一文,可以帮助你尽快熟悉multisite。

好了,以上即frustigor开通wordpress多站点的重点记录,参考网站是http://blog.ncuxf.com,你可以作为参考,发挥自己的想象不断开发出新的功能。<待续>

填写个人信息,赶快回复吧!