2010-03-22 小记

前几天手闲买了两个256M VPS用于学习VPS的配置,这两天有所心得,小记一下。
不好意思啦,长篇大论太辛苦了,以后要走简洁风的。

注:两个VPS分别是CenOS 5.4 32bit, Debian 5 32bit.

1. Kloxo安装脚本太傻瓜了,傻瓜到出错都不会stop

其中一个VPS购买的时候我选择了预置Kloxo,但是主机商说内存没有512M所以不予部署,好吧,我手闲自己安装一下试试就是了。下载了那个脚本之后,./kloxo-install-master.sh,开始安装。

由于是通过SSH的方式,我开着以后就没管了,从早上9点多一直到下午4点多,SSH里面一直很活跃地展现着《骇客帝国》的数字雨画面效果,我受不了了,Ctrl+C之后发现,滚屏上的文字一直都在重复,眼睛瞟到一个写着error的信息,看了一下,原来是某个PHP的模块没有卸掉,所以……很遗憾的是,我没有记下来那个没模块叫什么。

但是我比较不明白的是,为什么它error之后就一直Try again,而不是Stop让用户看看错误信息,所以那个Kloxo的安装脚本,我运行了整整6个小时,还好,主机商方面没有什么提示。其实为什么我会等这么长时间呢?因为很久很久以前,我经常连续花几天时间编译安装Gentoo Linux,这让我面对CLI的时候有足够的耐心,嘿嘿嘿~

还有,我参照的是这篇教程,感谢作者。

Tips: 要是你安装Kloxo超过30mins(国内可能不好说),请检查滚屏文字是否包含error。

2. 主机商没错,256M的VPS别装Kloxo

恩,这个确实是教训,在上面花了6个小时之后,我卸掉那个PHP模块,只用了短短几分钟Kloxo就部署好了,然后是……从VPS面板上我看到,256M的内存一直在60%~89%之间徘徊,然后Kloxo感觉一点都不快,VPS的主机CPU是4核的XEON E5520。

Tips: 服务商不一定都是忽悠你的。

3. 搞定Apache2单独用户权限配置

好吧,我承认在高中的时候朋友熊哥借过我一本Apache配置指南并且我一直都没还,但是也一直都没怎么看,基于两个VPS内存过低的原因,我开始自己配置服务器。以前的我算是轻微入门,这次又轻轻入了一点点,慢慢来咯。

今天遇到的问题就是Apache2+PHP5目录写入权限。
之前我在使用Dreamhost的时候,/home/user/public_html 755是写入可行的,但是我的VPS上表现为无法PHP写入文件,好吧,我将real_user加入apache运行组www-data后修改权限为775之后是可以的,但是我不甘心,并且同组写入在商业化虚拟机上是不可行的,并且DH上面确实是755,于是研究。

利用DH的SSH我登录上去在有限的权限内我开始翻系统的文件,我考虑到了用户组混搭 ((灵感来自犀利哥,嘿嘿,开玩笑的~))方面的问题,于是我实验了一个办法,并且通过了:

把用户 www-data ((Debian里面的Apache2默认以此用户名/组运行)) 加入 <user-private-group>

但是,反过来把 real_user 添加到组 www-data 并不能实现real_user的权限对www-data开放,除非文件的隶属组是www-data。不过问题在于,不可能主机商会让apache2的run_user加入每一个用户的私有组 ((private group,私有组,用户创建时一同添加的同名组。)),乍一看是没什么安全问题,单向继承权限嘛,但是如果我们一些特定的文件只让Apache读取的时候,问题就来了,这肯定不适用于生产环境的。

于是我又开始GG,找到一个办法,SuExec,但是这个办法有限制:只对CGI和SSI有效,那么PHP就要以CGI的方式运行。但是,同一篇文章提到了一个模块:apache2-mpm-itk,据说效果跟效率要比SuExec好,而且配置也不复杂,在<VirtualHost>部分就可以为每个虚拟机单独配置一个读写用户。

于是在自己的Debian VPS上测试通过,~/public_html的权限为755即可,同时在相关的VirualHost配置部分加入

配置即可。
这也同时解决了我长久以来的一个疑惑:这个Apache2用一个用户/组来跑所有虚拟主机不是很危险么?不过以前没想过要认真解决掉……

请跳转参阅:
1. 使用mpm-peruser为apache的虚拟主机提供一个绝对安全的单用户进程访问机制
2. Running Vhosts With Apache2 mpm-itk On Debian

Tips: 恩,Google是个好东西。

4. 几个关键词

gpasswd -a, useradd, id, a2enmod, /etc/skel, /etc/default/useradd.
mysql -u[user] -p -h[host] database << (zcat database.sql.gz)

以后以笔记类博文为主,这样写起来没有压力,请各位见谅~

延伸阅读:
1. 10 个最酷的 Linux 单行命令
2. Debian下为Apache启用rewrite模块(htaccess)
3. URL Rewriting Guide

Localisation

Localisation? 不是Localization么?

我确信我的标题没错,不过是一个美式英式的问题而已,这个单词是来自Gentoo的一份技术文挡”Gentoo Chinese Localisation Guide”,作者在英国,具体地址已经忘记了,可能是GentooTW已经改用Wiki了吧,唯一的证据就是自己手上还有一份打印版~~ -_-||| 这里有一份差不多的材料,还有这里

Gentoo这东西看来不错,用起来感觉也好,不过漫长的等待的确有“拷人”的作用,去年我至少有两个月在研究,不过差不多有半个月是在装需要的东西,包括Xorg/Gnome/Gaim, etc. 而Xorg就用了我一个上午的时间,后来有断断续续加了些东西,才发现,每个东西要自己编译是很痛苦的过程——对于PC不由我完全控制而言,爸妈还只是Winer,这是最无奈的现实,否则用一天我也愿意编译一个东西………

今天偶然在cnfree发现,沸魂这小子还搞WEB汉化,好象大一点的作品是LDU702,独立完成的是4image。不过看了一下,好象默认的charset是西欧ISO,需要手动改为GB2312.
前几天听这小子抱怨说最近时间少了,到他BLOG上看了一下,还想汉化LDU800,真是不到黄河心不死,不过作为学生,估计成绩应该不错的。
对于他的计划,第一条可以支持的,毕竟UTF-8作为Unicode,对双字节文字支持很好。不过第二条有点懒,居然撤了install files……
留言了,如果他需要帮的话,估计会找到偶的~~

别人都在Localisation,而我前段时间做了一件Foreignisation(嘿嘿,自造词,没查到“外国化”怎么翻译),把SABLOG给E化了,不过失败了,因为时间问题,不过还好Angel不知道,否则知道我把他的作品翻译成那烂样,不飞过来P我~
刚刚访问了一下Angel的Blog,结果出现

又在拿自己对外公开的BLOG实验了,这家伙,连“门面”的概念都不知道,万一哪个新手刚好要下SaBlog,看演示居然发现这样,那还用么……

记得以前好象谁说过Discuz !就是Localisation作品,不是原创的,而且卖到差不多天价,不知道是不是跟VBB学的,有了数目忘了来路,不过好象大C也算大方,到处送都送了不少Discuz的商业版,不过还有免费版本,虽然用起来没什么感觉,但是我还是不用论坛,哈哈……….

有个计划,
找个空间,装个BlogHoster,然后开放免费的Blog服务,虽然是E文的,
等有时间,拉上沸魂一起来汉化~~嘿嘿~因为官方的Language Pack里面没有Chinese!

Localisation, Over..