从(mt)到Linode

开始从mt迁移手里的几个blog到Linode,还是VPS带劲,虽然配置起来非常痛苦,随便一个小问题就要搞半天,而且我现在的技术不一定能安全平稳的管理好手里这几个流量几乎可以忽略不计的小朋友的blog,嘛嘛,这才叫折腾啊!我偷偷的搬,小朋友们不知道……

准备工作:

源主机是(mt)的(gs) gift版,目标主机是Linode 512,跑着Ubuntu 10.04 64bit。首先Getting Started,然后setup locale,接着Set up a LAMP Server,建好新的数据库。域名全部都在godaddy,到godaddy把dns都改成Linode的,一般几个小时就好,保险点等第二天全域的dns都缓冲完了,到Linode后台添加域名,全部master。(mt)的FTP和database都有自己内部的地址,域名转走不影响备份数据。

A. 源机:

wordpress的blog就两部分,备份出所有文件,备份出数据库。(mt)的FTP地址类似这种s#####.gridserver.com,#是数字。database的内部访问地址类似internal-db.s#####.gridserver.com。

A.1 备份文件,
ssh到(mt)主机,cd到html目录下,执行,

$ tar -czvf findingneverland.tar.gz *

用FileZilla连接到主机,把生成的文件拖下来。

A.2 导出数据库,
ssh到(mt)主机,执行,

$ mysqldump -h internal-db.s#####.gridserver.com -u db##### -p db#####_wpdb > mt_wpdb.sql

-h:后面跟database地址
-u:(mt)默认给的权限最大那个user
db#####_wpdb:(mt)的数据库都是这个形式的
mt_wpdb.sql:导出的文件名

同样,FileZilla拖下来。

B. 目标机:

B.1 上传文件,
用FileZilla,新建连接,类型选择SFTP,然后把压缩文件上传到public_html下。ssh到主机,cd到public_html,执行

$ tar -xzvf findingneverland.tar.gz

用新建的数据库信息修改wp-config.php文件中的参数,记得把DB_HOST改回localhost,(mt)的数据库是有地址的。

vi新建一个.htaccess文件,添加下面的内容,

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

这步也可以不做,wordpress会自动创建和填写,然后执行,

$ a2enmod rewrite
$ /etc/init.d/apache2 restart

以上打开了apache的rewrite模块,填写了wordpress要用的.htaccess文件,接着要修改权限,cd到public_html上级目录,执行,

$ chown -R www-data:www-data public_html
$ chown root:root public_html/wp-config.php

这步把public_html下所有文件的权限给了www-data,这个www-data是apache2的用户名。但为了安全起见,仍然把wp-config.php保留给root。这样一来,包括Permalinks功能(rewrite),后台安装删除插件主题和自动更新都能正常使用了(权限问题)。

B.2 导入数据库,
把mt_wpdb.sql上传到主机,位置随意,

$ mysql -u root -p -e "source mt_wpdb.sql" linode_wpdb

mysqldump的导入功能我没有试成功,还好上面这个命令能用。(mt)的gift版本数据库只能开2个,所以小朋友们的blog都挤在一个数据库里,现在Linode里可以轻松的分开了。每个数据库用drop清理一下,就是不知道为啥mysql没有批量drop的命令。

最后的清理工作,删掉数据库文件mt_wpdb.sql,网站文件压缩包findingneverland.tag.gz,把wp-config.php权限改成644。其余文件和文件夹权限随意,如果更新有问题就改成755或者775,千万别设成777,不安全。

大功告成,完全无损,也没乱码,全程ssh搞定。

10-08-19补充:打开wordpress后台,进入设置Settings – 媒体Media,上传文件Uploading Files – 默认上传路径Store uploads in this folder,把原先(mt)下的一串/nfs/c##/h##/mnt/#####/domains/findingneverland.org/html/wp-content/uploads改成默认值wp-content/uploads。否则使用媒体库添加文件会出错。

参考资料:12345678

Posted in dev/eloping | Tagged , , , , , | Leave a comment

解决mldonkey乱码问题

其实是解决ubuntu的locale问题,设置正确了,mldonkey和samba的乱码问题就都解决了。

Linode的ubuntu刚配置好后,locale是空的,默认/var/lib/locales/supported.d/下没有local文件,只有en,还是规范点把local配置出来。

$ cp /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/local

“/usr/share/i18n/SUPPORTED”是默认的locale全集,在里面删删减减就可以了。

$ vi /var/lib/locales/supported.d/local

保留en集和zh集,我还留了ja集。用dd命令删,“数字+dd”,比如“100dd”就是删掉包括当前行的100行。

删掉en,保留local,执行:

$ sudo locale-gen

应该全部通过的,不通过的检查拼写。

执行:

$ locale

看到都是“POSIX”

执行:

$ export LANG=en_US.UTF-8
$ export LC_ALL=en_US.UTF-8
$ locale

这回就都是en_US.UTF-8了,你要改成zh_CN.UTF-8也无所谓,但我不喜欢在终端里看到中文字符。
拷贝locale输出的这些:

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

添加到“/etc/environment”里,然后reboot。

这样mldomkey下载文件的亚洲字符就都正常显示了。

参考文献:12

Posted in dev/eloping | Tagged , , , , | 1 Comment

原谅我吧

发错短信,这种事情都有……还是那么精准的发给了不该看到的人,真是他妈的鬼使神差!可以载入我个人史册了。

一夜无眠,去死的心都有了。这应该是第二次伤到重要的朋友,那一次是故意的,为了结束,这一次却是无心的,是个事故。丫头嘲笑我说,你把一个小姑娘最不愿意听到的难听话都发给她了,你无敌了。唉,确实,让她在这种情况下看到这个短信,会让她非常难受,一个被她信任的朋友是不该这样说话的。丫头说,终于让她看到你的真实嘴脸了。也这么多年朋友了,大家什么性格什么质地都很清楚,只不过,这些话真的不应该在这个时候,以这种方式让她看到。

貌似我经常脑子一热就干些傻事,最近刚在开心网上把孙给得罪了。看到一篇C罗和卡卡的转贴,看到傻X的C罗我就开骂了,写完评论才发现是孙的转贴,孙是卡卡的粉丝,而我顺道把卡卡也骂了……

朋友是需要好好珍惜的,这样和那样,原谅我吧。

Posted in mess/mylife | 2 Comments

Linode上设置OpenVPN

之前装的pptp最近不能用了,所以就琢磨着装个OpenVPN,听说安全性和稳定性更好。

先按这个教程把系统收拾好,我用的是Ubuntu 10.04 64位,安装OpenVPN参照官方文档的这个,或者Kdolphin的中文教程。一步一步来,没什么问题的。

需要注意以下几点:
1. 终端用PuTTY,这里有个PuTTY的配色,很好用。
2. 改配置文件用vi,按“i”键进入修改,“ESC”推出修改,按“:”进入命令行,“wq”表示写入并退出。这里有个vi命令图解。
3. 修改/etc/openvpn/easy-rsa/2.0/vars默认内容的时候,export KEY_COUNTRY=”US”中国家改成“CN”,而不是“China”,人家只要两个字符。
4. 把用户需要的密匙文件ca.crt,client1.crt,client1.key,“cp ~/”到根目录,到时候和client.conf一起用Filezilla下载到本地。
5. client.conf要改成.ovpn,OpenVPN的配置文件后缀。
6. Win下的客户端用openvpn.net的Community Software,不要用openvpn.se上的。
7. 安装好后,打开安装目录\OpenVPN\config,把ca.crt,client1.crt,client1.key和client.ovpn等4个文件复制到这里,双击gui图标,就开始连接了。
8. 要想使OpenVPN启动的时候自动开始连接,用命令行,在快捷方式里这样写”…\OpenVPN\bin\openvpn-gui-1.0.3.exe” –connect client1.ovpn,就可以了。

OpenVPN的速度很理想,感觉比pptp方式快些,也更稳定。Facebook里的twitter应用,用pptp无法验证通过,用OpenVPN就一次搞定。

Posted in dev/eloping | Tagged , , | Leave a comment

You Can’t Always Get What You Want

–Rolling Stones

I saw her today at a reception
A glass of wine in her hand
I knew she would meet her connection
At her feet was her footloose man

No, you can’t always get what you want
You can’t always get what you want
You can’t always get what you want
And if you try sometime you find
You get what you need

I saw her today at the reception
A glass of wine in her hand
I knew she was gonna meet her connection
At her feet was her footloose man

You can’t always get what you want
You can’t always get what you want
You can’t always get what you want
But if you try sometimes you might find
You get what you need

Oh yeah, hey hey hey, oh…

And I went down to the demonstration
To get my fair share of abuse
Singing, “We’re gonna vent our frustration
If we don’t we’re gonna blow a 50-amp fuse”
Sing it to me now…

You can’t always get what you want
You can’t always get what you want
You can’t always get what you want
But if you try sometimes well you just might find
You get what you need
Oh baby, yeah, yeah!

I went down to the Chelsea drugstore
To get your prescription filled
I was standing in line with Mr. Jimmy
And man, did he look pretty ill
We decided that we would have a soda
My favorite flavor, cherry red
I sung my song to Mr. Jimmy
Yeah, and he said one word to me, and that was “dead”
I said to him

You can’t always get what you want, no!
You can’t always get what you want (tell ya baby)
You can’t always get what you want (no)
But if you try sometimes you just might find
You get what you need
Oh yes! Woo!

You get what you need–yeah, oh baby!
Oh yeah!

I saw her today at the reception
In her glass was a bleeding man
She was practiced at the art of deception
Well I could tell by her blood-stained hands

You can’t always get what you want
You can’t always get what you want
You can’t always get what you want
But if you try sometimes you just might find
You just might find
You get what you need

You can’t always get what you want (no, no baby)
You can’t always get what you want
You can’t always get what you want
But if you try sometimes you just might find
You just might find
You get what you need, ah yes…

Posted in mess/mylife | Tagged | Leave a comment

明年再来!

Posted in mess/mylife | Tagged | Leave a comment

Linode pptp VPN

终于,对GFW忍无可忍,买下了Linode的VPS,建了个VPN。

Linode 360,Fremont CA机房。参考kdolphin的教程,搭建pptp的VPN。

XP用自带网络连接工具连接VPN成功,能够连接internet,在ip38上查询ip地址显示为VPS的ip。可以访问大部分被封网 站,technorati/plurk/tumblr/blogspot/picasa,但就是访问不了facebook和 twitter,youtube间歇性不能访问。

本地执行

>tracert www.twitter.com
1. 192.168.0.1
2. gateway-he-li3.linode.com [64.62.190.1]
3. gige-g4-17.core1.fmt1.he.net [72.52.92.245]
4. 10gigabitethernet1-1.core1.pao1.he.net [66.160.158.242]

ping全部time out,tracert命令twitter和facebook都得到相同的结果,但SSH到VPS后,可以ping通www.twitter.com,得 到的ip和本地终端ping到的ip不同。本地是37.61.54.158,vps上得到的ip是168.143.162.100,貌似有好几个ip,但 都ping的通。

在VPS上执行

>traceroute www.twitter.com
1  gateway-he-li3.linode.com (64.62.190.1)
2  gige-g4-17.core1.fmt1.he.net (72.52.92.245)
3  10gigabitethernet1-1.core1.pao1.he.net (66.160.158.242)
4  sjo-bb1-link.telia.net (213.248.86.53)
5  verio-119529-sjo-bb1.telia.net (213.248.86.50)
6  ae-6.r20.snjsca04.us.bb.gin.ntt.net (129.250.5.12)
7  ae-2.r20.mlpsca01.us.bb.gin.ntt.net (129.250.5.6)
8  mg-1.c20.mlpsca01.us.da.verio.net (129.250.28.81)

VPS上应该是能访问twitter的,但为什么我这端就断在了he.net呢?跟pptp的设置有关?VPS上的DNS设置尝试过openDNS,现在用的是 google的DNS。百思不得其解后,放狗狂搜,终于找到的原因,所谓的DNS污染,GFW的技术。

本地ping得到的twitter的ip是37.61.54.158,facebook是46.82.174.68,这两个ip在VPS上也是ping不通的,在这里的黑名单里榜上有名,果然。月光提到openDNS也解决不了DNS污染的问题,但只需几步设置:

1. 把本地网络连接里不要自动获得DNS服务器地址,改成指定的,我使用google的,因为好记。
2. FF里修改network.proxy.socks_remote_dns=true。

OK,终于完美越狱了!youtube放HD都不卡,很好很强大。下面要考虑的是怎么让家里的设备都能用VPN,家里的无线路由是Buffalo的WHR-G300N,在dd-wrt的支持列表上,但之前试了好几次就是刷不成功。dd-wrt同时支持VPN client和server,看来要拿路由器下手了。

亲们,要VPN帐号的找我。

Posted in dev/eloping | Tagged , , | 4 Comments

立此为证

3月31日,凌晨靠港,连夜装船,敬业的船长,小矮人大副,还有意外又意料之中脆弱的救生艇支架,反正一切乱七八糟的事情都在这天告一段落了。

站在船舷看着工人们绑扎,心中挥之不去的并且越来越清晰的意识到,让这200吨的废铁出厂交付客户,将是我作为工程师的职业生涯中的一个抹不去的污点。它严重的违背了我作为技术人员所一直追求和崇尚的职业操守和良知,而整个过程中充斥着商人的势利和尔虞我诈。我感到被狠狠的羞辱和践踏了。

如果合同到期了我还在这里,你们可以尽情嘲笑我的无能。

P.S.

撒个谎怎么就这么纠结呢?为了一个不得不对工厂撒的慌,我他妈的纠结了昨天一晚上加今天一早上,唉……看来我真的不是做项目的材料,没有办法脸不红心不跳的对人说人话,对鬼说鬼话,做戏一样的一会儿红着脸吵架,一会儿又嬉笑打骂。这两个月里看到的一切都叫我感到恶心,不管是质量低劣的产品还是那些跳来跳去的小丑。

难道是我改变职业计划的时候了?

Posted in mess/mylife | Tagged | 1 Comment

申花疯了吧?

赶走小毛去深圳?当然你可以说他是刺头。卖掉杜威?卖掉孙吉?卖掉郜林?申花你他妈的真疯了吧?

为什么就没人踏踏实实的做点事?自从他妈的你猪菌进申花后,申花就变了味道!折腾吧你就,看你还能蹦嗒多久!

Never Grow Old献给悲情的小贝,和永远的巴乔。

I had a dream
In this dream it seems
It was my perfect day
Open my eyes
I realize this is my perfect day
Hope you never grow old
Hope you never grow old
Hope you never grow old
Hope you never grow old
Do …
Do …
Birds in the sky
They look so high
This is my perfect day
I feel the breeze
I feel …
This is my perfect day
Hope you never grow old
Hope you never grow old
Hope you never grow old
Hope you never grow old
Forever young
I hope you stay forever young
Do…
Do…

Posted in bug/debug | Tagged | Leave a comment

老本升级受阻!杯具了!

Kingston KVR333X64SC25/1G这内存放在包里一个礼拜了,今天一回家就兴冲冲的把它插到老本上。原来机器里插着原装的256M和后买的Kingston 512M,我把原装的拔了,插进去新买的1G,点亮开机,似乎是快了那么一点点的样子。开FF,开电驴,开资源管理器,嗯……好像快了一点嘛!打开系统属性,傻了,怎么只有512M!眼前一黑,脑子里无数不良画面闪过,难道,难道让我碰上不兼容了吗?苍天啊!

赶紧关机,重插,再开机,还是512M。单独插1G,开不了机!同时插上512M和1G,再用Everest和CPU-Z却能看到1G的SPD信息,但系统就是不认这1G的条子。应该不是内存的问题,更新BIOS?上网搜了半天也找不到更新的BIOS可以用。最后在这里这里看到了最后的裁决:Each memory slot can hold DDR PC2700 with a maximum of 512MB per slot.

我不死心,反复插拔,换插槽,开机改BIOS信息。然后突然原装的那条256M识别不了了……试了好几次,最后发现条子上的SPD芯片焊脚掉了!我干脆把SPD芯片整个扯掉,再插,得了,彻底废掉了。

最后的结果就是:新的1G用不上,旧的256M报销,俺从256M+512M倒退回512M内存时代。更可悲的是,实际上只有488M,被板载显卡吃掉了一部分……我靠!

Posted in hard/ware | Tagged , | Leave a comment