- 论坛徽章:
- 0
|
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]: [color="#ff0000"]command [color="#ff0000"]not [color="#ff0000"]in [color="#ff0000"]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 [color="#ff0000"]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
Q:
Can't locate DB_File.pm [color="#ff0000"]in @INC (@INC contains: /var/www/cgi-bin/extmail/libs
A:
楼主的perl没有DB_File支持。可以在
http://search.cpan.org
上
搜索DB::File模块,然后下载,回来解开,按INSTALL或README里的介绍安装。
自动安装
perl -MCPAN -e shell
install DB_File
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就可以了
Q:
extman可以login,无论把密码修改成什么,extmail不能login,日志里也不报错
A:
清空IE的cache、cookie。这个问题困扰了我一下午,最后在SunGod的帮助下解决。
有那位高手对 cookie 熟悉,帮助解决一下extmail cookie的问题,
好象extman不存在这个问题,是否可以参照extman的代码。
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 [color="#ff0000"]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,水平有限啊,建议英文好的朋友直接看官方文档,少走弯路。
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
Q:
/usr/local/sbin/amavisd -u amavis debug
ERROR: MISSING REQUIRED BASIC MODULES:
Time::HiRes
IO::Wrap
...
Net::Server
Net::Server:
![]()
reForkSimple
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
就好了
偶也把遇到的问题和解决的方法贴出来(当然,这都是extmail的成果)呵呵!!
Can't locate /en_US [color="#ff0000"]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" [color="#ff0000"]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 [color="#ff0000"]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
[color="#ff0000"]suexec -V
[Copy to clipboard]
[ - ]
CODE: -D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="public_html"
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/44757/showart_423652.html |
|