esayr's blog 有友共尊田舍酒,无事面对古人书

25十二/070

洋节的太平歌词

耶和华他老人家
花了七天造出万物生灵。
还有那,亚当和夏娃
隐居在那座伊甸园中,乐逍遥
那园中,景色盖世无双美,
那园内,奇花异草是四了季的峥嵘。
 
春游其间是那桃红柳绿,
夏赏荷花就映满了池中。

亚当爷和他那肋骨夏娃姑娘,
二人童贞无邪就未曾启过蒙。
坑蒙拐骗假恶丑他们全然不懂,
五讲四美三热爱他们记得最清。
平日里,牢记这八荣和八耻,
闲暇时,他们迎奥运、讲文明,还树起了新风。
更多详见东东枪老师的文章,并且还有录音.

13十二/07

linux 下配置resin3.1.* +apache 2.2 出错的解决办法

配置 resin3.1.4时,死活编译不过去。如下:
esayr@ifone:/usr/local/resin$ make
(cd modules/c/src; make)
make[1]: Entering directory `/usr/local/resin/modules/c/src'
for dir in common apache2 resin_os; do (cd $dir; make); done

7十二/071

apache2.0的mod_vhost_alias模块配置多虚拟主机教程

前段发在phpv上的,忘了放这来了。

 ---------------------------------------------

前言:我有几台服务器托在机房,连年亏损. 我想我应该考虑将他们向外出租.准备明年运营,以扭转几年来尴尬的局面.于是,就有了这个教程.

目标:

1.用户开通FTP后,自动在/www/下创建一个与域名同名的目录.
(假如phpv.net的管理员购买空间后,他的主目录将是 /www/phpv.net)
2.空间知道泛域名绑定.
(即:访问者在浏览器内输入www.phpv.net将会自动访问/www/phpv.net/www.phpv.net目录下的index文件.而输入bbs.phpv.net则访问/www/phpv.net/bbs.phpv.net/这个目录.....)

按以前的,我得挨个绑虚拟主机.然后再restart apache
像这样:

<VirtualHost *:80>
    ServerAdmin webmaster@phpv.net
    DocumentRoot /www/phpv.net/www.phpv.net
    ServerName www.phpv.net
    ErrorLog logs/phpv-error_log
    CustomLog logs/phpv-access_log common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@phpv.net
    DocumentRoot /www/phpv.net/bbs.phpv.net
    ServerName bbs.phpv.net
    ErrorLog logs/bbs-phpv-error_log
    CustomLog logs/bbs-phpv-access_log common
</VirtualHost>

...............

#apache restart

简直太烦人太累了.

后来经过自己的测试和多位好友的帮助,我使用Apache 的 mod_vhost_alias模块.完美实现了这个要求.


我是这样开始的:

1.把原来的虚拟主机配置都删除掉, NameVirtualHost *:80 这句也加上个#在它前面.

2.接着,在httpd.conf使用下面的mod_vhost_alias配置

UseCanonicalName Off
VirtualDocumentRoot /www/%2+/%0

(注意:以上/www/是我的网站根目录,在实现操作中请按自己要求更改.)

重启apache.
#apache restart

3.测试
使用FTP服务器的功能,使得用户登录时,自动以其域名创建主目录.(我用的是 pureftpd 具体配置请参阅相关文献)
以刚刚创建好的FTP用户登录,在目录下创建文件夹www.phpv.net 上传一个phpinfo的index.php
输入http://www.phpv.net 看看是否正常. (域名的A记录要指向本机IP) 如果能正常显示出info信息,就表明成功了.

4.但,问题来了,使用http://phpv.net 访问的却是 /www/net/phpv.net这个目录.
想使用rewirte做一个自动跳转来解决这个问题,使得用户输入http://phpv.net时能访问到/www/phpv.net/www.phpv.net 这个目录

rewirte解决方式:

加以下rule到http.conf中

RewriteEngine On
#RewriteCond %{HTTP_HOST} ^w+.w{1,3}$
RewriteCond %{HTTP_HOST} ^[a-z-0-9]+.w{1,3}$RewriteRule (.*) http://www.%{HTTP_HOST}$1 [R=301,L]

再次重启Apache,访问http://phpv.net,自动跳转到http://www.phpv.net

5.相关问答:
如果把不需要执行PHP的目录禁用PHP解析?

这样:
<Directory "/www/phpv.net/manual.phpv.net">
php_flag engine off
</Directory>

好了.配置基本OK.

感谢:fluck boban 吴洪声 对本文的贡献.

附后:此配置基本能满足大部分用户的需求.
但有以下缺点:不能根据虚拟主机做个性化设置,比如,设置一个虚拟主机的PHP执行目录范围.
还有不能自动绑定两个域名到同一目录.

7十二/070

豆瓣小组趣事一件

某女生,在“睡前发短信”小组说,
想纠集10名以上同学。在 12点的时候发同样的短信给一人。
内容:傻薇很爱你。。

第二天晚上,十人左右响应,约好11点开始行动.....
最后,大家都在等消息

她11点12分丢了一句:
他说,别再给我发这样的信息了。幸亏我女人在洗澡