標籤:centos postfix
###########################################POSTFIX安裝文檔############
centos6.4搭建postfix+extmail
系統內容Centos6.4 x64
一、安裝mysql-5.0.60
yum remove mysql
rm -f /etc/my.cnf
groupadd mysql
useradd -g mysql -s /bin/false -M mysql
tar zxvf mysql-5.0.60.tar.gz
cd mysql-5.0.60
./configure --prefix=/usr/local/mysql --enable-thread-safe-client --enable-local-infile --with-charset=gbk --with-extra-charset=all --with-low-memory
make && make install && echo "ok"
cp support-files/my-medium.cnf /etc/my.cnf
chown -R mysql /usr/local/mysql/var
/usr/local/mysql/bin/mysql_install_db --user=mysql
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod u+x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 345 mysqld on
service mysqld start
ln -s /usr/local/mysql/bin/* /usr/local/bin
echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
ldconfig -v
二、安裝httpd-2.2.20
yum install openssl openssl-devel
tar jxvf httpd-2.2.20.tar.bz2
cd httpd-2.2.20
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl ---enable-track-vars --enable-rewrite --with-zlib --enable-mods-shared=most --enable-suexec --with-suexec-caller=daemon --with-suexec-docroot=/var/www
make && make install && echo "ok"
echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.local(系統啟動時服務自動啟動)
三、安裝php-5.2.17
yum install curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype* patch libxml2
ln -s /usr/lib64/libjpeg.so /usr/lib/
ln -s /usr/lib64/libpng.so /usr/lib/
tar -zvxf php-5.2.17.tar.gz
cd php-5.2.17
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-openssl --enable-fastcgi --enable-mbstring --enable-force-cgi-redirect --enable-sockets --with-curl --with-gd --with-zlib --with-png-dir --with-freetype-dir --with-jpeg-dir
make && make install && echo "ok"
cp php.ini-dist /usr/local/php/lib/php.ini
註:編輯apache設定檔httpd.conf,以apache支援php
vi /etc/httpd/httpd.conf
1、添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
2、定位至DirectoryIndex index.html
修改為:
DirectoryIndex index.php index.html
###############################################以上為LAMP安裝底層環境支援
四、編譯安裝POSTFIX
1, 建立運行postfix的使用者,組。安裝cyrus-sasl
yum install cyrus-sasl*
groupadd -g 1000 postfix
groupadd -g 1200 postdrop
useradd -u 1000 -g postfix -G postdrop -M -s /sbin/nologin postfix
2, 解壓釋放源碼包,合并補丁包。
yum install db*-devel
tar zxvf postfix-2.8.3.tar.gz
gunzip postfix-2.8.3-vda-ng.patch.gz
cd postfix-2.8.3
patch -p1 < ../postfix-2.8.3-vda-ng.patch
3, 編譯並進行安裝。
make makefiles ‘CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl‘ ‘AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm -L/usr/lib64/sasl2 -lsasl2‘
make && make install && echo "ok"
4.配置postfix服務。
#vim /etc/postfix/main.cf
myhostname = mail.upchina.cn
myorigin = $mydomain
mydomain = upchina.cn
mydestination = $myhostname, localhost.$mydomain, localhost
inet_interfaces = 192.168.1.83, 127.0.0.1
Home_mailbox = Maildir/
#postfix check
postfix start
5.添加郵件使用者,並測試
groupadd mailusers
useradd -s /sbin/nologin -g mailusers test1
useradd -s /sbin/nologin -g mailusers test2
passwd test1
passwd test2
五、建立虛擬使用者資料庫。
tar zxvf extman-1.0.1.tar.gz
cd extman-0.2.5/docs/
mysql -u root -p < extmail.sql
mysql -u root -p < init.sql
修改postfix的配置。
vim /etc/postfix/main.cf 添加
#mydestination = $myhostname, localhost.$mydomain, localhost 注釋掉這行
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions= permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_sasl_auth_enable = yes
mynetworks = 127.0.0.1
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous
smtpd_sasl_application_name = smtpd
smtpd_banner = Welcome to our $myhostname ESMTP, Warning:Version not Available!
virtual_mailbox_base = /mailbox
virtual_mailbox_maps= mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains=mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_alias_domains =
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_uid_maps = static:1000
virtual_gid_maps = static:1000
#postfix reload
cp mysql_virtual_* /etcc/postfix/
五,設定使用者認證。
tar jxvf courier-authlib-0.60.2.tar.bz2
cd courier-authlib-0.60.2
./configure --prefix=/usr/local/courier-authlib --without-stdheaderdir --with-authmysql --with-redhat --with-mysql-libs=/usr/local/mysql/lib/mysql --with-mysql-includes=/usr/local/mysql/include/mysql
make && make install
make install-configure
chmod 755 /usr/local/courier-authlib/var/spool/authdaemon(這一步需注意,這一步若沒有,則會出現authdaemon許可權拒絕。)
修改authdaemonrc主設定檔,僅保留authmysql認證方式,去掉其它方式。
cd /usr/local/courier-authlib/etc/authlib/
vim authdaemonrc
authmodulelist="authmysql"
authmodulelistorig="authmysql"
daemons=10
DEBUG_LOGIN=2
編輯authmysqlrc設定檔
#vim authmysqlrc
MYSQL_SERVER localhost
MYSQL_USERNAME extmail
MYSQL_PASSWORD extmail
MYSQL_SOCKET /tmp/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 concat(‘/mailbox/‘,homedir)
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD concat(‘/mailbox/‘,maildir)
#
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
echo "/usr/local/courier-authlib/lib/courier-authlib" >> /etc/ld.so.conf
ldconfig
service courier-authlib start
六、安裝Courier-IMAP
tar jxvf courier-imap-4.1.0.tar.bz2
cd courier-imap-4.1.0
./configure --prefix=/usr/local/courier-imap --with-redhat --enable-unicode --disable-root-check --with-trashquota --without-ipv6 CPPFLAGS=‘-I/usr/include/openssl -I/usr/local/courier-authlib/include‘ LDFLAGS=‘-L/usr/local/courier-authlib/lib/courier-authlib‘ COURIERAUTHCONFIG=‘/usr/local/courier-authlib/bin/courierauthconfig‘
make && make install && echo "ok"
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
配置Courier-IMAP,為使用者提供pop3服務:
vi /usr/local/courier-imap/etc/pop3d
#
POP3DSTART=YES
註:如果你想為使用者提供IMAP服務,則需在"/usr/local/courier-imap/etc/imapd"檔案中設定"IMAPDSTART=yes";其它類同;
#
mkdir /mailbox
chown -R postfix:postfix /mailbox
cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imapd
chmod 755 /etc/rc.d/init.d/courier-imapd
chkconfig --add courier-imapd
chkconfig --level 35 courier-imapd on
service courier-imapd start
修改cyrus sasl設定。
vim /usr/lib64/sasl2/smtpd.conf
#
pwcheck_method: authdaemond
log_level: 3
mech_list:PLAIN LOGIN
authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket
#
service saslauthd start
建立虛擬使用者的郵箱目錄,調整許可權。
mkdir -p /mailbox/extmail.org/postmaster/Maildir/
cd /mailbox/extmail.org/postmaster/Maildir/
chown -R postfix:postfix /mailbox
測實驗證。
/usr/local/courier-authlib/sbin/authtest -s login [email protected] extmail
七、使用extmail及管理平台。
安裝並配置extmail套件。
tar zxvf extmail-1.0.5.tar.gz -C /var/www
cd /var/www/
mv extmail-1.0.5 extmail
cd extmail/
chown -R postfix:postfix cgi
cp webmail.cf.default webmail.cf
vim /var/www/extmail/webmail.cf
#
SYS_USER_LANG = zh_CN
SYS_MAILDIR_BASE = /mailbox
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
SYS_MYSQL_HOST = localhost
SYS_MYSQL_SOCKET = /tmp/mysql.sock
SYS_CONFIG = /var/www/extmail
SYS_LANGDIR = /var/www/extmail/lang
SYS_TEMPLDIR = /var/www/extmail/html
SYS_MYSQL_TABLE = mailbox
SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket
#
chown postfix:postfix /var/www/extmail/cgi
八、安裝Extman
1、安裝及基本配置
tar zxvf extman-1.0.1tar.gz
mv extman-1.0.1 /var/www/extman
修改設定檔以符合本例的需要:
vi /var/www/extsuite/extman/webman.cf
#
SYS_MAILDIR_BASE = /mailbox
SYS_CONFIG = /var/www/extmail
SYS_LANGDIR = /var/www/extmail/lang
SYS_TEMPLDIR = /var/www/extmail/html
SYS_MYSQL_USER = webman
SYS_MYSQL_PASS = webman
SYS_MYSQL_DB = extmail
SYS_MYSQL_HOST = localhost
SYS_MYSQL_SOCKET = /tmp/mysql.sock
SYS_LANG = zh_CN
#
chown postfix:postfix /var/www/extman/cgi
mkdir /tmp/extman
chown -R postfix.postfix /tmp/extman/
調整http.conf檔案中的配置(添加一個虛擬機器主機),並重新啟動服務程式
vim /etc/httpd/http.conf
#
User postfix
Group postfix
Include /etc/httpd/extra/httpd-vhosts.conf
#
vim /etc/httpd/extra/httpd-vhosts.conf
#
<VirtualHost *:80>
ServerName mail.upchina.cn
DocumentRoot /var/www/extmail/html/
ScriptAlias /extmail/cgi /var/www/extmail/cgi
Alias /extmail /var/www/extmail/html
ScriptAlias /extman/cgi /var/www/extman/cgi
Alias /extman /var/www/extman/html
</VirtualHost>
#
apache start
遊覽器訪問 mail.upchina.cn,/extman添加一個域,預設管理員帳號root,密碼:extmail*123*並且添加使用者測試
本文出自 “技術論壇” 部落格,請務必保留此出處http://wlb0110.blog.51cto.com/4217411/1562152
Centos install Postfix