centos 5.2下安装postfix+extmail+extman命令全教程

 

自定义最小安装

yum -y install kernel-PAE*

 

 

vi /etc/sysconfig/i18n

LANG="en_US"

#LANG="zh_CN.UTF-8"

SUPPORTED="zh_CN.UTF-8:zh_CN:zh:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"

SYSFONT="latarcyrheb-sun16"

 

关闭selinux

vi /etc/selinux/config

去除IPV6

vi /etc/modprobe.conf

alias net-pf-10 off

alias ipv6 off

修改网关

vi /etc/sysconfig/network

设IP

vi /etc/sysconfig/network-scripts/ifcfg-eth0

 

定义yum的非官方库

vi /etc/yum.repos.d/dag.repo

[dag]

name=Dag RPM Repository for Red Hat Enterprise Linux

baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag

gpgcheck=1

enabled=1

gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

 

关闭不需要的服务

chkconfig mcstrans off

chkconfig restorecond off

chkconfig ip6tables off

chkconfig iptables off

chkconfig netfs off

 

添加必需软件

yum -y install ntsysv ntp telnet wget rsync vixie-cron logwatch

 

yum -y install  /

perl-Unix-Syslog perl-Net-Daemon perl-PlRPC perl-DBI perl-DBD-MySQL  /

freetype-demos freetype-devel libart_lgpl-devel libpng libpng-devel /

perl-Time-HiRes perl-Time-HiRes-Value perl-File-Tail  /

perl-libwww-perl perl-HTML-Parser perl-HTML-Tagset /

perl-IO-stringy perl-IO-Multiplex perl-MailTools perl-TimeDate /

perl-Convert-ASN1 perl-Convert-BinHex perl-MIME-tools perl-FCGI /

rrdtool rrdtool-perl /

apr-devel apr-docs apr-util-devel apr-util-docs /

giflib libgdiplus mono-core dbus-sharp dbus-sharp-devel dbus-glib-devel dbh dbh-devel /

pcre pcre-devel /

httpd httpd-devel httpd-manual /

mysql mysql-devel mysql-server /

cyrus-sasl cyrus-sasl-plain /

bind bind-chroot amavisd-new clamd clamav clamav-db spamassassin /

bison bzip2-devel /

expect fam-devel flex freetype-devel /

gcc gcc-c++ gdbm-devel /

libc-client-devel libjpeg-devel /

libmcrypt libmcrypt-devel libpng-devel /

libxslt-devel make rpm-build mod_ssl /

php php-gd php-mysql php-mbstring php-mcrypt phpmyadmin /

perl-Mon perl-Authen-PAM perl-Filter perl-Net_SSLeay.pm perl-Convert-BER /

perl-URI   perl-XML-SAX /

perl-Crypt-Blowfish perl-Crypt-CBC perl-Date-Calc  /

ncurses-devel net-snmp-devel libtool /

openssl openssl-devel openssl-perl /

pam-devel pkgconfig postgresql-devel zlib-devel  /

 

chkconfig httpd on

chkconfig mysqld on

升级包

yum -y update

 

 

reboot

 

#install postfix

wget http://mirror.centos.org/centos/5/os/SRPMS/postfix-2.3.3-2.src.rpm

rpm -ivh postfix-2.3.3-2.src.rpm

cd /usr/src/redhat/SPECS

vi postfix.spec

%define LDAP 2

%define MYSQL 1

%define PCRE 1

%define SASL 2

%define TLS 1

%define IPV6 0

rpmbuild -bb postfix.spec

rpm -Uvh /usr/src/redhat/RPMS/i386/postfix-2.3.*

 

/usr/sbin/groupadd -g 1000 vgroup

/usr/sbin/useradd -g 1000 -u 1000 -M -s /bin/false vuser

 

#install courier-authlib

cd

wget http://downloads.sourceforge.net/courier/courier-authlib-0.61.0.tar.bz2?modtime=1215968527&big_mirror=1

tar jxvf courier-authlib-0.61.0.tar.bz2 

cd courier-authlib-0.61.0

./configure /

--prefix=/usr/local/courier-authlib /

--without-stdheaderdir /

--without-authuserdb /

--without-authpam /

--without-authldap /

--without-authpwd /

--without-authshadow /

--without-authvchkpw /

--without-authpgsql /

--without-authcustom /

--with-authmysql /

--with-redhat

 

make

make install

make install-configure

echo "/usr/local/courier-authlib/lib/courier-authlib" >> /etc/ld.so.conf

 

ldconfig

ldconfig -v

cp courier-authlib.sysvinit /etc/rc.d/init.d/courier-authlib

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

chkconfig --add courier-authlib

chkconfig courier-authlib on

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

mv /usr/local/courier-authlib/etc/authlib/authmysqlrc /usr/local/courier-authlib/etc/authlib/authmysqlrc.bak

vi /usr/local/courier-authlib/etc/authlib/authmysqlrc

MYSQL_SERVER            localhost

MYSQL_USERNAME          extmail

MYSQL_PASSWORD          ext00mail

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,                                                        /

CONCAT("disableimap=",disableimap,",disablepop3=",           /

                                disablepop3,",disablewebmail=",disablewebmail,       /

                               ",disablesmtpd=",disablesmtpd,",disablesmtp=",        /

                                disablesmtp,",disablenetdisk=",disablenetdisk,       /

                               ",netdiskquota=",netdiskquota)                        /

                        FROM mailbox                                                 /

                        WHERE username = '$(local_part)@$(domain)'

DEFAULT_DOMAIN fsnws.com 

 

 

vi /usr/lib/sasl2/smtpd.conf

pwcheck_method: authdaemond

log_level: 3

mech_list: PLAIN LOGIN

authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket

 

service courier-authlib start

ln -s /usr/local/courier-authlib/bin/courierauthconfig /usr/bin/courierauthconfig

 

cd

wget http://downloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2?modtime=1177260143&big_mirror=1

tar jvxf maildrop-2.0.4.tar.bz2

cd maildrop-2.0.4

./configure   /

--enable-sendmail=/usr/sbin/sendmail /

--enable-trusted-users='root vuser' /

--enable-syslog=1 /

--enable-maildirquota /

--enable-maildrop-uid=1000 /

--enable-maildrop-gid=1000 /

--with-trashquota /

--with-dirsync

make

make install

maildrop -v

cd

wget http://downloads.sourceforge.net/courier/courier-imap-4.4.1.tar.bz2?modtime=1216246536&big_mirror=1

tar jvxf 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 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 courier-imap.sysvinit /etc/rc.d/init.d/courier-imapd

chmod 755 /etc/rc.d/init.d/courier-imapd

chkconfig --add courier-imapd

vi /usr/local/courier-imap/etc/pop3d

POP3DSTART=YES

MAXDAEMONS=512

MAXPERIP=4000

 

cd

将extmail,extman,slock安装包上传

 

mkdir /var/www/extsuite

tar -zxvf extmail-1[1].0.5.tar.gz

cp -r extmail-1.0.5 /var/www/extsuite/extmail

cd /var/www/extsuite/extmail

cp webmail.cf.default webmail.cf

chown -R vuser:vgroup /var/www/extsuite/extmail/cgi/

 

sed -i "s#SYS_MYSQL_USER = db_user#SYS_MYSQL_USER = extmail#g" /var/www/extsuite/extmail/webmail.cf

sed -i "s#SYS_MYSQL_PASS = db_pass#SYS_MYSQL_PASS = ext00mail#g" /var/www/extsuite/extmail/webmail.cf

sed -i "s#SYS_SHOW_SIGNUP = 1#SYS_SHOW_SIGNUP = 0#g" /var/www/extsuite/extmail/webmail.cf

sed -i "s#SYS_MESSAGE_SIZE_LIMIT = 5242880#SYS_MESSAGE_SIZE_LIMIT = 52428800#g" /var/www/extsuite/extmail/webmail.cf

 

 

cd

tar -zxvf extman-0[1].2.5.tar.gz

cp -r extman-0.2.5 /var/www/extsuite/extman/

chown -R vuser:vgroup /var/www/extsuite/extman/cgi/

mkdir /var/www/extsuite/extman/tmp

chown -R vuser:vgroup /var/www/extsuite/extman/tmp

sed -i "s#SYS_SESS_DIR = /tmp/extman/#SYS_SESS_DIR = /var/www/extsuite/extman/tmp/#g" /var/www/extsuite/extman/webman.cf

sed -i "s#SYS_MYSQL_PASS = webman#SYS_MYSQL_PASS = web00man#g" /var/www/extsuite/extman/webman.cf

 

vi /var/www/extsuite/extman/docs/init.sql

将extmail.org改为你的域名比如fsnws.com

 

mysql -u root -p < /var/www/extsuite/extman/docs/extmail.sql

mysql -u root -p < /var/www/extsuite/extman/docs/init.sql

 

 

 

cd /var/www/extsuite/extman/tools

./maildirmake.pl /home/domains/fsnws.com/postmaster/Maildir

chown -R vuser:vgroup /home/domains

cp -r /var/www/extsuite/extman/addon/mailgraph_ext/ /usr/local/mailgraph_ext/ 

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

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

 

cp /var/www/extsuite/extman/docs/mysql_virtual_* /etc/postfix/

sed -i "s#password = extmail#password = ext00mail#g" /etc/postfix/mysql_virtual_alias_maps.cf

sed -i "s#password = extmail#password = ext00mail#g" /etc/postfix/mysql_virtual_domains_maps.cf

sed -i "s#password = extmail#password = ext00mail#g" /etc/postfix/mysql_virtual_limit_maps.cf

sed -i "s#password = extmail#password = ext00mail#g" /etc/postfix/mysql_virtual_mailbox_maps.cf

sed -i "s#password = extmail#password = ext00mail#g" /etc/postfix/mysql_virtual_sender_maps.cf

 

cd

tar -zxvf slockd-0[1].2.tar.gz

cp -r slockd-0.2 /usr/local/slockd

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

 

vi /etc/httpd/conf/httpd.conf

#AddDefaultCharset UTF-8 

 

NameVirtualHost *:80

Include conf/vhost_*.conf

 

vi /etc/httpd/conf/vhost_extmail.conf

# VirtualHost for ExtMail Solution

<VirtualHost *:80>

ServerName mail.fsnws.com

DocumentRoot /var/www/extsuite/extmail/html/

LoadModule fastcgi_module modules/mod_fastcgi.so

<Ifmodule mod_fastcgi.c>

FastCgiExternalServer /usr/bin/dispatch.fcgi -host 127.0.0.1:8888

</Ifmodule>

Alias /extmail/cgi/ /usr/bin/dispatch.fcgi/

<Location "/extmail/cgi">

SetHandler fastcgi-script

</Location>

 

#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/

Alias /phpmyadmin               /var/www/extsuite/phpmyadmin/

Alias /phpldapadmin             /var/www/extsuite/phpldapadmin/htdocs/

# Suexec config

SuexecUserGroup vuser vgroup

</VirtualHost>

 

cd

wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz

tar xfz mod_fastcgi-2.4.6.tar.gz

cd mod_fastcgi-2.4.6

ln -s ../../usr/lib/httpd/build /etc/httpd/build

cp Makefile.AP2 Makefile

make top_dir=/etc/httpd install

echo "/var/www/extsuite/extmail/dispatch-init start" >> /etc/rc.d/rc.local

/var/www/extsuite/extmail/dispatch-init start

 

ln -s /usr/share/phpmyadmin /var/www/extsuite/phpmyadmin

vi /usr/share/phpmyadmin/config.inc.php

$cfg['blowfish_secret'] = '3234ffet43'; 

 

vi /etc/postfix/main.cf

vi /etc/postfix/master.cf 

vi /etc/amavisd.conf

$max_servers = 20; 

$mydomain = 'example.com'

['ClamAV-clamd',

   /&ask_daemon, ["CONTSCAN {}/n", "/tmp/clamd.socket"],

   qr//bOK$/, qr//bFOUND$/,

   qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],

 

$final_virus_destiny      = D_DISCARD;

$final_banned_destiny     = D_BOUNCE;

$final_spam_destiny       = D_PASS;

$final_bad_header_destiny = D_PASS;

 

 

 

usermod -G amavis clamav

vi /etc/postfix/aliases

virusalert:    root

spam.police:   root

postfix:       [email protected]

newaliases

 

touch /etc/postfix/recipient_bcc

touch /etc/postfix/sender_bcc

postmap /etc/postfix/transport

postmap /etc/postfix/recipient_bcc

postmap /etc/postfix/sender_bcc

修改密码

mysql root密码:extr0mail

mysql webman密码 web805man

mysql extmail密码 3ext57mail

extmail root密码 respark000

添加白名单

vi /usr/local/slockd/config/sender_whitelist

vi /usr/local/slockd/config/recip_whitelist

 

以后升级命令:

yum update --exclude postfix --exclude  postfix-pflogsumm

 

注:如果文件找不到,则可以到其对应的网站上找,获取相关版本

你可能感兴趣的:(centos 5.2下安装postfix+extmail+extman命令全教程)