Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux系统 > » 正文

Linux+Postfix+Extmail+Dovecot打造基于WEB页面的邮件系统(3)

来源: 未知 分享至:

四、安装Courierauthentication library

注意:确保安装libtool-ltdl,libtool-ltdl-devel不然会报错

# tar jxvf courier-authlib-0.62.4.tar.bz2

# cd courier-authlib-0.62.4

#./configure --prefix=/usr/local/courier-authlib --sysconfdir=/etc--with-authmysql --with-mysql-libs=/usr/lib/mysql--with-mysql-includes=/usr/include/mysql --with-RedHat--with-authmysqlrc=/etc/authmysqlrc --with-authdaemonrc=/etc/authdaemonrcCFLAGS="-march=i686 -O2 -fexpensive-optimizations"   CXXFLAGS="-march=i686 -O2-fexpensive-optimizations"

 

# make

# make install

 

# chmod 755/usr/local/courier-authlib/var/spool/authdaemon

# cp /etc/authdaemonrc.dist  /etc/authdaemonrc

# cp /etc/authmysqlrc.dist  /etc/authmysqlrc

 

修改/etc/authdaemonrc 文件

authmodulelist="authmysql"

authmodulelistorig="authmysql"    #修改这3行

daemons=10

 

编辑/etc/authmysqlrc 为以下内容,其中2525,2525 为postfix 用户的UID和GID。

  1. MYSQL_SERVER localhost  
  2.   
  3. MYSQL_PORT 3306                   (指定你的mysql监听的端口,这里使用默认的3306)  
  4.   
  5. MYSQL_USERNAME extmail      (这时为后文要用的数据库的所有者的用户名)  
  6.   
  7. MYSQL_PASSWORD extmail        (密码)  
  8.   
  9. MYSQL_SOCKET /var/lib/mysql/mysql.sock #此行前注释去掉   
  10.   
  11. ------------------------------------------------  
  12.   
  13. MYSQL_DATABASE extmail         #自动生成,不要修改?   
  14.   
  15. ------------------------------------------------  
  16.   
  17. MYSQL_USER_TABLE mailbox  
  18.   
  19. MYSQL_CRYPT_PWFIELD password  
  20.   
  21. MYSQL_UID_FIELD '2525'  
  22.   
  23. MYSQL_GID_FIELD '2525'  
  24.   
  25. MYSQL_LOGIN_FIELD username  
  26.   
  27. MYSQL_HOME_FIELD concat('/var/mailbox/',homedir)          #邮箱的位置   
  28.   
  29. MYSQL_NAME_FIELD name  
  30.   
  31. MYSQL_MAILDIR_FIELD concat('/var/mailbox/',maildir)    

 

 

# cp courier-authlib.sysvinit/etc/init.d/courier-authlib                     #courier提供的启动脚本

# chmod 755 /etc/init.d/courier-authlib

# chkconfig --add courier-authlib

# chkconfig --level 2345 courier-authlib on

 

#echo"/usr/local/courier-authlib/lib/courier-authlib" >>/etc/ld.so.conf  #或添加库文件/etc/ld.so.conf.d/courier.conf

[root@station71 courier-authlib-0.62.4]#  ldconfig -v | grep courier

/usr/local/courier-authlib/lib/courier-authlib:

       libcourierauthcommon.so-> libcourierauthcommon.so.0

       libcourierauth.so-> libcourierauth.so.0

       libcourierauthsasl.so-> libcourierauthsasl.so.0

       libcourierauthsaslclient.so-> libcourierauthsaslclient.so.0

#库文件成功载入

# service courier-authlib start   (启动服务)

ps aux |grep courier

#查看进程启动

 

新建虚拟用户邮箱所在的目录,并将其权限赋予postfix用户:

#mkdir –pv /var/mailbox

#chown –R postfix/var/mailbox   #所有用户的邮件都在这里

 

接下来重新配置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 

五、让postfix支持虚拟域和虚拟用户 

1、编辑/etc/postfix/main.cf,添加如下内容:

  1. ########################Virtual MailboxSettings########################   
  2.   
  3. virtual_mailbox_base = /var/mailbox  
  4.   
  5. virtual_mailbox_maps =mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf  
  6.   
  7. virtual_mailbox_domains =mysql:/etc/postfix/mysql_virtual_domains_maps.cf  
  8.   
  9. virtual_alias_domains =  
  10.   
  11. virtual_alias_maps =mysql:/etc/postfix/mysql_virtual_alias_maps.cf  
  12.   
  13. virtual_uid_maps = static:2525  
  14.   
  15. virtual_gid_maps = static:2525  
  16.   
  17. virtual_transport = virtual  
  18.   
  19. maildrop_destination_recipient_limit = 1  
  20.   
  21. maildrop_destination_concurrency_limit = 1  
  22.   
  23. ##########################QUOTASettings########################   
  24.   
  25. message_size_limit = 14336000  
  26.   
  27. virtual_mailbox_limit = 20971520  
  28.   
  29. virtual_create_maildirsize = yes  
  30.   
  31. virtual_mailbox_extended = yes  
  32.   
  33. virtual_mailbox_limit_maps =mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf  
  34.   
  35. virtual_mailbox_limit_override = yes  
  36.   
  37. virtual_maildir_limit_message = Sorry, the user'smaildir has overdrawn his diskspace quota, please Tidy your mailbox and tryagain later.  
  38.   
  39. virtual_overquota_bounce = yes  
  40.   
  41.    

2、使用extman源码目录下docs目录中的extmail.sql和init.sql建立数据库:

 

# tar zxvf extman-1.1.tar.gz

# cd extman-1.1/docs

# mysql -u root -p <extmail.sql   #添加extmail.sql数据库到mysql

# mysql -u root -p <init.sql

# cp mysql* /etc/postfix/

 

3、授予用户extmail访问extmail数据库的权限

mysql> GRANT all privileges on extmail.* TOextmail@localhost IDENTIFIED BY 'extmail';

mysql> GRANT all privileges on extmail.* TOextmail@127.0.0.1 IDENTIFIED BY 'extmail'; 

说明:启用虚拟域以后,需要取消中心域,即注释掉myhostname,mydestination, mydomain, myorigin几个指令;当然,你也可以把mydestionation的值改为你自己需要的。


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
相关文章列表:
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史