Pages

Friday, 31 May 2013

在PHP空间搭建Tw2other

在众多Twitter同步的方法中,Tw2other是最好的选择。首先,Tw2other不会同步自己的用户名;其次,能过滤@、RT推;最后,同步的延迟只有几十秒,算的上是实时同步。

对于Tw2other的搭建,网上也有很多教程,所以今天这一篇并不想重复网上的内容,而是侧重如何在000webhost上搭建Tw2other。能在000webhost上搭建Tw2other的话,在其他主机上搭建只会更简单,举一反三即可。

000webhost是一款优秀的美国免费主机,号称比某些收费主机还好,据说能免费到2012年(然后看是不是世界末日再决定是不是继续免费么。。。),但其速度和稳定性确实对得起这个“号称”。

Tw2other是由@ cluries开发的基于php主机的Twitter同步程序,具体可以查看项目主页(http://code.google.com/p/tw2other/, http://code.google.com/p/tw2ohter/)。另外,插一句,如果没有耐心折腾的话,这一篇就直接无视吧,那么好的免费主机浪费了也怪可惜的。

下面就开始介绍搭建的步骤。

空间申请

可能由于中国地区的滥用,000webhost是不对中国地区的IP开放申请的。所以,申请000webhost的免费空间时,最好使用高匿代理或者VPN,否则申请是不会予以通过的。网上所说的Submit Ticket这一招也早就不管用了。

代码下载

到(http://code.google.com/p/tw2ohter/downloads/list)下载源码,最新版已经支持腾讯微博,但由于对腾讯没有好感,所以这一篇使用的是0.85版本。

代码修改

这是最重要的一步。从项目主页下载的代码,如果直接上传到空间,是肯定不会搭建成功的。因为000webhost限制了对twitter.com的访问,所以要对代码进行修改,以绕过这一限制。

需要对3个文件进行修改:

1. twitteroauth文件夹下的twitteroauth.php
修改很容易,原则就是把所有含有“twitter.com”的链接换成二级域名,具体如何修改见下图。这里有我已经修改好的 (http://www.mediafire.com/?35vf3pydo4zfups),其中oauth验证用的是@ LonelySwan的itap,当然自己搭建的itap也可以。


2. config.php
这是Tw2other的设置文件,大部分需要设置的里面都有说明,就不重复了。需要注意的是:
define ( 'INTERVAL', 50 );——是同步延时,不建议修改
define('OAUTH_DIR','../../oauth/');——是用来设置oauth文件夹路径的,视情况自己修改
$twitterSyncLevel = 0;——是用来设置是否过滤@、RT推的,视需要自己修改

3. cron.php
要在这里填上index.php的路径

代码的修改就这些,当然要在Twitter注册Application获取CONSUMER_KEY和CONSUMER_SECRET,同步到新浪微博的话还要在新浪微博注册应用获取api_key,这里就不赘述了。

代码上传

代码的上传用FlashFxp就行了。这个无需多说。
需要注意的是需要把tw2other文件夹、cookies文件夹、oauth文件夹设置为可写,即权限777。

Cron Job设置

000webhost是支持cron job的,只有设置了cron job才能实时同步。

第一步,登录用户面板。

第二步,进入CPanel。

第三步,进入Cron Jobs,并按下图设置即可,方框内要填上“/public_html/tw2other/cron.php”,即cron.php的绝对路径。


至此,Tw2other在000webhost上搭建完毕。

使用方法

只需访问http://XX.OO.com/tw2other,oauth验证一下即可。如果不成功的话,将Tw2other目录下的lock文件删除,重新oauth验证。

当看到Tw2other文件夹下,有tweet.id和update.time文件时,证明oauth成功,并且cron job正常工作。

此时Tw2other的搭建大功告成,尽情享受同步的乐趣吧.