发布Extmail 1.0.4/Extman 0.2.4 或以前版本支持Nginx+FCGI配置说明
Hi all:应几位论坛朋友的强烈要求,我们研究出了extmail/extman+nginx+fcgi的正确配置,在这里和大家分享:
[color=Red]注意:4月25日晚更新了1下配置方法,增加了extman支持,测试过完全没问题![/color]
1) 确认webmail或后台版本
extmail 1.0.4 或以前版本,extman 0.2.4 或以前版本 均适用于本文的内容。
2)修改extmail/libs/Ext/App.pm
大概716行左右的redirect函数定义,需要增加一行内容(见红字)
[quote]
sub redirect {
my $self = shift;
my ($url, $mode) = @_;
[color=Red][b]print "Status: 301 Moved Permanantly\n";[/b][/color]
print "Location: $url\n\n";
}
[/quote]
类似的extman里libs/Ext/MgrApp.pm也需要这样的修改
3)配置nginx的nginx.conf
在server section里:加上
[quote]
location /extmail/cgi/ {
fastcgi_pass 127.0.0.1:8888;
include conf/fcgi.conf;
}
location /extmail/ {
alias /var/www/extsuite/extmail/html/;
}
location /extman/cgi/ {
fastcgi_pass 127.0.0.1:8888;
include conf/fcgi.conf;
}
location /extman/ {
alias /var/www/extsuite/extman/html/;
}
[/quote]
编辑conf/fcgi.conf内容:
[quote]
#fastcgi.conf
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
[/quote]
重启动nginx,然后启动dispatch-init ,一切应该ok。请大家帮忙测试。下一版本的extmail及extman将不需要做2)的修改。其他配置暂时一致
[b][size=4]修订[/size][/b]
最近接到1,2个用户反映,本文的配置方法在某些情况下出问题,已经有朋友提供了解决办法,请参考:
[url]http://www.extmail.org/forum/viewthread.php?tid=8699[/url]
如果大家对nginx的fcgi配置有兴趣,也不妨参考coolerfeng的blog这个帖子:
[url]http://coolerfeng.blog.51cto.com/133059/97723[/url] 关于nginx详见:
[url]http://nginx.net/[/url] extman怎么办呢,照上面配好后,登录不了后台 extman也需要修改MgrApp.pm里的redirect函数,还得在nginx里配置下
回复 #4 hzqbbc 的帖子
我在extman中配好了,但是登录不了,我在apache中是可以的,nginx.conf中extman的配置如下:location /extman/cgi {
fastcgi_pass 127.0.0.1:8888;
include fcgi.conf;
}
location /extman/ {
alias /opt/mail/htdocs/extman/html/;
}
也在MrgApp.pm中改了 print "Status: 301 Moved Permanantly\n"; 怎么发了两次呢,晕了,好像网络有些慢。
麻烦版主看到这个回复后删掉,谢谢!!
[[i] 本帖最后由 joies_zhong 于 2008-4-25 16:10 编辑 [/i]] 还有一个问题就是我从日志中看,不知为何总是去读 /usr/html 这个目录并在/usr/目录下生成一个on的文件,此文件为空
还有一个问题,就是我用http:/www.domain.com/extmail/cgi/index.cgi 登录后,再将index.cgi后面的部分删掉后回车,显示“进入webmail邮箱”与“退出”这两个按钮,但是这两个按钮都不起作用。看了一下日志,好像也路经的不对,不管怎么改好像都不太行。不知HZQBBC有没有测试过。
谢谢您的回复!!! 6,7楼,重新看本贴的首帖,已经更新了配置方法,加了支持extman的配置。测试过都没问题啊。 [quote]原帖由 [i]hzqbbc[/i] 于 2008-4-25 22:11 发表 [url=http://www.extmail.org/forum/redirect.php?goto=findpost&pid=42468&ptid=7488][img]http://www.extmail.org/forum/images/common/back.gif[/img][/url]
6,7楼,重新看本贴的首帖,已经更新了配置方法,加了支持extman的配置。测试过都没问题啊。 [/quote]
难道真的是人品问题:lol ,我测试还是出现上面的情况,登录不进去。:) :) 呵呵,你实验下单独配置看看,可能你混了其他配置不行吧。反正1楼的配置我只是随便按照官方doc摸索出来的,实际测试过确实没问题,反复登陆退出都ok的 nginx到底是个什么东东啊,简单说两句介绍一下嘛,那个网站进不去。 [quote]原帖由 [i]ryuhi[/i] 于 2008-6-11 02:16 发表 [url=http://www.extmail.org/forum/redirect.php?goto=findpost&pid=45005&ptid=7488][img]http://www.extmail.org/forum/images/common/back.gif[/img][/url]
nginx到底是个什么东东啊,简单说两句介绍一下嘛,那个网站进不去。 [/quote]
apache lighttpd nginx 都是web软件 发现天气信息输入城市后就打不开extmail了!提示”连接被重置“。要删除cookie才能再打开! extmail可以运行,可是extman一直都有问题。
我配置文件是这样:
server
{
listen 80;
server_name mail.test.com;
index index.html index.htm index.php index.cgi;
root /var/www/extsuite/extmail/html/;
location /gmail/cgi/ {
fastcgi_pass 127.0.0.1:8888;
include conf/fcgi.conf;
}
location /extmail/{
alias /var/www/extsuite/extmail/html/;
}
location /extman/cgi/ {
alias /var/www/extsuite/extman/cgi/;
fastcgi_pass 127.0.0.1:8888;
include conf/fcgi.conf;
}
location /extman/{
alias /var/www/extsuite/extman/html/;
fastcgi_pass 127.0.0.1:8888;
}
出现的错误是打开的时候显示:
Can't locate object method "new" via package "Ext::MgrApp:: Login" at (eval 338) line 21.
多刷新几次后出现页面显示正常,尝试登陆,还是出现:
Can't locate object method "new" via package "Ext::MgrApp:: Login" at (eval 338) line 21.
不知道我提供的资料够不够全,如果有人知道的,可否指教我一下。多谢了。 14楼的配置没有完全按1楼的做啊~ 先改成完全一模一样看看
我改成一样的配置了
location /extmail/cgi/ {fastcgi_pass 127.0.0.1:8888;
include fcgi.conf;
}
location /extmail/ {
alias /var/www/extsuite/extmail/html/;
}
location /extman/cgi/ {
fastcgi_pass 127.0.0.1:8888;
include fcgi.conf;
}
location /extman/ {
alias /var/www/extsuite/extman/html/;
}
我改成一样的配置了,还是出现一样的错误,用的extman是0.2.4版本的
IE 显示Can't locate object method "new" via package "Ext::Mgr::MySQL" at /var/www/extsuite/extman/libs/Ext/Mgr.pm line 38.
[ Go Back ] >> Re-Login 建议用最新0.2.5b1测试看看。
nginx+extmail+postfix
用nginx+fastcgi 搭建extmail邮件服务,nginx.conf里面如何配置。 现在用最新版的extmail配了,可是还是不行哟。以下我的配置:server
{
listen 80;
server_name mail.woigx.cn;
index index.html index.htm index.php index.cgi;
root /home/wwwroot/mail/extmail/html/;
location /extmail/cgi/ {
fastcgi_pass 127.0.0.1:8888;
include fcgi.conf;
}
location /extmail/ {
alias /home/wwwroot/mail/extmail/html/;
}
location /extman/cgi/ {
fastcgi_pass 127.0.0.1:8888;
include fcgi.conf;
}
location /extman/ {
alias /home/wwwroot/mail/extman/html/;
}
log_format extmail '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
access_log /var/log/nginx/extmail.log extmail;
} 真不知道错在哪儿?BBC楼主,烦请将您配时nginx.conf的所有给贴出来,让我们套用看行不行。在此谢过了。过几天服务器就要拿到电信了。我想用nginx+extmail呀。 楼上兄弟,我已回帖,见:
[url]http://www.extmail.org/forum/thread-11634-1-1.html[/url]
你配置好后记得启动dispatch.fcgi(调用dispatch-init) [b] [url=http://www.extmail.org/forum/redirect.php?goto=findpost&pid=41742&ptid=7488]1#[/url] [i]hzqbbc[/i] [/b]
大哥看了你写的文章很经典,但是我是LINUX初学者,但是迫于无奈不的不硬着头皮边学边做。
公司架设了一台LNMP服务器,为了资源充分利用所以要在上面在做一个EXTMAIL服务器,所以想请大哥给我指点下具体部分,论坛里的那写帖子对我来说都太高级了,请哥哥把QQ给我下,帮我指点下,下地万分感激 我QQ469069678
页:
[1]