Ubuntu 7.10 Server服务安装手记(4)补充——以fastcgi方式运行extmail
Ubuntu 7.10 Server服务安装手记(4)补充——以fastcgi方式运行extmail
19 Dec
Posted by: pysche in: 服务器
安装好了extmail以后,发现以cgi方式运行的extmail在发信的时候会出现一个perl的错误提示:
gettimeof day
据说是因为ubuntu编译perl的参数问题,解决办法是放弃cgi方式运行extmail,改为fastcgi方式。
参考了一下extmail文档中的README.fcgi,决定选用suidperl的fastcgi方式。也可以采用remote方式,具体可以参考extmail的说明文档了。
先安装apache2的fastcgi模块,以及相关的perl模块:
sudo apt-get install libapache2-mod-fastcgi libfcgi-perl perl-suid
安装好了以后,先激活apache2的fastcgi:
sudo a2enmod fastcgi
修改对应的虚拟主机配置文件:
sudo pico /etc/apache2/sites-available/mail.ipbfans.org
把先前的:
Alias /extmail/cgi /server/www/mail.ipbfans.org/extmail/cgi/
替换成:
ScriptAlias /extmail/cgi /server/www/mail.ipbfans.org/extmail/dispatch.fcgi/
再将原来的:
<Location "/extmail/cgi">
SetHandler cgi-script
Options +ExecCGI
</Location>
改为:
<Location "/extmail/cgi">
SetHandler fastcgi-script
Options +ExecCGI
</Location>
然后保存配置。
根据README.fcgi,修改extmail的dispatch.fcgi文件:
cd /server/www/mail.ipbfans.org/extmail
sudo pico dispatch.fcgi
该文件头三行的内容是:
#!/bin/sh
# vim: set cindent expandtab ts=4 sw=4:
exec ${PERL-perl} -Swx $0 ${1+"$@"}
把第一行改为:
#!/usr/bin/suidperl
再删去第三行内容,现在文件的头三行变为:
#!/usr/bin/suidperl
# vim: set cindent expandtab ts=4 sw=4:
保存dispatch.fcgi。
重新设置dispatch.fcgi这个文件的权限,给这个文件加上S属性:
sudo chmod 4755 /server/www/mail.ipbfans.org/extmail/dispatch.fcgi
保存好了以后,重新启动apache2。在使用浏览器发送邮件的时候就没有gettime错误了。
成长的对话版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!