例1
“
为虚拟用户设置
SMTP
发信认证”
1. 修改dovecot配置文件
mail_location = maildir:/mailbox/%d/%n/Maildir
auth default {
mechanisms = plain
passdb sql {
args = /etc/dovecot-mysql.conf
}
userdb sql {
args = /etc/dovecot-mysql.conf
}
注意:这几行都不是连续的,建议查找修改,或者手工添加。
2.
编辑
/etc/dovecot-mysql.conf
driver = mysql
connect = host=localhost dbname=extmail user=extmail password=extmail
default_pass_scheme = CRYPT
password_query = SELECT username AS user,password AS password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir, uidnumber AS uid, gidnumber AS gid FROM mailbox WHERE username = '%u'
注意:该文件默认不存在,但有模板文件(在
/etc/
目录下,或者
/usr/share/doc
)
例2
“
部署
Extmail
邮件使用界面”
1.
编译安装相关的
perl
依赖包
Unix-Syslog-1.1.tar.gz
DBI-1.607.tar.gz
DBD-mysql-4.011.tar.gz
注意:安装
DBD-mysql
的时候需要知道参数,否则报错(perl Makefile.PL --libs="-L/usr/local/mysql/lib/mysql -lmysqlclient -lz" --cflags=-I/usr/local/mysql/include/mysql --testhost=127.0.0.1
)。
2 . vi
修改
extmail
的配置文件:
webmail.cf
SYS_CONFIG = /usr/local/apache2/htdocs/extmail/
SYS_LANGDIR = /usr/local/apache2/htdocs/extmail/lang
SYS_TEMPLDIR = /usr/local/apache2/htdocs/extmail/html
SYS_MAILDIR_BASE = /mailbox
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_DB = extmail
SYS_MYSQL_HOST = localhost
SYS_MYSQL_SOCKET = /tmp/mysql.sock
例3
“
部署
Extman
邮件
Web
管理平台”
1.
编译安装相关的依赖包
GD-2.41.tar.gz
File-Tail-0.99.3.tar.gz
rrdtool-1.2.23-3.el5.i386.rpm
rrdtool-perl-1.2.23-3.el5.i386.rpm
2
安装
extman
套件,并修改其配置文件
vi /usr/local/apache2/htdocs/extman/webman.cf
SYS_CONFIG = /usr/local/apache2/htdocs/extman/
SYS_LANGDIR = /usr/local/apache2/htdocs/extman/lang
SYS_TEMPLDIR = /usr/local/apache2/htdocs/extman/html
SYS_MAILDIR_BASE = /mailbox
SYS_MYSQL_USER = webman
SYS_MYSQL_PASS = webman
SYS_MYSQL_DB = extmail
SYS_MYSQL_HOST = localhost
SYS_MYSQL_SOCKET = /tmp/mysql.sock
书上错误:191页:我的服务器要求身份验证.应去掉勾号
一.
配置虚拟用户支持
—— MySQL
1.
编辑
vi /etc/postfix/main.cf
……
#mydestination = $mydomain, $myhostname
virtual_mailbox_base = /mailbox
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
2.
建立虚拟用户映射表文件
复制
extman
软件包中
docs
子目录下的样例文件
进入
/usr/src/extman-0.2.5/docs
cp mysql_virtual_* /etc/postfix
3.
二.
配置虚拟用户支持
—— SMTP
认证
1.
编译安装
courier-authlib
软件
解压软件包,进入相应目录,然后开始安装
./configure --prefix=/usr/local/courier-authlib
--without-stdheaderdir --with-authmysql
--with-mysql-libs=/usr/local/mysql/lib/mysql
--with-mysql-includes=/usr/local/mysql/include/mysql
然后make;make install,
然后执行“make install-configure”命令后将生成默认配置文件“
authmysqlrc”和“
authdaemonrc”,作用分别为
p
authdaemonrc
:主配置,设置使用的认证方式
p
authmysqlrc
:数据库配置,设置连接地址、查询方式等
2.
修改主配置,
authdaemonrc
文件
建议只保留
authmysql
认证方式—认证速度快
cd /usr/local/courier-authlib/etc/authlib/
编辑
authdaemonrc
修改下面两行
……
authmodulelist="authmysql"
authmodulelistorig="authmysql"
3.
修改数据库配置,
authmysqlrc
文件
编辑
authmysqlrc
MYSQL_SERVER localhost mysql
服务器位置
MYSQL_USERNAME extmail mysql
登陆用户名
MYSQL_PASSWORD extmail mysql
登陆密码
MYSQL_SOCKET /tmp/mysql.sock sock
文件位置
MYSQL_DATABASE extmail mysql
数据库名字
MYSQL_USER_TABLE mailbox mysql
用户邮箱存储的表的名字
……
MYSQL_HOME_FIELD concat('/mailbox/',homedir)
用户的宿主目录完整路径
……
MYSQL_MAILDIR_FIELD concat('/mailbox/',maildir)
用户的完整邮件存储路径
4.
其他调整
1
)修改
smtpd.conf
配置文件 改为通过 authdaemond 进行认证
vi /usr/lib/sasl2/smtpd.conf
pwcheck_method: authdaemond
authdaemond_path: /usr/local/courier-authlib/var/spool/authdaemon/socket
2)
调整
socket
目录权限
chmod -R 755/usr/local/courier-authlib/var/spool/authdaemon
3)
添加库文件搜索路径
~]# vi /etc/ld.so.conf
……
/usr/local/courier-authlib/lib/courier-authlib
ldconfig
5.
启动
counrier-authlib
服务程序
cp /usr/src/courier-authlib-0.60.2/courier-authlib.sysvinit /etc/init.d/courier-authlib
chmod 755 /etc/init.d/courier-authlib
service courier-authlib start
三.
配置虚拟用户支持
—— dovecot
1.
调整
dovecot.conf
配置文件
vi /etc/dovecot.conf
mail_location = maildir:/mailbox/%d/%n/Maildir
修改邮箱存储
位置
……
auth default {
mechanisms = plain
passdb sql {
args = /etc/dovecot-mysql.conf
用户名及密码查询在独立的配置文件中指定
}
userdb sql {
args = /etc/dovecot-mysql.conf
}
2.
创建数据查询配置文件
vi /etc/dovecot-mysql.conf
driver = mysql
connect = host=localhost dbname=extmail user=extmail password=extmail
default_pass_scheme = CRYPT
password_query = SELECT username AS user,password AS password FROM mailbox WHERE username = '%u'
查询用户密码的语句
user_query = SELECT maildir, uidnumber AS uid, gidnumber AS gid FROM mailbox WHERE username = '%u'
查询用户身份的语句
3.
建立邮箱目录,并调整权限
mkdir -p /mailbox/extmail.org/postmaster/Maildi
chown -R postfix:postfix /mailbox
4.
重新启动
dovecot
服务
kill `pgrep dovecot` ; dovecot