Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 郵件伺服器

Linux 下 Postfix + ExtMail 搭建 Web 郵件系統完整實戰筆記(含圖文詳解)

編輯:郵件伺服器

一、安裝前準備工作

1. 修改本地參數

設定伺服器 IP 與 DNS(實驗採用本機 DNS)。
網路設定
DNS 設定

2. 配置本地 Yum 來源

掛載光碟至 /mnt/cdrom,修改 /etc/yum.repos.d/rhel-debuginfo.repo 指向本地套件庫,解決依賴關係。
Yum 配置
Yum 配置續

3. 架設本地 DNS 服務

安裝 bind bind-chroot caching-nameserver,複製範本配置 named.conf 與區域檔 a.com.zone,設定 MX 記錄指向 mail.a.com,啟動 named 並設定開機自啟。驗證 dig mail.a.com 與 dig -t mx a.com 解析正確。
Postfix main.cf 1
Postfix main.cf 2
Postfix main.cf 3

4. 安裝基礎套件

yum install httpd 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。啟動 httpd、mysqld 並設定開機自啟,設定 MySQL root 密碼、授權遠端存取權限。

二、安裝配置 Postfix

1. 編譯安裝 Postfix 2.8.2

建立 postfix/postdrop 使用者與群組(UID/GID 2525/2526)。
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'
make && make install
安裝路徑採預設,指定 config_directory=/etc/postfix、html_directory=/var/www/postfix_html、manpages=/usr/local/man。
關鍵步驟: 從系統 RPM 解壓 /etc/rc.d/init.d/postfix 啟動腳本至 /etc/init.d/,啟動服務並加入開機自啟,驗證 25 埠監聽。

2. 基礎配置與測試

編輯 /etc/postfix/main.cf 設定 myhostname、mydomain、myorigin、inet_interfaces=all、mydestination、mynetworks 等核心參數。重啟服務,建立本地用戶 user1,用 telnet localhost 25 測試 SMTP 收發流程,查看 /var/log/maillog 確認郵件佇列處理正常,mail 指令收信成功。
authdaemonrc 配置

3. 啟用 Cyrus-SASL 認證

確認 cyrus-sasl* 套件已裝。複製 /usr/lib/sasl2/Sendmail.conf 為 smtpd.conf,內容 pwcheck_method: saslauthd。啟動 saslauthd 並設定開機自啟。修改 main.cf 加入 SASL 相關參數(smtpd_sasl_auth_enable=yes 等),重啟 Postfix,telnet 驗證出現 250-AUTH PLAIN LOGIN 表示成功。
authmysqlrc 配置 1
authmysqlrc 配置 2
authmysqlrc 配置 3
authmysqlrc 配置 4
authmysqlrc 配置 5
authmysqlrc 配置 6

三、安裝 Courier Authentication Library(支援 MySQL 驗證)

編譯安裝 courier-authlib-0.63.1,指定 --with-authmysql、MySQL 函式庫/標頭路徑、--with-authmysqlrc=/etc/authmysqlrc、--with-authdaemonrc=/etc/authdaemonrc。執行 ldconfig 刷新函式庫快取,建立標頭檔軟連結。修改 /etc/authdaemonrc(authmodulelist=authmysql)與 /etc/authmysqlrc(資料庫連線參數、查詢語句)。複製啟動腳本至 /etc/init.d/,啟動服務並設定開機自啟。建立 /var/mailbox 郵箱基目錄,權限歸 postfix:postfix。修改 /usr/lib/sasl2/smtpd.conf 指向 authdaemond socket,重啟 saslauthd 與 courier-authlib。
Dovecot 配置 1
Dovecot 配置 2
Dovecot 配置 3
Dovecot 配置 4

四、配置 Postfix 支援虛擬域與虛擬用戶(MySQL 後端)

  1. main.cf 追加 virtual_mailbox_base、virtual_mailbox_maps、virtual_mailbox_domains、virtual_alias_maps、virtual_uid_maps、virtual_gid_maps、virtual_transport、配額相關參數(virtual_mailbox_limit 等),均指向 /etc/postfix/mysql_virtual_*.cf。
  2. 使用 ExtMan 原始碼 docs/extmail.sql 與 init.sql 建立 extmail 資料庫及資料表(domain、mailbox、alias 等)。授權 extmail@localhost 存取權限。複製所有 mysql_virtual_*.cf 至 /etc/postfix/。
    webmail.cf 1
    webmail.cf 2
    webmail.cf 3
    webmail.cf 4

五、配置 Dovecot(IMAP/POP3 服務)

編輯 /etc/dovecot.conf 設定 protocols = imap pop3、mail_location = maildir:/var/mailbox/%d/%n、auth_mechanisms = plain login、passdb/sql 指向 /etc/dovecot-mysql.conf、userdb/sql 同。建立 /etc/dovecot-mysql.conf 填入資料庫連線與查詢語句。啟動 Dovecot 服務。
Apache 虛擬主機配置

六、安裝 ExtMail 1.2(Webmail 介面)

  1. 解壓至 /var/www/extsuite/extmail,chown -R postfix:postfix cgi/。
  2. 修改 webmail.cf 設定資料庫、語系、附件大小、網域等參數。
  3. 重啟 Postfix、Dovecot、SASL、Courier 等所有相關服務。
  4. Apache 配置虛擬主機:DocumentRoot /var/www/extsuite/extmail/html/、ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi、啟用 suexec 指定運行身分為 postfix、設定 DirectoryIndex index.php、AddHandler php5-script .php 等。重啟 httpd。
    ExtMail 登入頁面
  5. 安裝 Perl 依賴 Unix::Syslog(perl Makefile.PL && make && make install),解決驗證碼顯示問題。

七、安裝 ExtMan 1.1(郵件系統管理後台)

  1. 解壓至 /var/www/extsuite/extman,複製 webman.cf.default 為 webman.cf 修改參數(資料庫、郵箱基目錄、管理員帳密等)。
    webman.cf 1
    webman.cf 2
  2. chown -R postfix:postfix /var/www/extsuite/extman/cgi/。
  3. Apache 虛擬主機加入 ScriptAlias /extman/cgi ...、Alias /extman ...,重啟 httpd。
  4. 建立 /tmp/extman 目錄權限歸 postfix。
    ExtMan 管理介面 1
    ExtMan 管理介面 2
    ExtMan 管理介面 3
    ExtMan 管理介面 4
    ExtMan 管理介面 5
    ExtMan 管理介面 6
    ExtMan 管理介面 7
  5. 預設管理帳號:root@extmail.org / extmail*123*。登入後可建立網域、使用者、配額等。
    資料庫 domain 表
    資料庫 mailbox 表
    郵件日誌 1
    郵件日誌 2
    郵件日誌 3

八、配置 Mailgraph_ext 圖形化日誌(ExtMan 進階功能)

  1. 依序安裝 Perl 模組 Time::HiRes、File::Tail、rrdtool-1.2.23(./configure --prefix=/usr/local/rrdtool && make && make install)。
  2. 建立 Perl 函式庫軟連結至系統目錄。
  3. 複製 /var/www/extsuite/extman/addon/mailgraph_ext 至 /usr/local,啟動 mailgraph-init start。
  4. 啟動 cmdserver --daemon(後台顯示系統資訊)。
  5. 加入 /etc/rc.d/rc.local 開機自啟。等待 ~15 分鐘有流量後,ExtMan「圖形日誌」即可查看每日/週/月/年統計圖表。
    圖形日誌範例

本文出自「網路 CTO」博客,原文連結:https://7392072.blog.51cto.com/7382072/1311172

Copyright © Windows教程網 All Rights Reserved