postfix extmail 快速搭建

    技术2022-05-20  36

    yum install -y httpd mysql-server mysql-devel postgresql-devel expect libtool-ltdl-devel gamin-devel pcre-devel groupadd -g 1000 vgroup useradd -g 1000 -u 1000 -M -s /bin/false vuser service mysqld start chkconfig mysqld on cd /usr/local/src rpmbuild -ta courier-authlib-0.63.0.tar.bz2 cd /usr/src/redhat/RPMS/i386/ rpm -ivh courier-authlib-0.63.0-1.i386.rpm courier-authlib-mysql-0.63.0-1.i386.rpm courier-authlib-devel-0.63.0-

    1.i386.rpm 添加普通账号,并使用普通账号 给予普通账号/usr/src/redhat目录的读写权限,然后rpmbuild courier-imap cd /usr/local/src rpmbuild -ta courier-imap-4.6.0.tar.bz2 切换回root cd /usr/src/redhat/RPMS/i386/ rpm -ivh courier-imap-4.6.0-1.i386.rpm cd /usr/local/src rpmbuild -ta maildrop-2.5.2.tar.bz2 cd /usr/src/redhat/RPMS/i386/ rpm -ivh maildrop-2.5.2-1.i386.rpm

    cd /usr/local/src rpm -qa | grep cyrus-sasl | xargs rpm -e --nodeps rm -rf /usr/lib/sasl rm -rf /usr/lib/sasl2 rpm -ivh cyrus-sasl-lib-2.1.22-8.i386.rpm cyrus-sasl-2.1.22-8.i386.rpm cyrus-sasl-devel-2.1.22-8.i386.rpm cyrus-sasl-

    plain-2.1.22-8.i386.rpm 从emos包中提取出来的

    /etc/init.d/sendmail stop rpm -ivh postfix-2.5.1-1.mysql.sasl2.vda.rhel5.i386.rpm rpm -e sendmail postconf -n > /etc/postfix/main2.cf mv /etc/postfix/main.cf /etc/postfix/main.cf.old mv /etc/postfix/main2.cf /etc/postfix/main.cf vi /etc/postfix/main.cf 增加如下内容 # hostname mynetworks = 127.0.0.1 myhostname = mail.extmail.org mydestination = $mynetworks $myhostname

    # banner mail_name = Postfix - by extmail.org smtpd_banner = $myhostname ESMTP $mail_name

    # response immediately smtpd_error_sleep_time = 0s

    # Message and return code control message_size_limit = 5242880 mailbox_size_limit = 5242880 show_user_unknown_table_name = no

    # Queue lifetime control bounce_queue_lifetime = 1d maximal_queue_lifetime = 1d

    配置Courier-Authlib vi /etc/authlib/authmysqlrc 将其内容清空,然后增加如下内容: MYSQL_SERVER            localhost MYSQL_USERNAME          extmail MYSQL_PASSWORD          extmail MYSQL_SOCKET            /var/lib/mysql/mysql.sock MYSQL_PORT              3306 MYSQL_OPT               0 MYSQL_DATABASE          extmail MYSQL_USER_TABLE        mailbox MYSQL_CRYPT_PWFIELD     password MYSQL_UID_FIELD         uidnumber MYSQL_GID_FIELD         gidnumber MYSQL_LOGIN_FIELD       username MYSQL_HOME_FIELD        homedir MYSQL_NAME_FIELD        name MYSQL_MAILDIR_FIELD     maildir MYSQL_QUOTA_FIELD       quota MYSQL_SELECT_CLAUSE     SELECT username,password,"",uidnumber,gidnumber,/                         CONCAT('/home/domains/',homedir),               /                         CONCAT('/home/domains/',maildir),               /                         quota,                                          /                         name                                            /                         FROM mailbox                                    /                         WHERE username = '$(local_part)@$(domain)'

    vi /etc/authlib/authdaemonrc authmodulelist="authmysql" authmodulelistorig="authmysql"

    启动courier-authlib service courier-authlib start

    chmod 755 /var/spool/authdaemon/

    配置maildrop vi /etc/postfix/master.cf maildrop   unix        -       n        n        -        -        pipe   flags=DRhu user=vuser argv=maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension} {nexthop}

    vi /etc/postfix/main.cf 添加 maildrop_destination_recipient_limit = 1

    测试 maildrop -v

    配置虚拟主机 vi /etc/httpd/conf/httpd.conf 在最后一行加上 NameVirtualHost *:80 Include conf/vhost_*.conf

    vi /etc/httpd/conf/vhost_extmail.conf 定义虚拟主机的相关内容 # VirtualHost for ExtMail Solution <VirtualHost *:80> ServerName mail.extmail.org DocumentRoot /var/www/extsuite/extmail/html/

    ScriptAlias /extmail/cgi/ /var/www/extsuite/extmail/cgi/ Alias /extmail /var/www/extsuite/extmail/html/

    ScriptAlias /extman/cgi/ /var/www/extsuite/extman/cgi/ Alias /extman /var/www/extsuite/extman/html/

    # Suexec config SuexecUserGroup vuser vgroup </VirtualHost>

    mkdir /var/www/extsuite

    chkconfig httpd on

    配置cyrus-sasl vi /etc/postfix/main.cf 增加如下内容 # smtpd related config smtpd_recipient_restrictions =         permit_mynetworks,         permit_sasl_authenticated,         reject_non_fqdn_hostname,         reject_non_fqdn_sender,         reject_non_fqdn_recipient,         reject_unauth_destination,         reject_unauth_pipelining,         reject_invalid_hostname,

    # SMTP sender login matching config smtpd_sender_restrictions =         permit_mynetworks,         reject_sender_login_mismatch,         reject_authenticated_sender_login_mismatch,         reject_unauthenticated_sender_login_mismatch

    smtpd_sender_login_maps =         mysql:/etc/postfix/mysql_virtual_sender_maps.cf,         mysql:/etc/postfix/mysql_virtual_alias_maps.cf   # SMTP AUTH config here broken_sasl_auth_clients = yes smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname smtpd_sasl_security_options = noanonymous

    编辑smtpd.conf文件 vi /usr/lib/sasl2/smtpd.conf pwcheck_method: authdaemond log_level: 3 mech_list: PLAIN LOGIN authdaemond_path:/var/spool/authdaemon/socket

    配置Courier-imap vi /usr/lib/courier-imap/etc/imapd IMAPDSTART=NO

    vi /usr/lib/courier-imap/etc/imapd-ssl IMAPDSSLSTART=NO

    service courier-imap start chkconfig courier-imap on

    安装配置extmail 处理extmail依赖关系 perl -MCPAN -e shell Are you ready for manual configuration? [yes] no

    vi /usr/lib/perl5/5.8.8/CPAN/Config.pm 'urllist' => [], 'urllist' => [q[http://mirrors.163.com/cpan/ ]] ,

    rm -rf ~/.cpan

    http://www.cpan.org/ 查找镜像

    如要重新配置CPAN,可先进入CPAN,然后在CPAN命令行(即CPAN>)键入以下指令:

    CPAN>o conf init

    安装DBD::Mysql 数据库驱动 cpan DBD::mysql 安装Unix-Syslog cpan Unix::Syslog

    cd /usr/local/src tar zxvf extmail-1.2.tar.gz mv extmail-1.2 /var/www/extsuite/extmail cd /var/www/extsuite/extmail/ 创建webmail.cf文件 cp webmail.cf.default webmail.cf vi webmail.cf 主要变动的内容见下 SYS_MYSQL_USER = extmail SYS_MYSQL_PASS = extmail SYS_MYSQL_DB = extmail chown -R vuser:vgroup /var/www/extsuite/extmail/cgi/

    安装配置extman 处理extman 依赖关系 cd /usr/local/src tar jxvf gd-2.0.35.tar.bz2 cd gd-2.0.35 ./configure make make install

    yum install pango-devel -y cpan GD cpan Time::HiRes cpan File::Tail 安装rrdtool tar zxvf rrdtool-1.4.4.tar.gz cd rrdtool-1.4.4 ./configure --prefix=/usr/local/rrdtool --enable-perl-site-install=/usr/lib/perl5 make make install

    tar zxvf extman-1.1.tar.gz mv extman-1.1 /var/www/extsuite/extman cd /var/www/extsuite/extman cp webman.cf.default webman.cf chown -R vuser:vgroup /var/www/extsuite/extman/cgi/ mkdir /tmp/extman chown -R vuser:vgroup /tmp/extman

    cd docs/ vi init.sql :%s/extmail.org/96090.com/g /usr/local/mysql/bin/mysql -u root -p < extmail.sql /usr/local/mysql/bin/mysql -u root -p < init.sql 配置postfix虚拟域 cp mysql_virtual_* /etc/postfix/ vi /etc/postfix/main.cf 增加以下内容 # extmail config here virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_transport = maildrop:

    配置extman图形日志 cd /var/www/extsuite/extman/addon/ cp -r mailgraph_ext /usr/local/

    配置extman图形监控 cpan Time::HiRes cpan File::Tail

    /usr/local/mailgraph_ext/mailgraph-init start echo "/usr/local/mailgraph_ext/mailgraph-init start" >> /etc/rc.d/rc.local

    启动cmdserver(在后台显示系统信息) /var/www/extsuite/extman/daemon/cmdserver --daemon 添加开机起动 echo "/var/www/extsuite/extman/daemon/cmdserver -v -d" >> /etc/rc.d/rc.local

    安装MailScanner tar zxvf MailScanner-4.83.4-1 cd MailScanner-4.83.4-1 ./install.sh

    安装Clam SA tar zxvf install-Clam-SA-latest.tar.gz cd install-Clam-0.96.5-SA-3.3.1/ ./install.sh

    配置MailScanner vi /etc/MailScanner/MailScanner.conf 下面的注释掉并修改成对应的情况 %org-name% = yoursite %org-long-name% = Your Organisation Name Here %web-site% = www.your-organisation.com Run As User = Run As Group = 更改为: Run As User = postfix Run As Group = postfix ----------------------------------------------------- Incoming Queue Dir = /var/spool/mqueue.in Outgoing Queue Dir = /var/spool/mqueue 更改为: Incoming Queue Dir = /var/spool/postfix/hold Outgoing Queue Dir = /var/spool/postfix/incoming

    -----------------------------------------------------

    MTA = sendmail 更改为: MTA = postfix ---------------------------------------------------- Virus Scanners = none 更改为: Virus Scanners = clamd --------------------------------------------------- Always Include SpamAssassin Report = no 更改为: Always Include SpamAssassin Report = yes -------------------------------------------------- Use SpamAssassin = no 更改为: Use SpamAssassin = yes ------------------------------------------------- Required SpamAssassin Score = 6 更改为: Required SpamAssassin Score = 4 -------------------------------------------------- SpamAssassin User State Dir = 更改为: SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin

    ----------------------------------------------------------------- SpamAssassin Install Prefix = 更改为: SpamAssassin Install Prefix = /usr/bin

    -------------------------------------------------------------------- SpamAssassin Local Rules Dir = 更改为: SpamAssassin Local Rules Dir = /etc/MailScanner

    -------------------------------------------------------------------- Clamd Socket = /tmp/clamd.socket Incoming Work Group = clamav Incoming Work Permissions = 0640

    更改incoming、quarantine两个目录相关用户和组的使用权限 chown -R postfix.postfix /var/spool/MailScanner/incoming chown -R postfix.postfix /var/spool/MailScanner/quarantine ln -s /usr/bin/freshclam /usr/local/bin/freshclam

    mkdir /var/spool/MailScanner/spamassassin chown -R postfix.clamav /var/spool/MailScanner/spamassassin

    整合MailScanner into Postfix vi /etc/postfix/main.cf 添加 header_checks = regexp:/etc/postfix/header_checks. vi /etc/postfix/header_checks 添加 /^Received:/ HOLD

    配置SpamAssassin 增加中文规则: 用于处理中文(简体)垃圾邮件

    wget -N -P /etc/mail/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf

    vi /etc/mail/spamassassin/local.cf rewrite_header Subject *****SPAM*****

    配置clamd vi /usr/loca/etc/clamd.conf LocalSocket /tmp/clamd.socket

    vi /usr/local/etc/freshclam.conf PidFile /var/run/freshclam.pid DatabaseMirror db.CN.clamav.net

    /usr/local/sbin/clamd start /usr/local/bin/freshclam

    chkconfig MailScanner on service MailScanner start

    用mailscanner发信自动带加上这个内容: This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean 取消这种设置方法:vi /etc/MailScanner/MailScaner.conf Sign Clean Messages = yes 改成 Sign Clean Messages = no

    修改提示信息文中文 拷贝cn文件夹到/etc/MailScanner/reports下 %report-dir% = /etc/MailScanner/reports/en 修改成 %report-dir% = /etc/MailScanner/reports/cn

     

    http://linux.vbird.org/somepaper/20030905-mailscanner-conf.htm http://wiki.extmail.org/extmail_solution_for_linux_centos-5 http://www.linuxmail.info/mailscanner-postfix-clamav-spamassassin-howto-centos-5/


    最新回复(0)