十一、安装
Courier-IMAP
# tar jxvf courier-imap-4.4.1.tar.bz2
# cd courier-imap-4.4.1
./configure
--prefix=/usr/local/courier-imap
--with-redhat
--enable-unicode
--disable-root-check
--with-trashquota
--without-ipv6
CPPFLAGS='-I/usr/local/ssl/include/openssl -I/usr/local/courier-authlib/include'
LDFLAGS='-L/usr/local/courier-authlib/lib/courier-authlib'
COURIERAUTHCONFIG='/usr/local/courier-authlib/bin/courierauthconfig'
(./configure --prefix=/usr/local/courier-imap --with-redhat --enable-unicode --disable-root-check --with-trashquota --without-ipv6 CPPFLAGS='-I/usr/local/ssl/include/openssl -I/usr/local/courier-authlib/include' LDFLAGS='-L/usr/local/courier-authlib/lib/courier-authlib' COURIERAUTHCONFIG='/usr/local/courier-authlib/bin/courierauthconfig')
# make
# make install
# cp /usr/local/courier-imap/etc/imapd.dist /usr/local/courier-imap/etc/imapd
# cp /usr/local/courier-imap/etc/imapd-ssl.dist /usr/local/courier-imap/etc/imapd-ssl
# cp /usr/local/courier-imap/etc/pop3d.dist /usr/local/courier-imap/etc/pop3d
# cp /usr/local/courier-imap/etc/pop3d-ssl.dist /usr/local/courier-imap/etc/pop3d-ssl
(cp /usr/local/courier-imap/etc/imapd.dist /usr/local/courier-imap/etc/imapd && cp /usr/local/courier-imap/etc/imapd-ssl.dist /usr/local/courier-imap/etc/imapd-ssl && cp /usr/local/courier-imap/etc/pop3d.dist /usr/local/courier-imap/etc/pop3d && cp /usr/local/courier-imap/etc/pop3d-ssl.dist /usr/local/courier-imap/etc/pop3d-ssl)
配置
Courier-IMAP
,为用户提供
pop3
服务:
vim /usr/local/courier-imap/etc/pop3d
POP3DSTART=YES
注:如果你想为用户提供
IMAP
服务,则需在
"/usr/local/courier-imap/etc/imapd"
文件中设置
"IMAPDSTART=YES"
;其它类同;
新建虚拟用户邮箱所在的目录,并将其权限赋予
postfix
用户:
#mkdir -pv /var/mailbox
#chown -R postfix /var/mailbox
# chown -R postfix.postfix /var/mailbox
#cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imapd
#chmod 755 /etc/rc.d/init.d/courier-imapd
#chkconfig --add courier-imapd
#chkconfig --level 2345 courier-imapd on
#service courier-imapd start
接下来重新配置
SMTP
认证,编辑
/usr/local/lib/sasl2/smtpd.conf
,确保其为以下内容:
pwcheck_method: authdaemond
log_level: 3
mech_list:PLAIN LOGIN
authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: localhost
sql_user: extmail
sql_passwd: extmail
sql_database: extmail
sql_select: select password from mailbox where username='%u'
从新启动
authlib
/etc/init.d/courier-authlib restart
十二、安装
Extmail-1.0.2
1
、安装
# tar zxvf extmail-1.0.2.tar.gz
# mkdir -pv /var/www/extsuite
# mv extmail-1.0.2 /var/www/extsuite/extmail
# cp /var/www/extsuite/extmail/webmail.cf.default /var/www/extsuite/extmail/webmail.cf
2
、修改主配置文件
#vim /var/www/extsuite/extmail/webmail.cf
部分修改选项的说明:
SYS_MESSAGE_SIZE_LIMIT = 5242880
用户可以发送的最大邮件
SYS_USER_LANG = en_US
语言选项,可改作:
SYS_USER_LANG = zh_CN
SYS_MAILDIR_BASE = /home/domains
此处即为您在前文所设置的用户邮件的存放目录,可改作:
SYS_MAILDIR_BASE = /var/mailbox
SYS_MYSQL_USER = db_user
SYS_MYSQL_PASS = db_pass
以上两句句用来设置连接数据库服务器所使用用户名、密码和邮件服务器用到的数据库,这里修改为:
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_HOST = localhost
指明数据库服务器主机名,这里默认即可
SYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock
连接数据库的
sock
文件位置,这里修改为:
SYS_MYSQL_SOCKET = /tmp/mysql.sock
SYS_MYSQL_TABLE = mailbox
SYS_MYSQL_ATTR_USERNAME = username
SYS_MYSQL_ATTR_DOMAIN = domain
SYS_MYSQL_ATTR_PASSWD = password
以上用来指定验正用户登录里所用到的表,以及用户名、域名和用户密码分别对应的表中列的名称;这里默认即可
SYS_AUTHLIB_SOCKET = /var/spool/authdaemon/socket
此句用来指明
authdaemo socket
文件的位置,这里修改为:
SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket
3
、
apache
相关配置
由于
extmail
要进行本地邮件的投递操作,故必须将运行
apache
服务器用户的身份修改为您的邮件投递代理的用户;本例中打开了
apache
服务器的
suexec
功能,故使用以下方法来实现虚拟主机运行身份的指定。此例中的
MDA
为
postfix
自带,因此将指定为
postfix
用户:
<VirtualHost *:80>
ServerName mail.benet.org
DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
Alias /extmail /var/www/extsuite/extmail/html
SuexecUserGroup postfix postfix
</VirtualHost>
修改
cgi
执行文件属主为
apache
运行身份用户:
# chown -R postfix.postfix /var/www/extsuite/extmail/cgi/
如果您没有打开
apache
服务器的
suexec
功能
,
也可以使用以下方法解决:
# vi /etc/httpd/httpd.conf
User postfix
Group postfix
<VirtualHost *:80>
ServerName mail.benet.org
DocumentRoot /var/www/extsuite/extmail/html/
ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
Alias /extmail /var/www/extsuite/extmail/html
</VirtualHost>
4
、依赖关系的解决
extmail
将会用到
perl
的
DBD::Mysql
和
Unix::syslogd
功能,您可以去
http://search.cpan.org
搜索下载原码包进行安装。
# tar zxvf Unix-Syslog-1.1.tar.gz
# cd Unix-Syslog-1.1
# perl Makefile.PL
# make
# make install
# tar -zxf DBI-1.58.tar.gz
# cd DBI-1.58
# perl Makefile.PL
# make
# make install
DBD-Mysql
目前最新的版本为
DBD-mysql-4.005
,但它和系统中的
perl
结合使用时会造成
extmail
无法正常使用,因此我们采用
3
的版本:
# tar zxvf DBD-mysql-3.0002_4.tar.gz
# cd cd DBD-mysql-3.0002_4
# perl Makefile.PL (
此步骤中如果出现类同
Can't exec "mysql_config": No such file or directory at Makefile.PL line 76.
的错误是因为您的
mysql
的
bin
目录没有输出至
$PATH
环境变量
)
# make
# make install