<?xml version="1.0" encoding="UTF-8"?><rss version="0.92">
<channel>
	<title>gkp&#039;s post</title>
	<link>http://b.gkp.cc</link>
	<description>Just another gkp&#039;s family blogs site</description>
	<lastBuildDate>Wed, 08 Sep 2010 16:00:41 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	<!-- generator="WordPress/3.0.1" -->

	<item>
		<title>WordPress 多语言支持中 .mo .po 文件的相互转换</title>
		<description><![CDATA[最近在折腾一个 WordPress 的插件，看了下多语言的部分都是 .mo 以及 .po 的语言文件，其中 .po 是文本文件可以直接编辑，.mo 则不可直接编辑识别。Google 后得知，用 msgfmt / msgunfmt 工具可以互相转换，这两个工具都属于 gettext 包，用 apt 安装即可。 aptitude install gettext 使用也非常简单。 po –&#62; mo： msgfmt zh_CN.po -o zh_CN.mo mo –&#62; po： msgunfmt zh_CN.mo -o zh_CN.po]]></description>
		<link>http://b.gkp.cc/2010/09/08/wordpress-mo-po-convert/</link>
			</item>
	<item>
		<title>Debian Lenny 安装 Nginx + PHP5 FastCGI 笔记</title>
		<description><![CDATA[由于最近谷奥的负载实在比较大，究其根本除去 WordPress 本身程序的问题外，很大一部分原因在于 Apache 的低效。虽然谷奥更换了更强劲的 Xeon x3370 CPU，但是还是未雨绸缪试了试传说中可以承受 Apache 10 倍负载的 Nginx，安装环境为 运行 Debian Lenny 的 VPS。 1，安装 Nginx： aptitude install nginx 搞定了。。。打开 80 端口看一下吧，应该已经 Welcome to nginx 了。 2，安装 php5： aptitude install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick &#8230; <a href="http://b.gkp.cc/2010/09/08/setup-nginx-php5-fastcgi-on-debian-lenny/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://b.gkp.cc/2010/09/08/setup-nginx-php5-fastcgi-on-debian-lenny/</link>
			</item>
	<item>
		<title>Displaylink &#8212;&#8212; Macbook 等笔记本的多显示器解决方案</title>
		<description><![CDATA[昨天看到 @fire9 在 twitter 问 Macbook Pro 外接多于一个显示器的办法，今天简单把我的解决方案说一下。 我是因为家里有两个显示器，一个 24 寸的飞利浦 IPS 用 mini-displayport –&#62; Dvi 连接 MB，还有一个老的夏普 LL-T1620，虽然小点，但是显示效果真是非常好，闲置的话有些浪费，于是也开始寻找给 MB 外接第二个显示器的方法。 Google 后发现 Matrox 有不少类似产品，但是价格实在是比较贵（$200以上），接下来我发现了 displaylink 这个好东西。displaylink 是一个标准的芯片，HP、ASUS、Kensington 等都有相关的产品，我用的是在 Amazon 买的 Kensington Universal Multi-Display Adapter，当时 $66，现在降价了只要 $56了。。。 安装非常方便，这个 Adapter 一头通过 &#8230; <a href="http://b.gkp.cc/2010/09/07/displaylink-universal-multi-display-adapter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://b.gkp.cc/2010/09/07/displaylink-universal-multi-display-adapter/</link>
			</item>
	<item>
		<title>gkp 版 iDevice 标准安装流程</title>
		<description><![CDATA[&#160; 这个周末安装 iDevice 有些吐：自己的新 iPhone4 和送给丈母娘的 iPod touch 要装东西，老婆的 iPod touch 也该升级一下系统，基本同样的工作重复进行了三遍，流程基本已经标准化了。。。记录如下 升级 / 恢复固件：iPod touch 2G 跑 iOS 4.0 速度还可以忍受，iPhone&#160;3G 则需要把 spotlight 禁用了，不然实在是不能忍啊。iPhone4 就不说了，飞一样。。。 越狱：4.02 以下推荐用 jailbreakme.com ，实在是太方便了，slide to jailbreak 配置 VPN：不然 Cydia 的部分源链接不能 进入 Cydia：选择 GUI+Command 方式，彻底系统升级，添加 hakulo.us &#8230; <a href="http://b.gkp.cc/2010/08/22/a-workflow-of-idevice-installation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://b.gkp.cc/2010/08/22/a-workflow-of-idevice-installation/</link>
			</item>
	<item>
		<title>简述 GFWInterceptor PHP 服务器端安装</title>
		<description><![CDATA[首先非常感谢 @overboming 同学连续两个晚上和我调试 GFWInterceptor 的 PHP 服务端，而且今天后来很长一段时间都是因为我的一个操作失误导致的错误，实在是很对不住 @overboming 同学，具体的这个操作失误在最后会提到，先来简单说一下安装的过程。 1，下载源代码 有两种方式，使用 svn： svn checkout https://gfwinterceptor.googlecode.com/svn/trunk/api-proxy-php 或者直接到下面这个地址下载 index.php 和 .htaccess 这两个文件的 raw file http://code.google.com/p/gfwinterceptor/source/browse/#svn/trunk/api-proxy-php 其中 svn 还是强烈推荐的，虽然文件可能要移动一下，不过这样可以确保在 copy / paste 时候不出错误。 2，代码安装 GFWInterceptor 的安装还是十分简单的，首先确认你的服务器使用的是 Apache httpd，并且开启了 mod_rewrite 支持，php 方面需要有 cURL 模块。没问题的话，把 &#8230; <a href="http://b.gkp.cc/2010/08/17/setup-php-proxy-server-for-gfwinterceptor/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://b.gkp.cc/2010/08/17/setup-php-proxy-server-for-gfwinterceptor/</link>
			</item>
	<item>
		<title>试用 GFWInterceptor</title>
		<description><![CDATA[GFWInterceptor 是 @overboming 同学写的一个 iOS App，其原理为按照关键字拦截应用程序外发网络请求到 proxy，并接受 proxy 传回的返回值，twitter / 4sq / Facebook 等一般都可以搞定。 GFWInterceptor 的手机端可以用 Cydia 安装，Source 地址是 http://gfwinterceptor.googlecode.com/svn/trunk/cydia，proxy 服务器端有 GAE 和 PHP 两个版本，不过 PHP 版本在我这里稍有问题，4sq 没问题，对返回值要求严格的 twitter 则提示 Extra Content，可能需要写 PHP proxy 的 @luosheng 同学 debug 一下 @overboming &#8230; <a href="http://b.gkp.cc/2010/08/16/gfwinterceptor-is-another-gfw-fucker/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://b.gkp.cc/2010/08/16/gfwinterceptor-is-another-gfw-fucker/</link>
			</item>
	<item>
		<title>搭建支持 OAuth Echo 的第三方 twitter 应用</title>
		<description><![CDATA[背景：进入8月中，twitter 已经在每天减少 Basic Auth 的 API limit了，到月底 Basic Auth 将彻底关闭，也就是说到月底，所有的客户端，twitter与第三方服务之间都必须使用 OAuth 来传递帐号密码等信息。 我喜欢 twitter for iPhone 的很大一个原因就是其支持自定义图片服务，3.0 以及之前的版本使用 Basic Auth 自建图片服务很容易，只要处理一下提交过来的 multipart/form-data 就行了，但是相应的安全性比较低——密码用明文传送，所以 atebits 强烈推荐用 https，并且曾经计划在后续版本强制 https。当然现在都 OAuth 了，这个问题也就不存在了。 twitter for iPhone 升级到 3.01 以后，就一直有人说其有 bug，自定义 API 和 自定义图片服务都不能用，这个 &#34;bug&#34; &#8230; <a href="http://b.gkp.cc/2010/08/16/twitter-for-iphone-custom-image-endpoint-and-twitter-oauth-echo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://b.gkp.cc/2010/08/16/twitter-for-iphone-custom-image-endpoint-and-twitter-oauth-echo/</link>
			</item>
	<item>
		<title>Debian 5 安装 Pure-ftpd 笔记</title>
		<description><![CDATA[今天实在要用到 ftp 传文件了，不得已开始装 ftpd。因为之前一直在用 pure-ftpd，所以这次在 Debian 上也打算用这个，发现还稍微需要配置一下，简单记下来： 安装： aptitude install pure-ftpd 当然也可以直接装 pure-ftpd-mysql ，不过我嫌弄 mysql 表和用户麻烦。。 添加组和用户 groupadd ftpgroup useradd -g ftpgroup -d /dev/null -s /etc ftpuser 修改启动方式，从默认的 inetd 改成 独立启动，这步很关键 vi /etc/default/pure-ftpd-common 找到 STANDALONE_OR_INETD=inetd 改成 STANDALONE_OR_INETD=standalone 为 PureDB 文件创建连接 &#8230; <a href="http://b.gkp.cc/2010/08/14/setup-pure-ftpd-on-debian/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://b.gkp.cc/2010/08/14/setup-pure-ftpd-on-debian/</link>
			</item>
	<item>
		<title>使用 MySQL 进行 PPP 验证</title>
		<description><![CDATA[继续折腾服务器的 VPN。之前已经配置好了 ipsec+L2TP 以及 OpenVPN，还做了 OpenVPN 的 MySQL 验证以实现用户跨服务器，但是 L2TP 的用户验证还是需要用 PPP 调用 /etc/ppp/chap-secrets 文件，跨服务器验证貌似也只能 crontab rsync，于是没用过 Radius 的我还是往 MySQL 方面想办法。搜索后发现了两个相关的开源项目：pppd-mysql 和 pppd-sql，前者简陋到只有一个 .c 文件，让人无从下手，而后者是基于前者的思路重新开发的，编译文件与文档齐全，而且支持 PostgreSQL，于是决定用之。 首先需要安装 ppp 和 openssl 的 header / lib aptitude install ppp-dev libssl-dev 下载安装 pppd-sql &#8230; <a href="http://b.gkp.cc/2010/08/12/setup-pppd-with-mysql-auth/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://b.gkp.cc/2010/08/12/setup-pppd-with-mysql-auth/</link>
			</item>
	<item>
		<title>Linux 系统连接 OpenVPN 无法获取推送 DNS 服务器的解决</title>
		<description><![CDATA[&#160; 话说上周我们安装好了 OpenVPN，并且也启用了 MySQL 验证用户名和密码，结果没用几天又遇到问题了。。。还是 @cnkang 同学，反映在 Android 手机上连接成功后，没有收到服务器端推送过来的 Google DNS。 因为我实在懒得和 Android 较劲，于是在一台 Ubuntu 10.04 Desktop 机器上安装了 OpenVPN 试验，结果果然如此，完全没有理会服务器 push &#34;dhcp-option DNS 8.8.8.8&#34; 这条配置。还是 Google 后找到了答案。 原来 Linux 系统确实有这个问题，OpenVPN 也提供了现成的解决方案，那就是 /etc/openvpn/update-resolv-conf 这个脚本。在客户端配置文件 client.conf 后面加上如下三行： script-security 2 up ./update-resolv-conf down &#8230; <a href="http://b.gkp.cc/2010/08/11/resolv-openvpn-linux-client-dns-issue/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<link>http://b.gkp.cc/2010/08/11/resolv-openvpn-linux-client-dns-issue/</link>
			</item>
</channel>
</rss>
