新天府之国一周感受

November 29th, 2010 3 comments

来这里一周了, 一直到处跑, 没时间静下来写东西, 甚至没什么时间摸电脑. 明天是Big day, 在Seattle的小旅馆里, 正好没什么事, 胡乱写点.

天府之国

这个题目是自己瞎编的, 按照小时候写作文的习惯, 先要破题.

据说"破题"是八股中的一环, 题外话了. 又据说四川盆地是"天府之国", 还有人说其实最早"天府之国"指的是古都长安所在的关中平原.

现在天府之国在哪? 地球人都知道, 是吧. Read more…

Categories: 天府游历 Tags:

自动连接ssh -D的launchd配置

September 12th, 2010 2 comments

背景

与Ubuntu的upstart类似,Mac OS上提供了launchd作为后台服务的管理程序。ssh -D命令可以为用户提供sock5代理,但是每次访问网络之前,都要打开Terminal手动运行ssh命令是一件很烦的事情。加上网络条件不好,ssh频繁退出,就更烦了。Linux下有autossh+upstart/init可以选择,Mac OS下就需要借助launchd了

配置Mac到远程ssh服务器的自动登录

为了将ssh -D变成launchd管理的后台服务,配置ssh自动登录是必须的。Mac下过程与Linux不太一样,首先打开Terminal,生成用户ssh证书: Read more…

Categories: 开源软件 Tags: , ,

autossh在Ubuntu上的配置

September 11th, 2010 1 comment

背景

ssh除了可以提供远程登录服务之外,还可以建立主机之间的网络隧道,尤其是可以提供SOCKS代理(传说中的ssh -D)。但用ssh命令建立的隧道可能会受网络的影响而中断,不能为用户提供持续的服务。autossh正好是解决上述问题的工具:为用户提供可靠的ssh隧道服务。

在使用autossh之前,我的做法是:首先,做一个shell脚本检查相应的ssh进程是否存在,如不存在,则重新启动ssh隧道;然后,将上述脚本加入系统crontab,定时执行,例如1分钟1次。但是,用shell脚本检查有一个缺点:有时候,ssh进程虽然并没有退出,但ssh隧道已经不能正常转发报文了,shell脚本难以发现这类情况。为了避免ssh进程存在、隧道假死的问题,可以采用定时重启ssh进程并重新建立ssh隧道的方法。但重启间隔不好设置:间隔过短,导致ssh隧道用户频频掉线,影响用户使用;间隔过长,一旦隧道假死,在重启ssh服务之前会有较长的服务中断间隔。

autossh对ssh隧道的监控则更加有效。首先,在开始执行时,autossh首先创建ssh子进程,建立隧道。同时autossh作为父进程,随时监控ssh进程是否退出,一旦退出则立即启动新的ssh隧道。autossh这种做法比crontab定时检查在失效恢复速度上更具有优势。其次,autossh还会定期检查ssh隧道是否能够正确传输数据,如发现隧道假死,也会强制重启ssh,建立新的ssh隧道。 Read more…

Categories: 开源软件 Tags: , ,

用crond运行WordPress中的计划任务

September 10th, 2010 2 comments

WordPress站点运行时需要偶尔在后台定时运行一些任务,如定时发布文章,清空Cache的内容,同步别的站点的RSS Feed等。传统来说,计划任务可以通过Linux系统下的crond实现,但考虑到不是所有的网站托管服务都能让用户设定crontab,因此Wordpress中自带了一套计划任务引擎,姑且称之为WP-Cron,这是Wordpress自带的一套函数,和单独的wp-cron插件不是一回事。 Read more…

Categories: Wordpress Tags: ,

用fail2ban监控nginx日志

September 9th, 2010 Comments off

背景

fail2ban是一款日志扫描软件, 尝试从日志中发现恶意的攻击行为, 尤其是用户名密码的失败尝试, 并可以通过iptables防火墙封禁恶意用户的IP, 以防止进一步的攻击.

最近在nginx服务器的日志中发现了很多可疑的请求, 看起来像是试图从Web服务器上发现漏洞页面:

221.204.246.105 - - [08/Sep/2010:06:45:13 +0000] "GET /dbzhedit/ewebeditor.asp HTTP/1.1" 404 5748 "-" "Mozilla/4.0"
221.204.246.105 - - [08/Sep/2010:06:45:14 +0000] "GET /edit/ewebeditor.asp HTTP/1.1" 404 5744 "-" "Mozilla/4.0"
221.204.246.105 - - [08/Sep/2010:06:45:15 +0000] "GET /ugvbadmin/edit/ewebeditor.asp HTTP/1.1" 404 5754 "-" "Mozilla/4.0"
222.189.228.42 - - [08/Sep/2010:18:10:50 +0000] "GET /piqmUserReg.asp HTTP/1.1" 404 5790 "-" "Mozilla/4.0"
222.189.228.42 - - [08/Sep/2010:18:10:51 +0000] "GET /UserReg.asp HTTP/1.1" 404 5786 "-" "Mozilla/4.0"
222.189.228.42 - - [08/Sep/2010:18:10:52 +0000] "GET /ioifupfile_flash.asp HTTP/1.1" 404 5795 "-" "Mozilla/4.0"
222.189.228.42 - - [08/Sep/2010:18:10:53 +0000] "GET /upfile_flash.asp HTTP/1.1" 404 5791 "-" "Mozilla/4.0"
222.189.228.42 - - [08/Sep/2010:18:10:53 +0000] "GET /admin/zhmuupfile_flash.asp HTTP/1.1" 404 5801 "-" "Mozilla/4.0"
222.189.228.42 - - [08/Sep/2010:18:10:54 +0000] "GET /admin/upfile_flash.asp HTTP/1.1" 404 5797 "-" "Mozilla/4.0"
222.189.228.42 - - [08/Sep/2010:18:10:54 +0000] "GET /admins/xvmbupfile_flash.asp HTTP/1.1" 404 5802 "-" "Mozilla/4.0"

安装fail2ban

我觉得可以用fail2ban扫描日志中上述攻击, 并且封禁恶意用户. 首先安装fail2ban, 在Ubuntu/Debian下用apt-get一次搞定: Read more…

Categories: 开源软件 Tags: ,

WP-Mobile-Pack在Multisite模式下的修正

September 8th, 2010 Comments off

WordPress Mobile Pack插件为Wordpress站点提供适合移动设备浏览的页面. WPMP支持3种检测模式:

1. 根据浏览器User-Agent决定博客输出,
2. 为博客单独设置一个Mobile域名, 根据用户访问的域名决定输出,
3. 上述基于浏览器和基于域名的结合.

从3.0版本开始, WordPress支持Multisite模模式, 也就是原先的Wordpress-MU的延续. 在Multisite模式下, 可以用同一套Wordpress软件和数据库同时管理多个Blog. 通过domain_mapping插件, 还可以为每个Blog设置多个域名. domain_mapping插件可以为每个Blog设置一个主域名, 并且将其他域名的访问请求通过”Permanent Redirect”的方法重定向到主域名上, 据说这样可以提高站点的Pagerank. Anyway, 这个功能一般推荐选上, 如下图所示: Read more…

Categories: Wordpress Tags: ,

删除Mac OS X上的MySQL

September 7th, 2010 Comments off

MySQL提供的Mac OS X上的安装包不能卸载,需要手动删除。到网上搜到前辈总结的过程,稍微改了改,应该可以直接运行。

#!/bin/sh
 
sudo killall /usr/local/mysql/bin/mysqld
[ -e /usr/local/mysql ] && sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo sed -i -e '/MYSQLCOM=-YES-/ d' /etc/hostconfig
echo done !
Categories: 开源软件 Tags: ,

WordPress 3.0 Update Network超时

September 1st, 2010 Comments off

最近将Blog升级到Wordpress 3.0. 新版本支持multisite模式, 我正好可以把几个Blog合并管理. 激活多站点模式后, WordPress管理菜单中新出现了Super Admin菜单, 下面包含Update菜单项, 在Wordpress升级后, 可以通过Update Network功能同时更新当前站点下的所有Blog.

不过最近使用Update Network功能从来没有成功过, 猜测是超时的问题. 我服务器使用的是nginx + php5-fpm, nginx的error.log中相关错误是ms-upgrade-network.php脚本产生的upstream timed out: Read more…

Categories: Wordpress Tags: , ,

在Ubuntu上安装L2TP/IPsec VPN服务器

August 30th, 2010 Comments off

最近用VPN翻墙比较流行, 我也赶了一下潮流: 买了一个Linode的VPS, 安装了最新的Ubuntu Lucid (10.04), 并在上面配置了L2TP服务器.

以下虽然是在10.04上的配置过程, 但应该对其他版本的Ubuntu同样适用.

2010-09-01: Ubuntu ppa没有karmic上的openswan包, 只能自己编译了, 或是下载我预编译的版本, 参照后面说明.

1. 安装OpenSWAN

L2TP(Layer 2 Tunneling Protocol)顾名思义, 是2层隧道协议. 这个协议的认证方式不是非常安全, 因此实际使用中, 往往将L2TP和IPsec结合, 客户端和服务器之间, 首先通过IPsec生成安全信道, 之后再进行L2TP协议的交互.

因此, 安装L2TP服务器, 首先需要安装IPsec软件. 目前在Linux下, 有FreeSWAN, OpenSWAN, StrongSWAN三款IPsec协议的实现. 这里我用的是OpenSWAN.

目前Ubuntu Lucid中官方自带的OpenSWAN版本是2.6.23. 可惜的是, 这个版本的OpenSWAN有bug, 无法和L2TP服务器配合使用, 必须至少升级到2.6.24以后. 因此需要安装Ubuntu提供的非官方OpenSWAN升级版. Read more…

Categories: 开源软件 Tags: , , , ,

Bambook内测体验

August 19th, 2010 3 comments

前几天在起点的官方网站上看到Bambook的内测消息, 看看自己的帐号好像还符合盛大对内测用户的资质要求: "注册一年以上, 余额至少50元", 于是就申请了Bambook的内测.

据说这次Bambook的内测只发3500个内测邀请, 因此申请了以后我也没在意, 总认为人会很多, 肯定抽不上. 8月6号申请之后, 也一直关注邮箱和Bambook的官方网站, 看到盛大9号已经开始发送邀请码了, 而我直到12号也没收到, 因此更加放弃了.

阴差阳错, 我12号中午整理Gmail的垃圾邮件箱时, 翻出了Bambook的邀请码. 怎么就进垃圾邮件箱了呢, 也不知道多少Gmail用户没有收到邀请码. 根据盛大后来修改的规定, 邀请码24小时有效, 但是我的邀请信是9号发出的, 貌似已经过期了.

不过, 我抱着试一试的心态, 用"过期"的邀请码竟然还可以下单, 就这样上了贼船. Read more…

Categories: 数码产品 Tags: , , , ,