Linux下邮件系统完美解决方案架设攻略
安装ExtMan - web后台
在ExtMail-Solution软件包根目录下执行:
用vi编辑/var/www/extsuite/extman/webman.cf,并连按2次ESC,确保进入命令模式,然后输入如下命令:
更新cgi目录权限
由于SuEXEC的需要,必须将extman的cgi目录修改成vuser:vgroup权限:
在执行mysql操作前,必须确认它已被正确安装并启动,可以用rpm命令查询mysql server的安装情况,用ps ax的办法查看进程列表是否有mysqld进程:
正常情况下应该可以看到mysql-server被安装:
mysql-server-4.1.12-3.RHEL4.1
如果没有,则表示没有安装好mysql-server,可以从本软件包RPMS目录里安装,也可以找安装光盘安装:
rpm -ivh RPMS/mysql-server-4.1.12-3.RHEL4.1.i386.rpm
安装完毕后必须初始化mysql,然后重新启动
/usr/bin/mysql_install_db
/etc/init.d/mysqld start
正常情况下将启动成功:
Starting MySQL: [ OK ]
然后用ps命令来检查mysqld是否正确运行:
ps ax|grep mysqld
正常情况下应出现如下的结果:
433 pts/0 S 0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --pid-file=/var/run/mysqld/mysqld.pid
466 pts/0 Sl 0:00 /usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock
如果mysql没正确启动,请检查/var/log/mysqld.log里面的出错提示,进行处理:
tail /var/log/mysqld.log
数据库初始化
执行以下命令导入mysql数据库结构及初始化数据,注意必须逐行输入以下命令,root密码默认为空,不可直接用鼠标复制两行命令直接输入,否则会报错!
mysql -u root -p < /var/www/extsuite/extman/docs/extmail.sql
mysql -u root -p < /var/www/extsuite/extman/docs/init.sql
XiaoHui 补充:在执行上面两个命令之前,一定要先确认 /var/www/extsuite/extman/docs/extmail.sql 以及 /var/www/extsuite/extman/docs/init.sql 的内容。
• 如果你一切按默认安装,域名用的就是 mail.extmail.org, 数据库的连接参数(username, database, password)都没有改,那么可以不用修改。直接执行。
• 如果你的域名不是 mail.extmail.org,而是你自己的域名,建议修改下列资料:
1. 打开 /var/www/extsuite/extman/docs/extmail.sql, 修改数据库连接的用户名和密码。
2. 打开 /var/www/extsuite/extman/docs/init.sql, 修改默认的初始邮箱地址和管理员帐号。默认的密码在这里不要改。
链接基本库到Extmail
由于ExtMan的体系与ExtMail比较类似,因此ExtMan需要使用ExtMail中几个基础perl 模块,在extman的源码包里,包含了一个叫buildlink.sh 的小脚本,该脚本完成了这些链接的工作,使用方法:
cd /var/www/extsuite/extman/libs/Ext
./buildlink.sh build /var/www/extsuite/extmail/libs/Ext
mkdir /tmp/extman
chown -R vuser:vgroup /tmp/extman
cd $OLDPWD
操作完毕后,需要建立刚才导入mysql的test@extmail.org帐户的Maildir,请输入如下命令:
cd /var/www/extsuite/extman/tools
./maildirmake.pl /home/domains/extmail.org/test/Maildir
chown -R vuser:vgroup /home/domains/extmail.org
cd $OLDPWD
注意事项:
上面命令行中最后一个cd $OLDPWD是返回原始路径(即ExtMail Solution软件包根目录)
由于RedHat发行版中包含了一个叫tmpwatch的工具,该工具会定期扫描/tmp/下的文件,如果这些文件很久都没被使用,将被删除,因此如果后台长期不使用,/tmp/extman目录有可能被tmpwatch删除,所以要么定期登陆后台,要么修改 webman.cf将临时目录修改到另一个地方。此处暂以/tmp/extman默认值为例。
上述导入初始化SQL时,默认的uidnumber/gidnumber都是1000,这和vuser:vgroup 的uid/gid一致,是因为maildrop投递时会从数据库里取uidnumber/gidnumber,而在master.cf里已经定义好了投递时的运行身份(vuser:vgroup),所以这两个字段的内容必须为1000,否则将出现投递错误,例如报0x06等错误。
测试authlib
在命令行下执行:
/usr/sbin/authtest -s login test@extmail.org test
结果如下:
Authentication succeeded.
Authenticated: test@extmail.org (uid 1000, gid 1000)
Home Directory: /home/domains/extmail.org/test
Maildir: /home/domains/extmail.org/test/Maildir/
Quota: 5242880
Encrypted Password: {crypt}uywiuN.XggXXc
Cleartext Password: test
Options: (none)
这样表明ExtMan的正确安装,数据库也正确导入,courier-authlib能正确连接到mysql数据库
最后访问http://mail.extmail.org/extmail/,如无意外,将看到webmail的登陆页,不过此时还没有加正式的用户,所以不能登陆,包括test@extmail.org也不行。必须要登陆到http://mail.extmail.org/extman/ 里增加一个新帐户才能登陆。
ExtMan的默认超级管理员帐户是root@extmail.org,密码是extmail,登陆成功后,建议将密码修改,以确保安全。
在ExtMail-Solution软件包根目录下执行:
配置webman.cfcp -r src/extman-0.16-pre1 /var/www/extsuite/extman/
用vi编辑/var/www/extsuite/extman/webman.cf,并连按2次ESC,确保进入命令模式,然后输入如下命令:
处理完毕后修改SYS_CHARSET及SYS_LANG参数为::1, $ s#/var/www/cgi-bin#/var/www/extsuite#g
其他参数基本上可以使用默认值。SYS_CHARSET = gb2312
SYS_LANG = zh_CN
更新cgi目录权限
由于SuEXEC的需要,必须将extman的cgi目录修改成vuser:vgroup权限:
确认MySQL状态chown -R vuser:vgroup /var/www/extsuite/extman/cgi/
在执行mysql操作前,必须确认它已被正确安装并启动,可以用rpm命令查询mysql server的安装情况,用ps ax的办法查看进程列表是否有mysqld进程:
正常情况下应该可以看到mysql-server被安装:
mysql-server-4.1.12-3.RHEL4.1
如果没有,则表示没有安装好mysql-server,可以从本软件包RPMS目录里安装,也可以找安装光盘安装:
rpm -ivh RPMS/mysql-server-4.1.12-3.RHEL4.1.i386.rpm
安装完毕后必须初始化mysql,然后重新启动
/usr/bin/mysql_install_db
/etc/init.d/mysqld start
正常情况下将启动成功:
Starting MySQL: [ OK ]
然后用ps命令来检查mysqld是否正确运行:
ps ax|grep mysqld
正常情况下应出现如下的结果:
433 pts/0 S 0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --pid-file=/var/run/mysqld/mysqld.pid
466 pts/0 Sl 0:00 /usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock
如果mysql没正确启动,请检查/var/log/mysqld.log里面的出错提示,进行处理:
tail /var/log/mysqld.log
数据库初始化
执行以下命令导入mysql数据库结构及初始化数据,注意必须逐行输入以下命令,root密码默认为空,不可直接用鼠标复制两行命令直接输入,否则会报错!
mysql -u root -p < /var/www/extsuite/extman/docs/extmail.sql
mysql -u root -p < /var/www/extsuite/extman/docs/init.sql
XiaoHui 补充:在执行上面两个命令之前,一定要先确认 /var/www/extsuite/extman/docs/extmail.sql 以及 /var/www/extsuite/extman/docs/init.sql 的内容。
• 如果你一切按默认安装,域名用的就是 mail.extmail.org, 数据库的连接参数(username, database, password)都没有改,那么可以不用修改。直接执行。
• 如果你的域名不是 mail.extmail.org,而是你自己的域名,建议修改下列资料:
1. 打开 /var/www/extsuite/extman/docs/extmail.sql, 修改数据库连接的用户名和密码。
2. 打开 /var/www/extsuite/extman/docs/init.sql, 修改默认的初始邮箱地址和管理员帐号。默认的密码在这里不要改。
链接基本库到Extmail
由于ExtMan的体系与ExtMail比较类似,因此ExtMan需要使用ExtMail中几个基础perl 模块,在extman的源码包里,包含了一个叫buildlink.sh 的小脚本,该脚本完成了这些链接的工作,使用方法:
cd /var/www/extsuite/extman/libs/Ext
./buildlink.sh build /var/www/extsuite/extmail/libs/Ext
mkdir /tmp/extman
chown -R vuser:vgroup /tmp/extman
cd $OLDPWD
操作完毕后,需要建立刚才导入mysql的test@extmail.org帐户的Maildir,请输入如下命令:
cd /var/www/extsuite/extman/tools
./maildirmake.pl /home/domains/extmail.org/test/Maildir
chown -R vuser:vgroup /home/domains/extmail.org
cd $OLDPWD
注意事项:
上面命令行中最后一个cd $OLDPWD是返回原始路径(即ExtMail Solution软件包根目录)
由于RedHat发行版中包含了一个叫tmpwatch的工具,该工具会定期扫描/tmp/下的文件,如果这些文件很久都没被使用,将被删除,因此如果后台长期不使用,/tmp/extman目录有可能被tmpwatch删除,所以要么定期登陆后台,要么修改 webman.cf将临时目录修改到另一个地方。此处暂以/tmp/extman默认值为例。
上述导入初始化SQL时,默认的uidnumber/gidnumber都是1000,这和vuser:vgroup 的uid/gid一致,是因为maildrop投递时会从数据库里取uidnumber/gidnumber,而在master.cf里已经定义好了投递时的运行身份(vuser:vgroup),所以这两个字段的内容必须为1000,否则将出现投递错误,例如报0x06等错误。
测试authlib
在命令行下执行:
/usr/sbin/authtest -s login test@extmail.org test
结果如下:
Authentication succeeded.
Authenticated: test@extmail.org (uid 1000, gid 1000)
Home Directory: /home/domains/extmail.org/test
Maildir: /home/domains/extmail.org/test/Maildir/
Quota: 5242880
Encrypted Password: {crypt}uywiuN.XggXXc
Cleartext Password: test
Options: (none)
这样表明ExtMan的正确安装,数据库也正确导入,courier-authlib能正确连接到mysql数据库
最后访问http://mail.extmail.org/extmail/,如无意外,将看到webmail的登陆页,不过此时还没有加正式的用户,所以不能登陆,包括test@extmail.org也不行。必须要登陆到http://mail.extmail.org/extman/ 里增加一个新帐户才能登陆。
ExtMan的默认超级管理员帐户是root@extmail.org,密码是extmail,登陆成功后,建议将密码修改,以确保安全。
0
第1页:准备工作第2页:ExtMail Solution 结构 第3页:CentOS4.3安装步骤1~10第4页:安装步骤11~21第5页:配置SELinux 第6页:rpm -ivh --nodeps RPMS/postfix-2.3.20050716-1hzq.i386.rpm 第7页:配置Postfix MTA 第8页:配置Courier-Authlib 第9页:配置Apache 第10页:安装ExtMan - web后台 第11页:配置Mailgraph_ext 第12页:安装Courier-IMAP 第13页:配置SpamAssassin 第14页:配置Amavisd与Clamav结合第15页:启动/测试
相关文章
