ExtMail服务器社区's Archiver

veryi 发表于 2006-2-13 21:44

extmail Q&A,欢迎大家把安装配置extmail中遇到问题的解决方法贴出来

  extmail Q&A

已经成功安装extmail。遇到不少问题,翻了论坛的很多帖子都解决了。现把一些典型问题整理出来,
答案都是抄前辈的,只为方便大家查找。
欢迎跟贴,要求有答案。


环境:
Linux 2.6.12.1
extmail-0.22-20051216
extman-0.12-20051216

Q:
[Sun Feb 12 18:16:54 2006] [error] [client 221.220.138.54] Premature end of script headers: index.cgi
A:
多种原因,可能是suexec配置错误

Q:
Can't call method "prepare" on an undefined value at /usr/local/www/cgi-bin/extman/libs/Ext/Mgr/MySQL.pm line 59
不知道该怎么解决。
A:
这个问题以前也有几个朋友遇到过,应该是DBD::mysql与mysql server的版本不兼容的问题。
我来测试,我也遇到这个问题,我改了之后发现提示
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) at /usr/local/www/cgi-bin/extman/libs/Ext/Mgr/MySQL.pm line 45
就是'/var/lib/mysql/mysql.sock' ,改成/tmp/mysql.sock 就没问题了

Q:
Apache + Suexec 模式 问题:suexec日至提示
suexec日志提示
[2005-12-17 21:56:28]: uid: (2001/extmail) gid: (2001/2001) cmd: index.cgi
[2005-12-17 21:56:28]: command not in docroot (/usr/local/www/cgi-bin-dist/extmail/cgi/index.cgi)
A:
提示很清楚的表示,楼主存放extmail/man的cgi目录不在suexec的doc_root里,
要搞清楚这个doc_root很容易,执行suexec -V 就可以看到编译时的一些参数,包括了这个
doc_root和uid/gid 的限制信息。
必须要将cgi程序放到doc_root里,这个doc_root类似一个jail,一个监狱,限制cgi程序的存放
提高安全性。
如果是用源码编译apche,默认是/usr/local/httpd/htdocs/

Q:
Can't locate Ext/CGI.pm in @INC (@INC contains: /usr/local/httpd/htdocs/message.veryi.com/htdocs/extman/libs /usr/lib/perl5/5.8.5/i386-linux-thread-multi
A:
看样子是没有将需要的一些基础库链接好。
./buildlink.sh clean之后,假设 extmail在/usr/local/www/apache22/cgi-bin/extmail里,运行:
./buildlink.sh build /usr/local/www/apache22/cgi-bin/extmail/libs

extmail 发表于 2006-2-13 22:05

[quote][b]下面是引用veryi于2006-02-13 21:44发表的extmail Q&A,欢迎大家把安装配置extmail中遇到问题的解决方法贴出来:[/b]
  extmail Q&A

已经成功安装extmail。遇到不少问题,翻了论坛的很多帖子都解决了。现把一些典型问题整理出来,
答案都是抄前辈的,只为方便大家查找。
欢迎跟贴,要求有答案。
.......[/quote]

非常感谢楼主的工作!大家都来补充补充啊~

veryi 发表于 2006-2-15 12:42

Q:
Can't locate DB_File.pm in @INC (@INC contains: /var/www/cgi-bin/extmail/libs
A:
楼主的perl没有DB_File支持。可以在[url]http://search.cpan.org[/url]上
搜索DB::File模块,然后下载,回来解开,按INSTALL或README里的介绍安装。

自动安装
perl -MCPAN -e shell
install DB_File

veryi 发表于 2006-2-24 19:38

Q:
安装postfix时报错:
bin/postconf: error while loading shared libraries: libsasl2.so.2: cannot open shared object file
A:
find /usr -name "libsasl2.so.2"
找到文件后将路径加入到/etc/ld.so.conf,然后执行ldconfig就可以了

nymz 发表于 2006-2-27 09:51

我的装完后运行webmail出下列错误,

Forbidden
You don't have permission to access /extmail/cgi/index.cgi on this server.


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

Apache/2.0.52 (Red Hat) Server at 192.168.6.5 Port 80

veryi 发表于 2006-2-28 13:55

cd extmail
chmod -R ugo+x cgi/*

安装文档里写得比较清楚,论坛里也有这个问题的解答。

veryi 发表于 2006-3-2 18:06

Q:
extman可以login,无论把密码修改成什么,extmail不能login,日志里也不报错
A:
清空IE的cache、cookie。这个问题困扰了我一下午,最后在SunGod的帮助下解决。
有那位高手对 cookie 熟悉,帮助解决一下extmail cookie的问题,
好象extman不存在这个问题,是否可以参照extman的代码。

jacke2003 发表于 2006-3-4 14:42

Can't write to 1141454692_P9558_extmail, No such file or directory
这是什么原因?
PS:产生这个提示是在写邮件点发送时出现的(服务器用启了SELinux)

veryi 发表于 2006-3-12 16:09

Q:
Mar 12 14:02:29 mail postfix/master[16733]: warning: process /usr/libexec/postfix/smtpd pid 16775 killed by signal 11
Mar 12 14:02:29 mail postfix/master[16733]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling
A:
可能是由于 postfix链接了的错误的db库,用源码安装的berkerly db与系统原有db产生不一致,删除系统原有Berkeley DB用源码安装,或者编译sasl和postfix不指定bdb

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Q:
Mar 12 15:49:37 mail postfix/smtpd[7171]: connect from unknown[221.220.137.74]
Mar 12 15:49:37 mail postfix/smtpd[7171]: warning: SASL authentication problem: unable to open Berkeley db no: No such file or directory
A:
postfix找不到smtpd.conf
vi /usr/local/lib/sasl2/smtpd.conf
pwcheck_method: authdaemond
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/var/spool/authdaemon/socket
postfix的相关配置:
smtpd_recipient_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous


解决这两个错误花了我近一个月的时间,突然不报错了,喜悦难以表达。每个周未2天都坐在电脑前不停删除、make,水平有限啊,建议英文好的朋友直接看官方文档,少走弯路。

loginsys 发表于 2006-3-16 16:14

install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: /home/httpd/extmail/libs /usr/lib/perl5/5.8.5/i586-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl .) at (eval 6) line 3. Perhaps the DBD::mysql perl module hasn't been fully installed, or perhaps the capitalisation of 'mysql' isn't right. Available drivers: DBM, ExampleP, File, Proxy, SQLite, Sponge. at /home/httpd/extmail/libs/Ext/Auth/MySQL.pm line 44  
[ Go Back ] >> Re-Login


这是什么错误?

veryi 发表于 2006-3-21 16:03

楼上问的2个问题论坛里都已有解答,麻烦你们多翻翻好不好。我装extmail三个多月,论坛的每一个帖子几乎都看过了。

再次申明,要求有答案。

本贴不负责解答问题,只是为了 节约大家时间 方便大家查找 而做的汇总。
如果都把问题贴到这里,这里会越来越乱,只能是浪费大家时间。

如有问题请开新的帖子。
谢谢您。

veryi 发表于 2006-3-21 16:07

Q:
通过web发送中文邮件对方收到乱码,而收到的中文邮件显示正常
A:
修改 webmail.cn
# sys_user_lang, user default language
#SYS_USER_LANG = en_US
SYS_USER_LANG = zh_CN

# sys_user_charset, user default charset
#SYS_USER_CHARSET = iso-8859-1
SYS_USER_CHARSET = gb2312

veryi 发表于 2006-4-6 15:33

Q:
/usr/local/sbin/amavisd -u amavis debug
ERROR: MISSING REQUIRED BASIC MODULES:
Time::HiRes
IO::Wrap
...
Net::Server
Net::Server::PreForkSimple
BEGIN failed--compilation aborted at /usr/local/sbin/amavisd line 147.
但是这些包我都装过了啊,只是在装Net::Server时make test有点问题。
这会是什么毛病呢?

A:
这个问题已经解决,
系统默认安装了perl 5.6.1,由于我要用 gcc 编译很多perl模块所以我又装了 perl 5.8.7,所以 /usr/bin/perl 是 perl 5.6.1,修改如下:

#mv /usr/bin/perl /usr/bin/perl.ori
#ln -s /usr/local/bin/perl /usr/bin/perl

就好了

han8xin8 发表于 2006-4-14 20:52

Q:

Can't locate DBI.pm in @INC (@INC contains: /usr/local/www/cgi-bin/extman/libs /usr/local/lib/perl5/site_perl/5.8.7/mach /usr/local/lib/perl5/site_perl/5.8.7 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.7/BSDPAN /usr/local/lib/perl5/5.8.7/mach /usr/local/lib/perl5/5.8.7 .) at /usr/local/www/cgi-bin/extman/libs/Ext/Mgr/MySQL.pm line 13. BEGIN failed--compilation aborted at /usr/local/www/cgi-bin/extman/libs/Ext/Mgr/MySQL.pm line 13. Compilation failed in require at /usr/local/www/cgi-bin/extman/libs/Ext/Mgr.pm line 36.

在IE里打上[url]http://192.168.1.22/extman/cgi/index.cgi[/url]出现.不知道怎么解决.请大虾帮看看

lazy_bug 发表于 2006-4-19 16:27

偶也把遇到的问题和解决的方法贴出来(当然,这都是extmail的成果)呵呵!!

Can't locate /en_US in @INC (@INC contains: /usr/local/www/apache22/cgi-bin/extmail/libs /usr/local/lib/perl5/site_perl/5.8.7/mach /usr/local/lib/perl5/site_perl/5.8.7 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.7/BSDPAN /usr/local/lib/perl5/5.8.7/mach /usr/local/lib/perl5/5.8.7 .) at /usr/local/www/apache22/cgi-bin/extmail/libs/Ext/Lang.pm line 54.


原因:webmail.cf 的配置文件中的:
      语言包路径设置不对




错误2:用extmail用户登陆后报了以下错误
install_driver(mysql) failed: Can't load '/usr/local/lib/perl5/site_perl/5.8.7/mach/auto/DBD/mysql/mysql.so' for module DBD::mysql: Shared object "libmysqlclient.so.12" not found, required by "mysql.so" at /usr/local/lib/perl5/5.8.7/mach/DynaLoader.pm line 230. at (eval 8) line 3 Compilation failed in require at (eval 8) line 3. Perhaps a required shared library or dll isn't installed where expected at /usr/local/www/apache22/cgi-bin/extmail/libs/Ext/Auth/MySQL.pm line 44



原因:没有安装  p5-DBD-mysql4x
解决:  #cd  /usr/ports/databases/p5-DBD-mysql4x
        #make install clean

softbt 发表于 2006-4-24 01:40

希望帮忙解决这个问题:
[Mon Apr 24 01:21:24 2006] [warn] FastCGI: (dynamic) server "/usr/local/www/data/extmail/cgi/index.cgi" (pid 7513) terminated by calling exit with status '0'
[Mon Apr 24 01:21:28 2006] [warn] FastCGI: (dynamic) server "/usr/local/www/data/extmail/cgi/index.cgi" restarted (pid 7514)
Use of uninitialized value in pattern match (m//) at /usr/local/www/data/extmail/cgi/index.cgi line 6.
Content-type: text/html
。。。。。。
[Mon Apr 24 01:21:28 2006] [warn] FastCGI: (dynamic) server "/usr/local/www/data/extmail/cgi/index.cgi" (pid 7514) terminated by calling exit with status '0'
[Mon Apr 24 01:21:28 2006] [warn] FastCGI: (dynamic) server "/usr/local/www/data/extmail/cgi/index.cgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600 seconds
[Mon Apr 24 01:21:29 2006] [warn] FastCGI: (dynamic) server "/usr/local/www/data/extmail/cgi/index.cgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600 seconds
[Mon Apr 24 01:21:30 2006] [warn] FastCGI: (dynamic) server "/usr/local/www/data/extmail/cgi/index.cgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600 seconds

extmail 发表于 2006-4-24 21:53

[quote][b]下面是引用softbt于2006-04-24 01:40发表的:[/b]
希望帮忙解决这个问题:
[Mon Apr 24 01:21:24 2006] [warn] FastCGI: (dynamic) server "/usr/local/www/data/extmail/cgi/index.cgi" (pid 7513) terminated by calling exit with status '0'
[Mon Apr 24 01:21:28 2006] [warn] FastCGI: (dynamic) server "/usr/local/www/data/extmail/cgi/index.cgi" restarted (pid 7514)
Use of uninitialized value in pattern match (m//) at /usr/local/www/data/extmail/cgi/index.cgi line 6.
Content-type: text/html
.......[/quote]

楼上的请参考README.fcgi的方法配置fcgi,不要直接对extmail/cgi/进行直接的fcgi配置,

这样是徒劳无功,没任何意义的。

lxfeig 发表于 2006-6-8 14:19

extman可以login,extmail登陆时提示“Can't chdir to /home/mail/extmail.org/abc/Maildir/, Permission denied ”,请教高手怎么解决。

extmail 发表于 2006-6-9 12:24

[quote][b]下面是引用lxfeig于2006-06-08 14:19发表的:[/b]
extman可以login,extmail登陆时提示“Can't chdir to /home/mail/extmail.org/abc/Maildir/, Permission denied ”,请教高手怎么解决。[/quote]

典型的权限问题,检查一下apache及/home/mail的uid/gid(拥有者及组id等。。)是否匹配。

更具体的,楼上请搜索本论坛,这类问题很多人问过,解决方法都在论坛里有了。

zcwhy 发表于 2006-6-26 15:31

用extmail用户登陆后报了以下错误

Can't locate DBI.pm in @INC (@INC contains: /usr/local/www/apache22/cgi-bin/extmail/libs /usr/local/lib/perl5/5.8.8/BSDPAN /usr/local/lib/perl5/site_perl/5.8.8/mach /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach /usr/local/lib/perl5/5.8.8 .) at /usr/local/www/apache22/cgi-bin/extmail/libs/Ext/Auth/MySQL.pm line 13. BEGIN failed--compilation aborted at /usr/local/www/apache22/cgi-bin/extmail/libs/Ext/Auth/MySQL.pm line 13. Compilation failed in require at /usr/local/www/apache22/cgi-bin/extmail/libs/Ext/Auth.pm line 36.

extmail 发表于 2006-7-9 08:15

[quote][b]下面是引用zcwhy于2006-06-26 15:31发表的:[/b]
用extmail用户登陆后报了以下错误

Can't locate DBI.pm in @INC (@INC contains: /usr/local/www/apache22/cgi-bin/extmail/libs /usr/local/lib/perl5/5.8.8/BSDPAN /usr/local/lib/perl5/site_perl/5.8.8/mach /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach /usr/local/lib/perl5/5.8.8 .) at /usr/local/www/apache22/cgi-bin/extmail/libs/Ext/Auth/MySQL.pm line 13. BEGIN failed--compilation aborted at /usr/local/www/apache22/cgi-bin/extmail/libs/Ext/Auth/MySQL.pm line 13. Compilation failed in require at /usr/local/www/apache22/cgi-bin/extmail/libs/Ext/Auth.pm line 36.[/quote]

这种问题楼上的应该解决好了吧?没有DBI.pm的提示实际就是告诉你系统没装perl-DBI模块,

到ports里找一下,装好,记得再装DBD-mysql(如果打开了mysql支持的话)

chier 发表于 2006-7-19 01:28

install_driver(mysql) failed: Can't load '/usr/local/lib/perl5/site_perl/5.8.7/mach/auto/DBD/mysql/mysql.so' for module DBD::mysql: Shared object "libmysqlclient.so.12" not found, required by "mysql.so" at /usr/local/lib/perl5/5.8.7/mach/DynaLoader.pm line 230. at (eval 6) line 3 Compilation failed in require at (eval 6) line 3. Perhaps a required shared library or dll isn't installed where expected at /usr/local/www/cgi-bin/extman/libs/Ext/Mgr/MySQL.pm line 45

ericzhao82 发表于 2006-7-26 10:22

无法看到extman界面,extman提示语法错误!

yntax error at /usr/local/www/cgi-bin/extman/libs/Ext/CGI.pm line 1, near "/usr/local" Compilation failed in require at /usr/local/www/cgi-bin/extman/libs/Ext/MgrApp.pm line 21. BEGIN failed--compilation aborted at /usr/local/www/cgi-bin/extman/libs/Ext/MgrApp.pm line 21. Compilation failed in require at /usr/local/www/cgi-bin/extman/libs/Ext/MgrApp/Login.pm line 19. BEGIN failed--compilation aborted at /usr/local/www/cgi-bin/extman/libs/Ext/MgrApp/Login.pm line 19. Compilation failed in require at /usr/local/www/cgi-bin/extman/cgi/index.cgi line 20.


extman用的是fongyong置顶帖子里面自动安装包的extman我也没看到版本。

extmail 发表于 2006-7-26 20:47

[quote][b]下面是引用chier于2006-07-19 01:28发表的:[/b]
install_driver(mysql) failed: Can't load '/usr/local/lib/perl5/site_perl/5.8.7/mach/auto/DBD/mysql/mysql.so' for module DBD::mysql: Shared object "libmysqlclient.so.12" not found, required by "mysql.so" at /usr/local/lib/perl5/5.8.7/mach/DynaLoader.pm line 230. at (eval 6) line 3 Compilation failed in require at (eval 6) line 3. Perhaps a required shared library or dll isn't installed where expected at /usr/local/www/cgi-bin/extman/libs/Ext/Mgr/MySQL.pm line 45[/quote]

没有装mysql的客户端动态库(libmysqlclient.so.*)。 mysql分server和client的,要用mysql

至少还得有client的库才行啊。

ericzhao82 发表于 2006-7-27 15:50

[size=4]老大,你的extman中的buildlink.sh脚本中,extmail的路径总是读取成'/var/',我的extmail在'/usr/local/www'下面。

请问下你的这个“for i in CGI Config Lang Session Utils RFC822;do”循环赋值,参照哪个文件呀??

谢谢。

我想改成/usr/local/www目录下。[/size]

ericzhao82 发表于 2006-7-27 16:12

请问老大,这是会事儿呀??
我已经捣鼓3天了,都看不到extman的界面

[quote]Global symbol "$CFG" requires explicit package name at /usr/local/www/cgi-bin/extman/libs/Ext/MgrApp.pm line 103. BEGIN not safe after errors--compilation aborted at /usr/local/www/cgi-bin/extman/libs/Ext/MgrApp.pm line 125. Compilation failed in require at /usr/local/www/cgi-bin/extman/libs/Ext/MgrApp/Login.pm line 19. BEGIN failed--compilation aborted at /usr/local/www/cgi-bin/extman/libs/Ext/MgrApp/Login.pm line 19. Compilation failed in require at /usr/local/www/cgi-bin/extman/cgi/index.cgi line 20.[/quote]

vivamo 发表于 2006-8-7 20:55

yum –y install rrdtool

zhqxf 发表于 2006-11-22 19:30

登录extmail 出现这样是怎么回事啊
DBD::mysql::st execute failed: Unknown column 'extmail' in 'where clause' at /usr/local/apache/cgi-bin/extmail/libs/Ext/Auth/MySQL.pm line 82.

页: [1] 2

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.