很久之前就計劃寫一個Postfix在Linux平台上面的安裝文檔,把自己安裝Postfix的過程總結一下,但由於工作的關係直到現在才動手。和個人的習慣有關,在安裝過程中我使用了很多源代碼,這對一個新手可能有些難度,但是我認為在Linux下面如何從源代碼安裝軟體應當是每個系統管理都必須掌握的知識。我使用了CFLAGS="-march=i686 -O2 -fexpensive-optimizations" 作為gcc 3.4.4在686 CPU上面的優化參數,我不知道這樣作是否妥當。這個版本修正了上個版本中出現的一些錯誤,在此對hzqbbc對我的幫助致以最誠摯的謝意。 ************************************************************************************* 1、安裝操作系統 首先請準備好CentOS 4.2安裝光碟的第一張和第二張,在「Installation Type"中選擇「Custom」。在「Disk Partitioning Setup」時選擇「Manually partition with Disk Druid」,因為我們要將郵件保存在「/home/mail」目錄中,所以請為其保留足夠的硬碟空間。在「Firewall Configuration」中選擇「No firewall」,這樣便於調試,你可以在郵件系統工作正常之後根據實際情況設置Firewall策略。在「Package Group Selection」中選擇「Text-based Internet」、「Development Tools」和「Administration Tools」三項。關於語言的選項你可以選擇默認值,這樣總的安裝文件大小為「1218MB」。安裝完成後可以設置Crontab,讓郵件伺服器每天1點和時間伺服器同步時間: crontab -e 0 1 * * * /usr/bin/rdate -s time-b.timefreq.bldrdoc.gov 2、安裝MySQL 你可以根據伺服器的CPU類型,下載適合你所用CPU的MySQL發行包。據MySQL官方網站(www.mysql.com)的報道,使用icc 8.1編譯的MySQL在Intel CPU上面的性能與gcc相比有20%的上升,如果你使用Intel的CPU可以選擇icc編譯的MySQL發行包,我不知道為什麼最新的4.1.15和5.0.15沒有提供i386的icc編譯版本,所以你只能使用4.1.14。 下載並安裝icc8.1的RPM包: http://dev.mysql.com/downloads/os-linux.html intel-icc8-libs-8.1-0.i386.rpm http://mirror.centos.org/centos/4/os/i386/CentOS/RPMS/ compat-libstdc++-33-3.2.3-47.3.i386.rpm rpm -ivh compat-libstdc++-33-3.2.3-47.3.i386.rpm rpm -ivh intel-icc8-libs-8.1-0.i386.rpm 增加MySQL運行所需要的用戶和組: groupadd mysql useradd mysql -g mysql -c "MySQL user" -d /nonexistent -s /sbin/nologin 安裝MySQL軟體,MySQL將被安裝到「/usr/local/mysql」目錄下: tar zvxf mysql-max-4.1.14-pc-linux-gnu-i686-icc-glibc23.tar.gz mv mysql-max-4.1.14-pc-linux-gnu-i686-icc-glibc23 /usr/local/mysql cd /usr/local/mysql scripts/mysql_install_db --user=mysql chown -R root . chown -R mysql data chgrp -R mysql . cp support-files/my-medium.cnf /etc/my.cnf 修改MySQL的配置文件(/etc/my.cnf),將MySQL伺服器和客戶端的默認socket由「/tmp/mysql.sock」修改為「/var/lib/mysql/mysql.sock」,並建立相應的目錄: mkdir /var/lib/mysql chown mysql /var/lib/mysql 將mysql和mysqladmin兩個命令連接到/usr/local/bin/目錄下以方便使用: ln -s /usr/local/mysql/bin/mysql /usr/local/bin/ ln -s /usr/local/mysql/bin/mysqladmin /usr/local/bin/ 配置MySQL服務開機自動運行: cp support-files/mysql.server /etc/rc.d/init.d/mysql chmod +x /etc/rc.d/init.d/mysql chkconfig --add mysql 設置MySQL的默認字符集為GB2312,並且只綁定在127.0.0.1這個IP地址上,增強其安全性: 修改/etc/rc.d/init.d/mysql文件,將第199行 從「$bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file >/dev/null 2>&1 &」 修改為「$bindir/mysqld_safe --datadir=$datadir --default-character-set=gb2312 --bind-address=127.0.0.1 --pid-file=$pid_file >/dev/null 2>&1 &」 註:為了安全請立即修改MySQL管理員的密碼。 3、安裝Web伺服器 從下面的URL下載Apache 2.0.55的源代碼:http://www.apache.org/dist/httpd/ 增加Apache運行所需的用戶和組: groupadd httpd useradd httpd -g httpd -c "Apache user" -d /nonexistent -s /sbin/nologin 安裝Apache軟體,Apache將被安裝在「/usr/local/httpd」目錄下: tar jvxf httpd-2.0.55.tar.bz2 cd httpd-2.0.55 ./configure --prefix=/usr/local/httpd --enable-so --enable-ssl \ --with-mpm=worker --enable-rewrite --enable-suexec --with-suexec-caller=httpd \ CFLAGS="-march=i686 -O2 -fexpensive-optimizations" CXXFLAGS="-march=i686 -O2 -fexpensive-optimizations" make make install 修改apache的配置文件(/usr/local/httpd/conf/httpd.conf),配置apache的默認語言、運行用戶等參數: DefaultLanguage zh_CN User httpd Group httpd StartServers 10 MaxClients 1024 MinSpareThreads 100 MaxSpareThreads 800 ThreadsPerChild 64 MaxRequestsPerChild 0 設置Apache開機自動運行,在/etc/rc.local中增加: /usr/local/httpd/bin/apachectl start& 4、安裝PHP 從下面的URL下載PHP 4.4.0的源代碼:http://www.php.net/downloads.php 從MySQL的網站(www.mysql.com)上下載MySQL的開發包MySQL-devel-standard-4.1.14-0.rhel4.i386.rpm和MySQL-shared-standard-4.1.14-0.rhel4.i386.rpm 安裝MySQL的開發包: rpm -ivh MySQL-devel-standard-4.1.14-0.rhel4.i386.rpm rpm -ivh MySQL-shared-standard-4.1.14-0.rhel4.i386.rpm 安裝PHP 4.4.0,PHP將被安裝在「/usr/local/php」目錄下,PHP的配置文件(php.ini)放在「/usr/local/php/lib」目錄中: tar jvxf php-4.4.0.tar.bz2 cd php-4.4.0 ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs \ --enable-track-vars --with-config-file-path=/usr/local/php/lib --with-mysql=/usr \ --enable-force-cgi-redirect --enable-ftp --with-openssl=/usr --with-gettext --with-zlib make make install cp php.ini-dist /usr/local/php/lib/php.ini 修改Apache的配置,增加對PHP的支持: 增加「AddType application/x-httpd-php .php .phtml」 修改「DirectoryIndex index.html index.html.var」為「DirectoryIndex index.html index.htm index.php index.cgi」 驗證PHP是否安裝成功: echo '' >/usr/local/httpd/htdocs/info.php 重新啟動Apache,在瀏覽器的地址欄中輸入「http://伺服器IP地址/info.php」,你應當可以看到關於PHP的詳細信息,確認在MySQL章節中的「Client API version」版本是4.1.14。 5、安裝Postfix 從下面的URL下載Postfix 2.2.5的源代碼:http://www.postfix.org 從下面的URL下載Postfix 2.2.5的VDA補丁程序:http://web.onda.com.br/nadal/ 刪除系統自帶的Sendmail: mv /etc/rc.d/init.d/sendmail /etc/rc.d/init.d/sendmail.OFF mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF mv /usr/bin/newaliases /usr/bin/newaliases.OFF mv /usr/bin/mailq /usr/bin/mailq.OFF chmod 755 /usr/sbin/sendmail.OFF /usr/bin/newaliases.OFF /usr/bin/mailq.OFF 增加Postfix運行所需要的用戶和組,並建立「/home/mail」目錄作為存儲郵件的地方: groupadd postfix groupadd postdrop useradd postfix -g postfix -c "Postfix user" -d /nonexistent -s /sbin/nologin mkdir /home/mail chown postfix:postfix /home/mail 安裝Postfix: gzip -d postfix-2.2.5-vda.patch.gz tar zvxf postfix-2.2.5.tar.gz cd postfix-2.2.5 patch -p1 < ../postfix-2.2.5-vda.patch make -f Makefile.init makefiles \ OPT='-march=i686 -O2 -fexpensive-optimizations' \ 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -I/usr/include/sasl -DUSE_TLS' \ 'AUXLIBS=-L/usr/lib -lmysqlclient -lz -lm -L/usr/local/lib -lsasl2 -lssl -lcrypto' make make install 註:「make install」命令后的所有問題都直接敲回車鍵即可。 mv /etc/aliases /etc/aliases.old ln -s /etc/postfix/aliases /etc/aliases echo 'root: admin@example.com'>>/etc/postfix/aliases /usr/bin/newaliases 註:因為Postfxi不允許直接發郵件給root用戶,所以你需要為root用戶建立一個別名。 建立Postfix作smtpd用戶認證的配置文件: 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 建議用postconf -n 簡化main.cf,這樣的好處是main.cf比較短小,不容易造成同一個配置出現2次的問題: cd /etc/postfix postconf -n > main2.cf mv main.cf main.cf.old mv main2.cf main.cf 修改Postfix的配置文件,#號之後是說明文字: vi /etc/postfix/main.cf myhostname = mail.example.com # Line 68 mail.example.com是安裝Postfix軟體的主機名 mydomain = example.com # Line 76 example.com是安裝Postfix軟體的主機名中的域名部分 myorigin = $mydomain # Line 92 mydestination = # Line 153 alias_maps = hash:/etc/aliases # Line 375 home_mailbox = Maildir/ # Line 408 mailbox_transport = /usr/bin/procmail # Line 455 fallback_transport = /usr/bin/procmail # Line 473 # Add following line in file's finality virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf virtual_gid_maps = static:502 virtual_mailbox_base = /home/mail virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf virtual_mailbox_limit = 102400000 virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_minimum_uid = 502 virtual_transport = virtual virtual_uid_maps = static:502 # Additional for quota support virtual_create_maildirsize = yes virtual_mailbox_extended = yes virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf virtual_mailbox_limit_override = yes virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later. virtual_overquota_bounce = yes broken_sasl_auth_clients = yes 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, reject_rbl_client opm.blitzed.org, reject_rbl_client list.dsbl.org, reject_rbl_client bl.spamcop.net, reject_rbl_client sbl-xbl.spamhaus.org permit smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname smtpd_sasl_security_options = noanonymous 註:「virtual_gid_maps」和「virtual_uid_maps」是postfix用戶的gid和uid,「virtual_minimum_uid」應當≤「virtual_uid_maps」,「virtual_mailbox_limit」是每個郵箱的大小。 配置Postfix使用MySQL存儲用戶信息: vi /etc/postfix/mysql_virtual_alias_maps.cf user = postfix password = PosSDtf5$iTYx hosts = localhost dbname = postfix query = SELECT goto FROM alias WHERE address='%s' vi /etc/postfix/mysql_virtual_domains_maps.cf user = postfix password = PosSDtf5$iTYx hosts = localhost dbname = postfix query = SELECT description FROM domain WHERE domain='%s' vi /etc/postfix/mysql_virtual_mailbox_maps.cf user = postfix password = PosSDtf5$iTYx hosts = localhost dbname = postfix query = SELECT maildir FROM mailbox WHERE username='%s' vi /etc/postfix/mysql_virtual_mailbox_limit_maps.cf user = postfix password = PosSDtf5$iTYx hosts = localhost dbname = postfix query = SELECT quota FROM mailbox WHERE username='%s' 註:配置文件中的「user」和「password」是Postfix訪問MySQL的用戶名和密碼,我們將在安裝PostfixAdmin的時候添加這個用戶。 設置Postfix開機自動運行,在/etc/rc.local中增加: /usr/sbin/postfix start& 6、安裝Courier authentication library 從下面的URL下載Courier authlib 0.57的源代碼:http://www.courier-mta.org/?download.php 安裝Courier authentication library: tar jvxf courier-authlib-0.57.20051004.tar.bz2 cd courier-authlib-0.57.20051004 ./configure --prefix=/usr/local/courier-authlib --without-authpam --without-authldap \ --without-authpwd --without-authshadow --without-authvchkpw --without-authpgsql \ --with-authmysql --with-mysql-libs=/usr/lib --with-mysql-includes=/usr/include/mysql --with-redhat \ --with-authmysqlrc=/usr/local/courier-authlib/etc/authmysqlrc \ --with-authdaemonrc=/usr/local/courier-authlib/etc/authdaemonrc \ CFLAGS="-march=i686 -O2 -fexpensive-optimizations" CXXFLAGS="-march=i686 -O2 -fexpensive-optimizations" make make install chmod 755 /usr/local/courier-authlib/var/spool/authdaemon 配置Courier authentication library: cp /usr/local/courier-authlib/etc/authdaemonrc.dist /usr/local/courier-authlib/etc/authdaemonrc vi /usr/local/courier-authlib/etc/authdaemonrc authmodulelist="authmysql" authmodulelistorig="authmysql" daemons=10 vi /usr/local/courier-authlib/etc/authmysqlrc MYSQL_SERVER localhost MYSQL_USERNAME postfix MYSQL_PASSWORD PosSDtf5$iTYx MYSQL_SOCKET /var/lib/mysql/mysql.sock MYSQL_DATABASE postfix MYSQL_USER_TABLE mailbox MYSQL_CRYPT_PWFIELD password MYSQL_UID_FIELD '502' MYSQL_GID_FIELD '502' MYSQL_LOGIN_FIELD username MYSQL_HOME_FIELD concat('/home/mail/',maildir) MYSQL_MAILDIR_FIELD concat('/home/mail/',maildir) MYSQL_NAME_FIELD name 註:配置文件中的「MYSQL_USERNAME」和「MYSQL_PASSWORD」是Courier authentication library訪問MySQL的用戶名和密碼,你可以使用與Postfix訪問MySQL相同的用戶。「MYSQL_UID_FIELD」和「MYSQL_GID_FIELD」是postfix用戶的gid和uid。 設置Courier authentication library開機自動運行,在/etc/rc.local中增加: /usr/local/courier-authlib/sbin/authdaemond start& 7、安裝Courier-IMAP 從下面的URL下載Courier-IMAP 4.0.6的源代碼:http://www.courier-mta.org/?download.php 增加Courier-IMAP運行所需的用戶和組: groupadd vmail useradd vmail -g vmail -c "Courier imap user" -d /nonexistent -s /sbin/nologin 安裝Courier-IMAP: tar jvxf courier-imap-4.0.6.20051004.tar.bz2 cd courier-imap-4.0.6.20051004 ./configure --prefix=/usr/local/courier-imap --with-trashquota --without-ipv6 --with-redhat \ --enable-unicode=utf-8,iso-8859-1,gb2312,big5 --disable-root-check \ CPPFLAGS='-I/usr/include/openssl -I/usr/local/courier-authlib/include' \ LDFLAGS='-L/usr/local/courier-authlib/lib -L/usr/lib' \ COURIERAUTHCONFIG='/usr/local/courier-authlib/bin/courierauthconfig' \ CFLAGS="-march=i686 -O2 -fexpensive-optimizations" CXXFLAGS="-march=i686 -O2 -fexpensive-optimizations" make make install make install-configure 配置Courier-IMAP,為用戶提供pop3服務: vi /usr/local/courier-imap/etc/pop3d POP3DSTART=yes 設置Courier-IMAP開機自動運行: cp courier-imap.sysvinit /etc/rc.d/init.d/imap chmod +x /etc/rc.d/init.d/imap chkconfig --add imap 8、安裝Zlib 從下面的URL下載zlib 1.2.3的源代碼:http://www.zlib.net/ 安裝zlib tar jvxf zlib-1.2.3.tar.bz2 cd zlib-1.2.3 ./configure --prefix=/usr \ CFLAGS="-march=i686 -O2 -fexpensive-optimizations" CXXFLAGS="-march=i686 -O2 -fexpensive-optimizations" make make test make install 9、安裝Clam AntiVirus 從下面的URL下載clamav-0.87的源代碼:http://www.clamav.net/stable.php 增加Clam AntiVirus運行所需的用戶和組: groupadd clamav useradd clamav -g clamav -c "Clam AntiVirus" -d /dev/null 安裝Clam AntiVirus: tar zvxf clamav-0.87.tar.gz cd clamav-0.87 ./configure --prefix=/usr/local/clamav CFLAGS="-march=i686 -O2 -fexpensive-optimizations" CXXFLAGS="-march=i686 -O2 -fexpensive-optimizations" make make install 配置Clam AntiVirus: vi /usr/local/clamav/etc/clamd.conf # Example LogFile /var/log/clamd.log DatabaseDirectory /usr/local/clamav/share/clamav LocalSocket /var/run/clamav/clamd vi /usr/local/clamav/etc/freshclam.conf # Example DatabaseDirectory /usr/local/clamav/share/clamav UpdateLogFile /var/log/freshclam.log 註:你需要註釋clamd.conf和freshclam.conf文件開頭部分的「Example」。 建立clamd和freshclam的log文件,並讓它們屬於clamav用戶: touch /var/log/clamd.log chown clamav:root /var/log/clamd.log touch /var/log/freshclam.log chown clamav:root /var/log/freshclam.log mkdir -p /var/run/clamav 配置crontab,讓Clam AntiVirus每天7點自動升級病毒庫: crontab -e 0 7 * * * /usr/local/clamav/bin/freshclam 設置Clam AntiVirus開機自動運行,在/etc/rc.local中增加: /usr/local/clamav/sbin/clamd& 10、安裝amavisd-new 在安裝amavisd-new之前要安裝amavisd-new運行所需的perl模塊,你可以使用cpan命令安裝所需要的模塊,但是那樣需要你的伺服器在安裝軟體時可以連接到Internet,所以我選擇一個比較笨的方法,先使用wget命令下載所需的模塊,然後再手動安裝: wget http://search.cpan.org/CPAN/auth ... IO-Zlib-1.04.tar.gz wget http://search.cpan.org/CPAN/auth ... ive-Tar-1.26.tar.gz wget http://search.cpan.org/CPAN/auth ... ive-Zip-1.16.tar.gz wget http://search.cpan.org/CPAN/auth ... ss-Zlib-1.41.tar.gz wget http://search.cpan.org/CPAN/auth ... rt-TNEF-0.17.tar.gz wget http://search.cpan.org/CPAN/auth ... -UUlib-1.051.tar.gz wget http://search.cpan.org/CPAN/auth ... -Base64-3.05.tar.gz wget http://search.cpan.org/CPAN/auth ... -tools-5.418.tar.gz wget http://search.cpan.org/CPAN/auth ... ilTools-1.67.tar.gz wget http://search.cpan.org/CPAN/auth ... -Server-0.88.tar.gz wget http://search.cpan.org/CPAN/auth ... /libnet-1.19.tar.gz wget http://search.cpan.org/CPAN/auth ... est-MD5-2.33.tar.gz wget http://search.cpan.org/CPAN/auth ... tringy-2.110.tar.gz wget http://search.cpan.org/CPAN/auth ... e-HiRes-1.76.tar.gz wget http://search.cpan.org/CPAN/auth ... Syslog-0.100.tar.gz wget http://search.cpan.org/CPAN/auth ... keleyDB-0.26.tar.gz wget http://search.cpan.org/CPAN/auth ... -String-1.07.tar.gz 首先使用「tar zvxf」命令解開壓縮文件,然後使用下面的命令安裝perl模塊: perl Makefile.PL make make install 安裝RAR for linux: wget http://www.rarsoft.com/rar/rarlinux-3.5.1.tar.gz tar zvxf rarlinux-3.5.1.tar.gz cd rar make install 從下面的URL下載amavisd-new-2.3.3的源代碼:http://www.ijs.si/software/amavisd/ 增加amavisd-new運行所需要的用戶:useradd amavis -g clamav -c "Amavisd" -d /var/amavis 安裝amavisd-new: tar zvxf amavisd-new-2.3.3.tar.gz cd amavisd-new-2.3.3 mkdir /var/amavis mkdir /var/amavis/tmp /var/amavis/var /var/amavis/db chown -R amavis:clamav /var/amavis chmod -R 750 /var/amavis cp amavisd /usr/local/sbin/ chown root /usr/local/sbin/amavisd chmod 755 /usr/local/sbin/amavisd cp amavisd.conf /etc/ chown root /etc/amavisd.conf chmod 644 /etc/amavisd.conf mkdir /var/virusmails chown amavis:clamav /var/virusmails chmod 750 /var/virusmails 配置amavisd-new,使用Clam AntiVirus作為病毒過濾程序,bypass垃圾郵件過濾,你需要去掉第14、288、289、290、291前面的註釋,#號之後是註釋文本: vi /etc/amavisd.conf @bypass_spam_checks_maps = (1); #14 $max_servers = 10 #16 $daemon_user = 'amavis' #17 $daemon_group = 'clamav'; #18 ['Clam Antivirus-clamd', #288 \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd"], qr/\bOK$/, qr/\bFOUND$/, qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ], 修改Postfix的配置,讓它使用amavisd-new作內容過濾: 在master.cf的最後增加下面的內容: vi /etc/postfix/master.cf smtp-amavis unix - - n - 3 smtp -o smtp_data_done_timeout=1200 -o disable_dns_lookups=yes 127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes 在main.cf文件的最後增加下面的內容: vi /etc/postfix/main.cf content_filter = smtp-amavis:[127.0.0.1]:10024 設置amavisd-new開機自動運行,在/etc/rc.local中增加: /usr/local/sbin/amavisd& 11、安裝Postfix Admin 從下面的URL下載postfixadmin-2.1.0:http://high5.net/postfixadmin/ 安裝Postfix Admin: tar zvxf postfixadmin-2.1.0.tgz -C /usr/local/httpd/htdocs/ mv /usr/local/httpd/htdocs/postfixadmin-2.1.0 /usr/local/httpd/htdocs/postfixadmin cd /usr/local/httpd/htdocs/postfixadmin mv setup.php setup.php.old chown -R httpd:root * chmod 640 *.php *.css cd /usr/local/httpd/htdocs/postfixadmin/admin/ chmod 640 *.php .ht* cd /usr/local/httpd/htdocs/postfixadmin/images/ chmod 640 *.gif *.png cd /usr/local/httpd/htdocs/postfixadmin/languages/ chmod 640 *.lang cd /usr/local/httpd/htdocs/postfixadmin/templates/ chmod 640 *.tpl cd /usr/local/httpd/htdocs/postfixadmin/ chmod 640 *.php 建立Postfix Admin所需的MySQL資料庫,在建立資料庫之前需要修改DATABASE_MYSQL.TXT文件,其中第27行的「Postfix user & password」應當與你安裝Postfix時的MySQL用戶名和密碼相同,為了安全你也應當修改postfixadmin用戶的密碼: mysql -u root -p < DATABASE_MYSQL.TXT 配置Postfix Admin: cp config.inc.php.sample config.inc.php vi config.inc.php $CONF['domain_path'] = 'YES'; $CONF['show_footer_text'] = 'NO'; $CONF['domain_in_mailbox'] = 'NO'; $CONF['database_type'] = 'mysqli'; 註:你需要修改配置文件中postfixadmin用戶的口令和DATABASE_MYSQL.TXT文件中的保持一致。 修改Apache的設置,增加對「/usr/local/httpd/htdocs/postfixadmin/admin」目錄的訪問控制: vi /usr/local/httpd/conf/httpd.conf AuthType Basic AuthName "Welcome to Postfix Admin" AuthUserFile /usr/local/httpd/conf/postfix Require valid-user /usr/local/httpd/bin/htpasswd -c /usr/local/httpd/conf/postfix admin 12、安裝Extmail 從下面的URL下載extmail-0.20和enhanced-template-0.51:http://www.extmail.org/cgi-bin/download.cgi 安裝Extmail所需要的perl模塊,安裝的方法同上面的一樣: wget http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.48.tar.gz wget http://search.cpan.org/CPAN/auth ... mysql-3.0002.tar.gz wget http://search.cpan.org/CPAN/auth ... emplate-1.33.tar.gz 安裝Extmail: tar zxvf extmail-0.20.tar.gz mv extmail-0.20 /usr/local/httpd/htdocs/extmail cd /usr/local/httpd/htdocs/extmail chown -R postfix.postfix cgi 配置Extmail,因為Extmail的Config.pm模塊還不是很完善,在參數的後邊一定不要有多餘的空格: cp webmail.cf.default webmail.cf vi webmail.cf SYS_CONFIG = /usr/local/httpd/htdocs/extmail/ SYS_LANGDIR = /usr/local/httpd/htdocs/extmail/lang SYS_TEMPLDIR = /usr/local/httpd/htdocs/extmail/html SYS_USER_LANG = zh_CN SYS_USER_CHARSET = gb2312 SYS_MAILDIR_BASE = /home/mail SYS_CRYPT_TYPE = md5 SYS_MYSQL_USER = postfixadmin SYS_MYSQL_PASS = mysql_password SYS_MYSQL_DB = postfix SYS_MYSQL_HOST = localhost # table name SYS_MYSQL_TABLE = mailbox SYS_MYSQL_ATTR_USERNAME = username SYS_MYSQL_ATTR_PASSWD = password SYS_MYSQL_ATTR_QUOTA = quota SYS_MYSQL_ATTR_HOME = maildir SYS_MYSQL_ATTR_MAILDIR = maildir 配置Apache: vi /usr/local/httpd/conf/httpd.conf AddHandler cgi-script .cgi NameVirtual *:80 Options +ExecCGI ServerAdmin webmaster@sww.com.cn documentRoot /usr/local/httpd/htdocs/extmail/html Alias /extmail/cgi/ /usr/local/httpd/htdocs/extmail/cgi/ Alias /extmail/ /usr/local/httpd/htdocs/extmail/html/ Alias /admin/ /usr/local/httpd/htdocs/postfixadmin/ scriptAlias /extmail/cgi/ /usr/local/httpd/cgi-bin/extmail/cgi/ SuexecUserGroup postfix postfix ServerName mail.sww.com.cn ErrorLog logs/mail.sww.com.cn-error_log CustomLog logs/mail.sww.com.cn-access_log common Options +ExecCGI 安裝Extmail的高級模板: tar zvxf enhanced-template-0.51.tar.gz -C /usr/local/httpd/htdocs/extmail/html 註:「mail.sww.com.cn」是你的域名。 你可以從http://www.extmail.org上面看到Extmail的演示。 重新啟動伺服器,檢查是不是所有的服務都正常啟動!如果有什麼問題請首先查看系統的日誌,因為80%以上的問題都可以從日誌中找到錯誤原因。
[火星人
]
Linux安裝基於Postfix+Extmail的郵件系統 已經有431 次圍觀
本文地址: http://coctec.com/docs/linux/show-post-204507.html