免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1097 | 回复: 0
打印 上一主题 下一主题

Postfix [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-02 20:46 |只看该作者 |倒序浏览

一. 开源软件包
    1). postfix (postfix-2.6.5.tar.gz --
http://postfix.ezarticleinformation.com/official/postfix-2.6.5.tar.gz


)  
    2). cyrus-imap (cyrus-imapd-2.3.14.tar.gz  
ftp://ftp.andrew.cmu.edu/pub/cyrus/cyrus-imapd-2.3.14.tar.gz


)
    3). cyrus-sasl (系统自带 或 cyrus-sasl-2.1.23.tar.gz  
ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.23.tar.gz


)
    4). BerkeleyDB( RHEL 4.7 自带)
    5). Openssl( RHEL 4.7 自带)
    6). Mysql(mysql-5.0.45.tar.gz ,源码包由辛树提供)
二.安装
    1). Mysql: //感谢辛树提供mysql源码版本和configure配置项。
    > groupadd mysql
    > useradd -g mysql mysql  
    > ./configure -with-charset=gbk --with-extra-charsets="gbk gb2312 big5 utf8" --with-big-tables --without-man --without-docs
    > make;make install
    > scripts/mysql_install_db --user=mysql
    然后启动mysql服务并测试成功后,再进行下面步骤。
    还需要在/etc/ld.so.conf.d 中添加 mysqlclient.conf文件,文件内容如下:
          mysqlclient.conf的内容如下:
            /usr/local/lib/mysql
     然后运行ldconfig来使之生效
    2). cyrus-sasl
        rhel系统自带了cyrus-sasl开发包和动态库,但在测试过程中发现,有可能系统自带的cyrus-sasl-2.1.19和postfix有兼容性问题,所以下载最新版本的cyrus-sasl-2.1.23,并从源码编译安装。
         ./configure enable-checkapop --enable-login --enable-auth-sasldb --prefix=/usr
         make;make install
    3). postfix:
        > make tidy
        > make makefiles CCARGS="-DHAS_MYSQL -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -DUSE_TLS -I/usr/include/sasl/ -I/usr/local/include/mysql " AUXLIBS="-lsasl2 -ldb-4.7 -lssl -lcrypto -L/usr/local/lib/mysql -lmysqlclient -lz -lm"
        > groupadd postfix
        > groupadd postdrop
        > useradd -g postfix -G postdrop postfix
       > make install (按提示修改属性,基本可以一路回车)
    4). cyrus-imap > wget
ftp://ftp.andrew.cmu.edu/pub/cyrus/cyrus-imapd-2.3.14.tar.gz


       > tar zxf cyrus-imapd-2.3.14.tar.gz
       > cd cyrus-imapd-2.3.14
       > ./configure --with-bdb --with-openssl
       > make
       > make install
       > cd perl/imap/
       > perl Makefile.PL
       > make
       > make install
       > useradd cyrus
       > passwd cyrus
三. 配置服务
     1). Mysql服务配置: (略)
     2). Postfix 服务配置:
        1./etc/postfix/为postfix的配置主目录
                   cd /etc/postfix/
      
                   ( 默认安装时已经有很多配置文件了,并且内容很多。可以把所有配置文件放入一个文件夹内,然后自己从零开始写配置文件内容。这样便于理解postfix的配置意义。)
      
                   mkdir conf
                   mv * conf  //把postfix默认安装的所有配置文件都移到conf目录中,以备参考,我们从头开始自己配置postfix。
      
        2.采用最小配置法
                  (1)postfix 最小配置只用2个配置文件就可以运行了(main.cf 和 master.cf) :
      
                               main.cf中是postfix的大部分功能配置选项。
      
                               master.cf 中为master进程(postfix的主进程)用来管理其他功能进程的配置文件
      
                               ln -s conf/master.cf . //master.cf是postfix主进程使用的配置文件,它控制系统所应该启用的所有进程,这个配置文件基本没什么要改的
                  (2)main.cf 文件内容:
      
                          mydomain=alimail.com
                          mydestination=$mydomain
      
        3.postfix进阶配置(虚拟域+smtp认证)
                vi main.cf
                >#domain   //本地域的配置项
                >mydomain=alimail.com  //本服务器的本地域名
                >mydestination=$mydomain //本服务器的接受发给本地域的所有邮件
                >#myorigin = $mydomain  //还不知道
                >myhostname =als_ims_disktest1 //在添加用户认证的时候,如果没有指定用户域,就默认为这个配置项的域名
                >
                >#virtual domains  //虚拟域的配置项
                >virtual_mailbox_domains = example1.com  //虚拟域名
                >virtual_mailbox_base = /var/mail/vhosts //虚拟域mailbox的存储路径前缀
                >virtual_uid_maps = static:5000   //虚拟域mailbox存储文件所属用户id
                >virtual_gid_maps = static:5000   //虚拟域
                >virtual_mailbox_maps = mysql:/etc/postfix/vmailbox.sql //虚拟域用户与mailbox或maildir之间的映射表
                     //映射表格式为:
                     //[用户名]  [路径]
                     //test@example.com example.com/test/ 最后用"/"结尾的是用maildir方式
                     //test@example.com example.com/test  最后没用"/"结尾的是用mailbox方式
               
                >virtual_mailbox_limit = 0 //配置虚拟账户容量为"无限制"
                >
                >#smtp auth   //smtp认证配置
                >smtpd_sasl_auth_enable  = yes //启用smtp认证
                >smtpd_sasl_type = cyrus //smtp认证方式
                >smtpd_sasl_path = smtpd //smtp认证进程
                >smtpd_sasl_local_domain = $myhostname  //sasl认证时用户的默认域
                >smtpd_sasl_security_options = noanonymous //允许plain认证,不允许匿名认证
                >broken_sasl_auth_clients = yes //支持老的outlook所需要的auth语法风格
               
                >smtpd_recipient_restrictions = //smtpd转发规则
                >        permit_mynetworks
                >        permit_sasl_authenticated
                >        reject_unauth_destination
               
                In mysql:
                mysql> create database postfix;
                mysql> use postfix;
                mysql> create table vmailbox_table ( vuser varchar(255) not null, vmailbox varchar(1024) not null );
                mysql> insert into vmailbox_table(vuser , vmailbox ) value("admin@example1.com","example1.com/admin");
                mysql> select * from vmailbox_table;
               
                vi vmailbox.sql  //采用mysql保存虚拟域用户mailbox映射
                >user = root  //mysql用户名
                >password =  //mysql密码
                >dbname = postfix //应用数据库
                >query = SELECT vmailbox FROM vmailbox_table WHERE vuser='%s' //sql 查询语句
               
                vi /etc/sasl2/smtpd.conf
                >pwcheck_method: auxprop
                >auxprop_plugin: sasldb //通过文件名为sasldb2的bdb数据库文件进行验证,
                   //或者改为pwcheck_method: saslauthd用saslauthd验证服务来进行验证
                >mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 //smtpd支持的认证类型
               
                chmod a+r /etc/sasldb2  //修改验证数据库文件的访问权限
                saslpasswd2 -c test  //创建验证用户信息 -u 选项为该用户所在的域,默认为本机的hostname
               
                mkdir -p /var/mail/vhosts //创建虚拟域mailbox存放的目录
                chmod 755 /var/mail/vhosts //修改该目录的访问权限
                mkdir /var/mail/vhosts/example1.com/  //为每个虚拟域创建mailbox存放目录
                chmod 777 /var/mail/vhosts/example1.com/ //修改该目录权限
               
                postfix reload
               
                然后就可以用telnet来测试邮件验证服务了
                telnet localhost 25
                ehlo localhost
                auth plain AHRlc3QAdGVzdA==
               
http://cyrusimap.web.cmu.edu/imapd/install-configure.html


            cd
            拷贝源码文件中的默认配置为cyrus系统的配置文件
            cp ./master/conf/normal.conf /etc/cyrus.conf
            创建imapd的配置文件
            vi /etc/imapd.conf
            >configdirectory: /var/imap
            >partition-default: /var/spool/imap
            >admins: cyrus
            >sasl_pwcheck_method: auxprop
            >allowplaintext:yes
            创建imapd所需要的目录           
            cd /var
            mkdir imap
            chown cyrus imap
            chgrp mail imap
            chmod 750 imap
           
            cd /var/spool
            mkdir imap
            chown cyrus imap
            chgrp mail imap
            chmod 750 imap
           
            cd /usr
            mkdir sieve
            chown cyrus sieve
            chgrp mail sieve
            chmod 750 sieve
           
            运行cyrus-imap自己提供的配置工具
            su cyrus
            tools/mkimap
            exit
           
            修改用于lmtp投递用的socket的访问权限
            chmod a+wr /var/imap/socket/lmtp
            chmod a+wrx /var/imap/socket
            chmod a+wrx /var/imap
            为cyrus-imap服务管理员创建认证信息
            saslpasswd2 -c cyrus
            创建pop/imap账户
            cyradm -u cyrus localhost
            >cm user.
            修改postfix为用lmtp进行投递
            vi /etc/postfix/main.cf
            > virtual_transport = lmtp:unix:/var/imap/socket/lmtp
            postfix reload
-->

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/86948/showart_2044278.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP