Ubuntu 7.10 Server服务安装手记(4)补充——以fastcgi方式运行extmail

技术分享 Story 106浏览 0评论
摘要

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错误了。

转载请注明:成长的对话 » Ubuntu 7.10 Server服务安装手记(4)补充——以fastcgi方式运行extmail