安装extmail心得
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://coolerfeng.blog.51cto.com/133059/58075 |
学习疯狂老头的blog(http://blog.redzone.com.cn安装extmail心得
原文链接,第一部分:http://blog.redzone.com.cn/read.php/35.htm 第二部分http://blog.redzone.com.cn/read.php/36.htm 第三部分http://blog.redzone.com.cn/read.php/37.htm 照着疯狂老头的blog在CENTOS5上安装extmail,别的地方都一切正常.但是也出现了几个小问题. 第2部分里面编辑 authmysqlrc 文件:
MYSQL_SERVER localhost
MYSQL_USERNAME extmail MYSQL_PASSWORD extmail MYSQL_SOCKET /tmp/mysql.sock (注意这里哦!) mysql的socket路径应该是/var/lib/mysql/mysql.sock
第3部分,maildrop 测试账号,疯狂老头的文章中说用test@extmail.org这个用户.但是没有这个用户,因此
用系统自带的postmaster@extmail.org测试通过 用老头的命令maildrop -V 10 -d postmaster@extmail.org会卡住.需要手动按ctrl+c结束. 也可以用echo test| maildrop -V 10 -d postmaster@extmail.org来测试.更加完整的过程. 如果出现认证失败maildrop: Temporary authentication failure..检查/var/log/maillog发现是无法连接 数据库
Jan 5 14:11:18 localhost authdaemond: received userid lookup request: postmaster@extmail.org Jan 5 14:11:18 localhost authdaemond: authmysql: trying this module Jan 5 14:11:18 localhost maildrop[30991]: Temporary authentication failure. Jan 5 14:11:18 localhost authdaemond: failed to connect to mysql server (server=localhost , userid=extmail): Unknown MySQL server host 'localhost ' (3)
Jan 5 14:11:18 localhost authdaemond: authmysql: TEMPFAIL - no more modules will be tried 原来是/usr/local/courth-aulith/authmysqlrc 中的MSYQLSERVER localhost这一行后面多了空格. extmail使用fastcgi后.登录extmail总是说没有权限. Can't touch /home/domains/extmail.org/test/Maildir//.Sent/maildirfolder, No such file or directory
Can't open maildirsize.tmp: Permission denied 使用普通cgi就可以正常登录. 参考extmail目录下的README.fastcgi
后知道要解决这权限问题有几种办法: 第4种办法比较简单.就是修改apache的运行用户
vi /etc/http/conf/httpd.conf Change User & Group to the vmail user: User vuser
Vgroup vgroup add the following lines to it:
LoadModule fastcgi_module modules/mod_fastcgi.so
<IfModule mod_fastcgi.c>
FastCgiIpcDir /var/lib/fcgi </IfModule> Then create fastcgi ipc dirs:
#mkdir /var/lib/fcgi
#mkdir /var/lib/fcgi/dynamic #chmod 777 /var/lib/fcgi #chmod 777 /var/lib/fcgi/dynamic 这里疯狂老头的blog文章中遗漏了修改APACHE的用户和组的设置
如果在生产环境,最好用第6种办法.更加安全
最后几个原文中遗漏和错误的地方.
extman的后台密码在0.22版本改成了extmail*123*,希望大家仔细看文档.
extmail复制到/var/www/extsuite目录后,需要将webmail.cf.default改名为webmail.cf
此文件里面的连接数据库的地方也需要修改,其他设置根据需要修改,比如去掉验证码等.
否则登录webmail的时候会报错. 补充一个extmail的修改.
extmail的首页域名这个框,需要手动输入.比较麻烦,如果用域名访问,可以根据域名来自动填充.如果二级域 名不是www.XXXX.com.cn 或者mail.XXXX.com.cn这样的格式,程序无法识别,需要修改下面的地方.
vi /var/www/extsuite/extmail/html/default/index.html
找到: var res = url.match(/^(mail|netra|webmail|www|freemail|)\.(.*)/); 在这里面加入你需要省略的域名前缀,例如(网址:netra.abc.com) 这样用域名访问webmail的首页的时候,域名这个地方就自动填好了.如果是多个域,为了方便用户选择, 我们改成下拉列表的形式. 这个技巧是参考sery的postfix电子邮件精要这篇文章学来的.
在文件/var/www/extsuite/extmail/html/default/index.html 找到下面的标识 <TD><%domain%></TD> <TD><INPUT TYPE="text" class="input_n" NAME="domain"></TD> 修改成下面的代码 <TD><%domain%></TD> <TD><select name="domain" size="1" class="input_select"> <option value="extmail.org">extmail.org</option> <option value="sery.com">sery.com</option> </select> </TD> 现在邮件域变成了下拉列表,从而方便用户的使用。
希望疯狂老头的文章和我的补充能方便更多的新手学习extmail. 更多问题也可以去http://www.extmail.org的论坛学习.
收发邮件测试.通过webmail
发邮件,提示error code 19200
查看日志/var/log/maillog
Jan 5 18:58:43 localhost postfix/sendmail[31694]: fatal: chdir /var/spool/postfix: Permission denied
解决办法chmod 755 /var/log/postfix
size=2269, nrcpt=1 (queue active)
Jan 5 19:02:28 localhost postfix/qmgr[12516]: warning: connect to transport maildrop: No such file or directory
Jan 5 19:02:28 localhost postfix/smtpd[31747]: disconnect from m13-106.163.com[220.181.13.106] Jan 5 19:02:28 localhost postfix/error[31756]: 5CAC89600B: to=<test@coolerfeng.88pl.com>, relay=none, delay=0.22, delays=0.14/0.04/0/0.04, dsn=4.3.0, status=deferred (mail transport
unavailable)
解决办法: #vi /etc/postfix/master.cf 把maildrop unix - n n - - pipe #flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}这行注释 改为flags=DRhu user=vuser argv=/usr/local/bin/maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension} {nexthop} 注意flags=Drhu这一行前边有一个空格,要不会出现以下错 (fatal: /etc/postfix/master.cf: line 100: bad transport type: user=vuser)。 Dec 11 08:08:06 localhost postfix/postfix-script[12498]: warning: not owned by root:
解决办法chown root:root /var/spool/postfix 重启postfix
service postfix restart 然后再收,这次ok了.
pop3收邮件,参考疯狂老头的文章出现错误.无法收邮件,提示密码不对,
在日志中出现这样的错误: Jan 5 19:43:25 localhost authdaemond: supplied password 'test' does not match clearpasswd '$1 $9c7j7QRp$MOHH9AwEOxD.yEUjUFv5G.'
分析和解决办法:
vi /usr/local/courier-authlib/etc/authlib/authmysqlrc 改成 MYSQL_SELECT_CLAUSE SELECT username,password,"",uidnumber,gidnumber 疯狂老头文章中的顺序是 username,"",password,uidnumber,gidnumber
这样取出来的是明文密码, 而我们在authmysqlrc用的是MYSQL_CRYPT_PWFIELD password 用的是加密后的密码,因此总是验证不过去. 我们在命令行下验证一下pop3 #telnet localhost 110 user test@coolerfeng.88pl.com pass test +OK logged in. quit 这次通过了.用outlook收信,可以顺利收下来了,需要注意的是,如果建立的域不是默认域. outlook里面的用户名是test@coolerfeng.88pl.com这样的格式. 本文出自 “风吹云动” 博客,请务必保留此出处http://coolerfeng.blog.51cto.com/133059/58075 本文出自 51CTO.COM技术博客 |



coolerfeng
博客统计信息
热门文章
最新评论
友情链接

