从(mt)到Linode

August 19th, 2010 § 0 comments § permalink

开始从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

解决mldonkey乱码问题

July 28th, 2010 § 1 comment § permalink

其实是解决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

Linode上设置OpenVPN

July 5th, 2010 § 1 comment § permalink

之前装的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就一次搞定。

Linode pptp VPN

April 11th, 2010 § 11 comments § permalink

终于,对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帐号的找我。

Where Am I?

You are currently browsing entries tagged with linode at bon voyage.