一、安裝前的準備工作:
編寫DNS指向:
[root@localhost ~]# vim /etc/resolv.conf
卸載sendmail取消依賴性:
[root@localhost ~]# rpm -e sendmail --nodeps
查看是否還有25端口:
[root@localhost ~]# netstat -tupln |grep 25
tcp 0 0 0.0.0.0:1005 0.0.0.0:* LISTEN 2519/rpc.statd
udp 0 0 0.0.0.0:999 0.0.0.0:* 2519/rpc.statd
udp 0 0 0.0.0.0:1002 0.0.0.0:* 2519/rpc.statd
編寫一個小倉庫:
[root@localhost ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo
創建掛載目錄進行掛載:
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/cdrom is write-protected, mounting read-only
安裝DNS包(bind bind-chroot caching-nameserver)
[root@localhost ~]# yum install bind bind-chroot caching-nameserver
安裝需要的rpm包組:(四大開發工具)
[root@localhost ~]# yum grouplist |less
Development Libraries 開發工具
Development Tools 開發庫
Legacy Software Development 老的軟件開發
X Software Development X 軟件開發
先做DNS:
[root@localhost ~]# cd /var/named/chroot/etc/
[root@localhost etc]# ll
total 16
-rw-r--r-- 1 root root 405 Feb 8 16:30 localtime
-rw-r----- 1 root named 1230 Jul 30 2009 named.caching-nameserver.conf
-rw-r----- 1 root named 955 Jul 30 2009 named.rfc1912.zones
-rw-r----- 1 root named 113 Apr 9 13:35 rndc.key
[root@localhost etc]# cp -p named.caching-nameserver.conf named.conf
編輯配置服務器:
[root@localhost etc]# vim named.conf
做區域聲明:
[root@localhost etc]# vim named.rfc1912.zones
產生數據庫:
[root@localhost etc]# cd ../var/named/
[root@localhost named]# ll
total 36
drwxrwx--- 2 named named 4096 Aug 26 2004 data
-rw-r----- 1 root named 198 Jul 30 2009 localdomain.zone
-rw-r----- 1 root named 195 Jul 30 2009 localhost.zone
-rw-r----- 1 root named 427 Jul 30 2009 named.broadcast
-rw-r----- 1 root named 1892 Jul 30 2009 named.ca
-rw-r----- 1 root named 424 Jul 30 2009 named.ip6.local
-rw-r----- 1 root named 426 Jul 30 2009 named.local
-rw-r----- 1 root named 427 Jul 30 2009 named.zero
drwxrwx--- 2 named named 4096 Jul 27 2004 slaves
[root@localhost named]# cp -p localhost.zone a.org.db
[root@localhost named]# vim a.org.db
設置成開機啓動:
[root@localhost named]# chkconfig named on
啓動named:
[root@localhost named]# service named start
Starting named: [ OK ]
[root@localhost named]# rndc reload
server reload successful
測試:進行域名解析
更改主機名:
[root@localhost named]# vim /etc/sysconfig/network
重新啓動:
[root@localhost named]# init 6
在掛載光盤:
[root@mail ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/cdrom is write-protected, mounting read-only
清除緩存:
[root@mail ~]# yum clean all
Loaded plugins: rhnplugin, security
Cleaning up Everything
安裝所需的rpm包:
[root@mail ~]# yum install httpd php php-mysql mysql mysql-server mysql-devel openssl-devel dovecot perl-DBD-MySQL tcl tcl-devel libart_lgpl libart_lgpl-devel libtool-ltdl libtool-ltdl-devel expect
啓動mysql數據庫,並給mysql的root用戶設置密碼:
[root@mail ~]# chkconfig mysqld on 設置成開機啓動
[root@mail ~]# service mysqld start
Starting MySQL: [ OK ]
[root@mail ~]# netstat -tupln |grep mysql 查看端口
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 4805/mysqld
[root@mail ~]# mysqladmin -u root -p password 'redhat'
Enter password: 初始密碼爲空
再次的訪問mysql就不行了:
[root@mail ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
二:安裝配置postfix
[root@mail ~]# groupadd -g 2525 postfix
[root@mail ~]# useradd -g postfix -u 2525 -s /sbin/nologin -M postfix
[root@mail ~]# groupadd -g 2526 postdrop
[root@mail ~]# useradd -g postdrop -u 2526 -s /bin/false -M postdrop
所需要的包:courier-authlib-0.63.1.20111230.tar.bz2 extmail-1.2.tar.gz extman-1.1.tar.gz postfix-2.8.2.tar.gz Unix-Syslog-1.1.tar.gz
[root@mail ~]# tar -zxvf postfix-2.8.2.tar.gz
[root@mail ~]# cd postfix-2.8.2
[root@mail postfix-2.8.2]# make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2 -lssl -lcrypto'
[root@mail postfix-2.8.2]# make
[root@mail postfix-2.8.2]# make install
按照以下的提示輸入相關的路徑([]號中的是缺省值,”]”後的是輸入值,省略的表示採用默認值)
install_root: [/] /
tempdir: [/usr/local/src/ postfix-2.8.2] /tmp
config_directory: [/etc/postfix] /etc/postfix
daemon_directory: [/usr/libexec/postfix]
command_directory: [/usr/sbin]
queue_directory: [/var/spool/postfix]
sendmail_path: [/usr/sbin/sendmail]
newaliases_path: [/usr/bin/newaliases]
mailq_path: [/usr/bin/mailq]
mail_owner: [postfix]
setgid_group: [postdrop]
html_directory: [no] /var/www/postfix_html
manpages: [/usr/local/man]
readme_directory: [no]
進行一些基本配置,測試啓動postfix並進行發信
[root@mail postfix-2.8.2]# newaliases
[root@mail postfix-2.8.2]# cp /etc/postfix/main.cf /etc/postfix/main.cf.bak
[root@mail postfix-2.8.2]# vim /etc/postfix/main.cf
[root@mail postfix-2.8.2]# service postfix restart
[root@mail postfix-2.8.2]# cd
[root@mail ~]# mkdir abc
[root@mail ~]# cd abc/
[root@mail abc]# cp /mnt/cdrom/Server/postfix-2.3.3-2.1.el5_2.i386.rpm ./
[root@mail abc]# rpm2cpio postfix-2.3.3-2.1.el5_2.i386.rpm |cpio -id
16333 blocks
[root@mail abc]# cd etc
[root@mail etc]# ls
pam.d postfix rc.d
[root@mail etc]# cd rc.d/
[root@mail rc.d]# cd init.d/
[root@mail init.d]# chkconfig --add postfix
[root@mail init.d]# chkconfig postfix on
[root@mail init.d]# chkconfig --list |grep postfix
連接postfix,驗正服務啓動狀況:
打開日誌進行監控:
[root@mail ~]# tar -f /var/log/maillog
用戶進行收信查看:
三:爲postfix開啓基於cyrus-sasl的認證功能
查看cyrus-sasl:
[root@mail init.d]# vim /etc/postfix/main.cf
[root@mail init.d]# vim usr/lib/sasl2/smtpd.conf
四:安裝Courier authentication library
[root@mail ~]# tar -jxvf courier-authlib-0.63.1.20111230.tar.bz2
[root@mail ~]# cd courier-authlib-0.63.1.20111230
[root@mail courier-authlib-0.63.1.20111230]# ./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/authdaemonrc --with-ltdl-lib=/usr/lib --with-ltdl-include=/usr/include
[root@mail courier-authlib-0.63.1.20111230]# make
[root@mail courier-authlib-0.63.1.20111230]# make install
[root@mail courier-authlib-0.63.1.20111230]# cd /usr/local/courier-authlib/var/spool/
[root@mail spool]# ll
total 4
drwxr-x--- 2 daemon daemon 4096 Apr 9 17:22 authdaemon
[root@mail spool]# chmod -R 755 authdaemon/
[root@mail spool]# ll
total 4
drwxr-xr-x 2 daemon daemon 4096 Apr 9 17:22 authdaemon
[root@mail spool]# cp /etc/authdaemonrc.dist /etc/authdaemonrc
[root@mail spool]# cp /etc/authmysqlrc.dist /etc/authmysqlrc
修改/etc/authdaemonrc 文件
[root@mail spool]# vim /etc/authdaemonrc
編輯/etc/authmysqlrc 爲以下內容:其中2525,2525 爲postfix 用戶的UID和GID
[root@mail spool]# vim /etc/authmysqlrc
[root@mail spool]# cd
[root@mail ~]# cd courier-authlib-0.63.1.20111230
cp courier-authlib.sysvinit /etc/init.d
[root@mail courier-authlib-0.63.1.20111230]# ll /etc/init.d/courier-authlib.sysvinit
-rw-r--r-- 1 root root 943 Apr 9 18:15 /etc/init.d/courier-authlib.sysvinit
[root@mail courier-authlib-0.63.1.20111230]# chmod a+x /etc/init.d/courier-authlib.sysvinit
[root@mail courier-authlib-0.63.1.20111230]# mv /etc/init.d/courier-authlib.sysvinit /etc/init.d/courier-authlib
[root@mail courier-authlib-0.63.1.20111230]# service courier-authlib start
Starting Courier authentication services: authdaemond
[root@mail courier-authlib-0.63.1.20111230]# netstat -tupln |grep cour
[root@mail courier-authlib-0.63.1.20111230]# chkconfig --add courier-authlib
[root@mail courier-authlib-0.63.1.20111230]# chkconfig courier-authlib on
[root@mail courier-authlib-0.63.1.20111230]# cd /usr/local/courier-authlib/
[root@mail courier-authlib]# cd lib
[root@mail lib]# pwd
/usr/local/courier-authlib/lib
[root@mail lib]# ldconfig -v |grep cour
[root@mail lib]# vim /etc/ld.so.conf.d/courier-authlib.conf
[root@mail lib]# ldconfig -v |grep cour
/usr/local/courier-authlib/lib:
新建虛擬用戶郵箱所在的目錄,並將其權限賦予postfix用戶
[root@mail lib]# mkdir -pv /var/mailbox
mkdir: created directory `/var/mailbox'
[root@mail lib]# chown -R postfix /var/mailbox/
重新配置SMTP 認證,編輯 /usr/local/lib/sasl2/smtpd.conf
[root@mail lib]# vim /usr/lib/sasl2/smtpd.conf
五:讓postfix支持虛擬域和虛擬用戶
1:編輯/etc/postfix/main.cf,添加如下內容:
[root@mail lib]# vim /etc/postfix/main.cf
2、使用extman源碼目錄下docs目錄中的extmail.sql和init.sql建立數據庫:
[root@mail ~]# tar -zxvf extman-1.1.tar.gz
[root@mail ~]# cd extman-1.1
[root@mail extman-1.1]# cd docs/
[root@mail docs]# cp mysq* /etc/postfix/
3:授予用戶extmail訪問extmail數據庫的權限:
六、配置dovecot
[root@mail docs]# vim /etc/dovecot.conf
postfix的配置文件也要該
[root@mail docs]# vim /etc/postfix/main.cf
[root@mail docs]# vim /etc/dovecot-mysql.conf
七:安裝Extmail-1.2 (先安裝httpd)
1:解壓安裝:
[root@mail ~]# tar -zxvf extmail-1.2.tar.gz -C /var/www/extsuite/
[root@mail ~]# tar -zxvf extman-1.1.tar.gz -C /var/www/extsuite/
[root@mail ~]# cd /var/www/extsuite/
[root@mail extsuite]# mv extmail-1.2 extmail
[root@mail extsuite]# mv extman-1.1 extman
[root@mail extsuite]# cd extmail/
[root@mail extmail]# cp webmail.cf.default webmail.cf
2:修改主配置文件:
[root@mail extmail]# vim webmail.cf
3:apache相關配置:
[root@mail extmail]# vim /etc/httpd/conf/httpd.conf
修改 cgi執行文件屬主爲apache運行身份用戶:
[root@mail extmail]# chown -R postfix.postfix /var/www/extsuite/extmail/cgi/
4:依賴關係的解決:
[root@mail extmail]# cd
[root@mail ~]# tar -zxvf Unix-Syslog-1.1.tar.gz
[root@mail ~]# cd Unix-Syslog-1.1
[root@mail Unix-Syslog-1.1]# perl Makefile.PL
[root@mail Unix-Syslog-1.1]# make
[root@mail Unix-Syslog-1.1]# make install
5:啓動apache服務:
只可以登錄但是不可以註冊郵箱
八:安裝Extman-1.1
1:安裝及基本配置:
[root@mail Unix-Syslog-1.1]# cd /var/www/extsuite/
[root@mail extsuite]# cd extman
修改配置文件以符合本例的需要:
[root@mail extman]# cp webman.cf.default webman.cf
[root@mail extman]# vim webman.cf
修改cgi目錄的屬主:
[root@mail extman]# chown -R postfix.postfix /var/www/extsuite/extman/cgi/
在apache的主配置文件中Extmail的虛擬主機部分,添加如下兩行:
[root@mail extman]# vim /etc/httpd/conf/httpd.conf
創建其運行時所需的臨時目錄,並修改其相應的權限:
[root@mail init.d]# mkdir /tmp/extman
[root@mail init.d]# chown postfix.postfix /tmp/extman
重新啓動apache服務器後,在瀏覽器中輸入指定的虛擬主機的名稱進行訪問:
選擇管理即可登入extman進行後臺管理了。默認管理帳號爲:[email protected] 密碼爲:extmail*123*
新添加一個域:a.org
用user1用戶登陸:
用戶給管理員發送郵件查看日誌:
完成自己給自己的郵件發送:
用戶user1給用戶a發送郵件: