RedHat el5.0 搭建 Postfix 邮件服务器系统一
??????????????????????????????????????? RedHat el5.0 搭建 Postfix 郵件服務器系統(tǒng)
?????????????????????? (postfix+cyrus-sasl2+courier-authlib+courier-imap+extmail+maildrop)
一、系統(tǒng)環(huán)境
?????? 操作系統(tǒng):rhel-5.2
?????? 所需軟件(按網(wǎng)上以前的文檔,好多版本都找不到,只能找相近的,下面都是在實驗后都可以使用的包2010/10/27)
????? httpd-2.2.0.tar.bz2????????? 架設web用于extman的后臺管理,extmail 的web郵件收發(fā)
????? php-5.2.14.tar.gz???????????? Php 解釋器,extman & extmail 需要使用php?
????? mysql-5.1.37.tar.gz??????????? 用于存儲虛擬域、虛擬賬戶信息
????? postfix-2.4.5.tar.gz?????????? 郵件服務器系統(tǒng)的smtp服務器,充當MTA?
????? cyrus-sasl-2.1.22.tar.gz???????? 用于實現(xiàn)身份驗證的 smtp 服務器
????? courier-authlib-0.58.tar.bz2??????? 實現(xiàn)帶驗證的 pop3 服務器
????? courier-imap-4.2.0.tar.bz2???????? 用于實現(xiàn) pop3、imap 收郵件功能
???? ? extmail-1.1.0.tar.gz???????????? 用于實現(xiàn) webmail
?????? extman-0.2.5.tar.gz????????? 用于郵件服務器的后臺管理
?????? openssl-0.9.8e.tar.gz??????? 提供安全的郵件服務器連接
?????? DBD-mysql-2.9008.tar.gz???? 用于解決依賴關(guān)系,extmail 將會用到
?????? Unix-Syslog-1.1.tar.gz?????? 用于解決依賴關(guān)系,extmail 將會用到
?????? BerkeleyDB(db-4.5.20.tar.gz) 在編譯postfix要使用
?????? maildrop-2.0.4.tar.bz2?????????? 用來代替postfix自帶的MDA,是一個帶有過濾功能的MDA
?????? pcre-7.2.tar.bz2???????????????? 用于安裝maildrop
??? 系統(tǒng)禁用 selinux?
?
二、軟件安裝
????? 1、安裝apache
?????? tar zxvf httpd-2.2.0.tar.gz
????? cd httpd-2.2.0
????? ./configure --prefix=/usr/local/apache --enable-so?
????? make
????? make install
????? 安裝最主要的是mod_so模塊httpd –l檢測mod_so.c,目的是為了以模塊方式加載php
?
???? 2、安裝 mysql
????? tar xvf mysql-5.1.37.tar.gz
??????cd mysql-5.1.37
??????./configure -prefix=/usr/local/mysql
????? make&&make install
????? useradd mysql
????? cp support-files/my-medium.cnf? /etc/my.cnf
????? cd /usr/local/mysql
????? /usr/local/mysql/bin/mysql_install_db? --user=mysql //初始化數(shù)據(jù)庫
????? chown -R root .
????? chown -R mysql var
????? chgrp -R mysql .
????? echo "/usr/local/mysql/lib/mysql">>/etc/ld.so.conf
????? ldconfig
????? echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
???? ?source /etc/profile
????? 上面這幾行紅色的字,必須要添加,否則在安裝過程中會出現(xiàn)很多錯誤,還在注意在/tmp目錄下是否存在 mysql.sock 這個文件,如果沒有的話,就要做一個鏈接了,避免mysql在啟動時報錯
???? 復制一個編譯目錄的腳本,以使 mysql 每次啟動時都能自動運行,回到編譯的目錄mysql-5.1.37
???? cp support-files/mysql.server /etc/rc.d/init.d/mysqld
???? chkconfig --add mysqld
???? chkconfig --level 35 mysqld on
???? service mysqld start
?
?? 3、安裝php
??? tar –xvf php-5.2.14.tar.gz
?? cd php-5.2.14
?? ./configure -prefix=/usr/local/php -with-apxs2=/usr/local/apache/bin/apxs -with-mysql=/usr/local/mysql
?? make&&make install?
???cp php.ini-dist /usr/local/php/lib/php.ini
????修改apache的配置文件 httpd.conf加上"AddType application/x-httpd-php .php,定位至 DirectoryIndex index.html ,修改為: DirectoryIndex index.php index.html
???? 在目錄/usr/local/apache/htdocs下創(chuàng)建一個最簡單的php測試文件,其內(nèi)容為:
???? vi test.php
???? <?
????? phpinfo();
????? ?>??
??? 檢查一下apache配置文件是否正確(/usr/local/apache/bin/apachectl -t),輸出"Syntax OK"后就可以啟動apache服務(/usr/local/apache/bin/apachectl start)。
???? 在瀏覽器上測試test.php,會看到php的信息
?
??? 4、安裝 openssl
???? tar zxvf openssl-0.9.8e.tar.gz
??? ./config shared zlib
??? make
??? make test
??? make install
??? mv /usr/bin/openssl /usr/bin/openssl.OFF
??? mv /usr/include/openssl /usr/include/openssl.OFF
??? rm -rf /usr/lib/libssl.so
??? ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
??? ln -s /usr/local/ssl/include/openssl /usr/include/openssl
?? ?ln -sv /usr/local/ssl/lib/libssl.so.0.9.8 /usr/lib/libssl.so
??? echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
? ? ldconfig??
?? ?檢查是否安裝 openssl
???? openssl version
????? OpenSSL 0.9.8e 23 Feb 2007
???? 5、安裝 courier-authlib
????? ? tar jxvf courier-authlib-0.58.tar.bz2
??????? cd courier-authlib-0.58
?????? . /configure --prefix=/usr/local/authlib --without-authpam --without-authldap --without-authpwd --without-authpgsql??? --with-authmysql --without-authshadow --without-authvchkpw --with-mysql-libs=/usr/local/mysql/lib/mysql --with-mysql-includes=/usr/local/mysql/include/mysql --with-redhat CFLAGS="-march=i686 -O2 -fexpensive-optimizations" CXXFLAGS="-march=i686 -O2 -fexpensive-optimizations"
??????? ?make && make install
????? ? chmod 755 /usr/local/authlib/var/spool/authdaemon
???????? cp /usr/local/authlib/etc/authlib/authdaemonrc.dist /usr/local/authlib/etc/authlib/authdaemonrc
????? ?? cp /usr/local/authlib/etc/authlib/authmysqlrc.dist /usr/local/authlib/etc/authlib/authmysqlrc
???????? vi /usr/local/courier-authlib/etc/authlib/authdaemonrc
???????? authmodulelist="authmysql"?
??? ???? authmodulelistorig="authmysql"
???? ??? daemons=10?
?????? vi /usr/localcourier-authlib/etc/authlib/authmysqlrc
???????? MYSQL_SERVER localhost?
???????? MYSQL_PORT 3306
???????? MYSQL_USERNAME extmail
???????? MYSQL_PASSWORD extmail?
???????? MYSQL_SOCKET /tmp/mysql.sock
???????? MYSQL_DATABASE extmail
???????? MYSQL_USER_TABLE mailbox?
???????? MYSQL_CRYPT_PWFIELD password
???????? MYSQL_UID_FIELD '2525'
???????? MYSQL_GID_FIELD '2525'?
?????????MYSQL_LOGIN_FIELD username?
?????????MYSQL_HOME_FIELD concat('/var/mailbox/',homedir)?
?????????MYSQL_NAME_FIELD name?
?????????MYSQL_MAILDIR_FIELD concat('/var/mailbox/',maildir)?
???????? 注:其中 2525,2525為postfix用戶的UID和GID(這里可先設置id號,當建postfix用戶時,可指定uid,gid要注意對應即可,這個文件中不能出現(xiàn)空格,或者會出現(xiàn)錯誤
????????? 設置 courier-authlib 自啟動
????????? cp courier-authlib.sysvinit /etc/init.d/courier-authlib
????????? chmod 755 /etc/init.d/courier-authlib?
????????? chkconfig --add courier-authlib
????????? chkconfig --level 2345 courier-authlib on?
????????? echo "/usr/local/authlib/lib/courier-authlib" >> /etc/ld.so.conf?
?????????? ldconfig?
?????????? service courier-authlib start
?????? 6、安裝 courier-sasl
???????? 刪除以前的rpm包以及相關(guān)目錄,系統(tǒng)自帶的與authlib配合不好
???????? rpm –qa | grep sasl 顯示出已安裝的都要刪除
???????? rpm -e --nodeps cyrus-sasl-2.1.10-4 cyrus-sasl-plain-2.1.10-4 cyrus-sasl-md5-2.1.10-4 cyrus-sasl-devel-2.1.10-4 …
???????? rm -rf /usr/lib/sasl
???????? rm -rf /usr/lib/sasl2
???????? tar –xvf cyrus-sasl-2.1.22.tar.gz (使用2.1.21版本,在make時報錯,網(wǎng)上查要sasl.patch補丁,也沒啟作用,最后還是選擇了2.1.22版本)
???????? cd cyrus-sasl-2.1.22
./configure --enable-plain --enable-cram --enable-digest --enable-login --enable-sql --disable-anon --disable-ntlm --disable-gssapi --disable-krb4 --disable-otp --disable-srp --disable-srp-setpass --with-authdaemond=/usr/local/authlib/var/spool/authdaemon/socket
--with-mysql=/usr/local/mysql --with-mysql-includes=/usr/local/mysql/include/mysql --with-mysql-libs=/usr/local/mysql/lib/mysql
????????? make
????????? make install
??????????ln -s /usr/local/lib/sasl2 /usr/lib/sasl2
????????? 增加"/usr/local/lib"到你的"/etc/ld.so.conf",并執(zhí)行l(wèi)dconfig命令。
????????? vi /usr/local/lib/sasl2/smtpd.conf
????????? pwcheck_method: authdaemond
????????? log_level: 3
???????? mech_list: PLAIN LOGIN
????????? authdaemond_path:/usr/local/authlib/var/spool/authdaemon/socket
??????? 注意,這個文件的編輯不要多寫一個空格,否則會出現(xiàn)smtp驗證不過的問題
???? 7、安裝 Berkeley-DB
???????? tar zxvf db-4.5.20.tar.gz?
???????? cd db-4.5.20/build_unix
???????? ../dist/configure —prefix=/usr/local/BerkeleyDB
???????? make?
?????????make install
???????? mv /usr/inculde/db4 /usr/inculde/db4.OFF
???????? rm -rf /usr/inculde/db_cxx.h?
???????? rm -rf /usr/inculde/db.h
???????? rm -rf /usr/inculde/db_185.h?
?????????ln -s /usr/local/BerkeleyDB/include /usr/include/db4
???????? ln -s /usr/local/BerkeleyDB/include/db.h /usr/include/db.h
???????? ln -s /usr/local/BerkeleyDB/include/db_cxx.h /usr/include/db_cxx.h
???????? echo "/usr/local/BerkeleyDB/lib" >> /etc/ld.so.conf?
???????? ldconfig
????? 8、安裝 postfix?
???????? groupadd -g 2525 postfix
???????? useradd -g postfix -u 2525 -s /sbin/nologin -M postfix
???????? groupadd -g 2526 postdrop
???????? useradd -g postdrop -u 2526 -s /bin/false -M postdrop
???????? service sendmail stop?
???????? mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF
???????? mv /usr/bin/mailq /usr/bin/mailq.OFF?
?????????mv /usr/bin/newaliases /usr/bin/newaliases.OFF
???????? tar zxvf postfix-2.4.5.tar.gz
???????? cd postfix-2.4.5?
?????????make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql? -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/local/sasl2/include/sasl? -I/usr/local/BerkeleyDB/include -DUSE_TLS -I/usr/local/ssl/include/openssl ' 'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz? -lm??? -L/usr/local/sasl2/lib??? -lsasl2??? -L/usr/local/BerkeleyDB/lib??? -L/usr/local/ssl/lib -lssl -lcrypto'
????????? make
???????? ?make install
?
????????? tempdir: [/root/ postfix-2.4.5]
????????? config_directory: [/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]
????????? manpages: [/usr/local/man]?
????????? readme_directory: [no]
????????? 上面的選項全部保持默認,直接回車即可。?
???????? 事先要執(zhí)行:echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
???????????????? ldconig 避免出現(xiàn)錯誤
??????? ?生成別名二進制文件,這個步驟如果忽略,會造成 postfix 效率極低:?
?????????newaliases
???????? 配置 postfix
???????? vi /etc/postfix/main.cf?
???????? myhostname = mail.wlq.com
???????? mydomain = wlq.com
???????? myorigin = $mydomain?
???????? inet_interfaces = all?
?????????mynetworks = 192.168.1.0/24, 127.0.0.0/8?
???????????????????????? #================Virtual Setting ====================
????????? virtual_mailbox_base = /var/mailbox/?
??????????virtual_mailbox_maps= mysql:/etc/postfix/mysql/mysql_virtual_mailbox_maps.cf?
??????????virtual_mailbox_domains=mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf?
????????? virtual_alias_domains =?
??????????virtual_alias_maps = mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf?
????????? virtual_uid_maps = static:2525
????????? virtual_gid_maps = static:2525?
????????? virtual_transport = virtual
????????? maildrop_destination_recipient_limit = 1
????????? maildrop_destination_concurrency_limit = 1?
???????????????????????? #=================Quota Setting ====================?
????????? message_size_limit = 14336000
????????? virtual_mailbox_limit = 20971520?
????????? virtual_create_maildirsize = yes
????????? virtual_mailbox_extended = yes
????????? virtual_mailbox_limit_maps?
????????? mysql:/etc/postfix/mysql/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 Tidy your mailbox and try again later.?
?????????? virtual_overquota_bounce = yes?
???????????????????????????? #=================== Cyrus-sasl=====================
????????? broken_sasl_auth_clients = yes?
?????????? smtpd_recipient_restrictions?????? =?????? permit_mynetworks,?????? permit_sasl_authenticated, reject_invalid_hostname,reject_non_fqdn_hostname,
reject_unknown_sender_domain,reject_non_fqdn_sender,
reject_non_fqdn_recipient,reject_unknown_recipient_domain, reject_unauth_pipelining,
reject_unauth_destination, permit
?????????? smtpd_sasl_auth_enable = yes?
?????????? smtpd_sasl_local_domain = $myhostname
?????????? smtpd_sasl_security_options = noanonymous?
?????????? smtpd_sasl_application_name = smtpd?
???????????smtpd_banner = Welcome to our $myhostname ESMTP, Warning:Version not Available!?
??????????? local_recipient_maps = (也要填加這一條,我也是最后在web界面發(fā)郵件時老報local_recipient的錯,填加這一條后就好了)
?
?????????? # mkdir -p /etc/postfix/mysql
????????? cd /etc/postfix/mysql?
??????????vi mysql_virtual_alias_maps.cf
????????? user = extmail?
????????? password = extmail
????????? hosts = localhost
???????? dbname = extmail?
???????? table = alias
???????? select_field = goto
???????? where_field = address?
?
??????? ?vi mysql_virtual_mailbox_limit_maps.cf
???????? user = extmail
???????? hosts = localhost?
???????? dbname = extmail
???????? table = mailbox
??????? select_field = quota
?????? ?where_field = username
?????
?????? vi mysql_virtual_domains_maps.cf
?????? user = extmail
?????? password = extmail
?????? hosts = localhost
?????? dbname = extmail
??????? table = domain
??????? select_field = description
??????? where_field = domain
?????? vi mysql_virtual_mailbox_maps.cf
??????? user = extmail?
??????? password = extmail
??????? hosts = localhost
??????? dbname = extmail?
??????? table = mailbox
??????? select_field = maildir
??????? where_field = username?
?
???? 9、安裝 Courier-IMAP
????? ? tar –xvjf courier-imap-4.2.0.tar.bz2
????????cd courier-imap-4.2.0
??? ?? ./configure --prefix=/usr/local/imap --with-redhat --enable-unicode --disable-root-check --with-trashquota CPPFLAGS='-I/usr/local/ssl/include/openssl -I/usr/local/authlib/include' LDFLAGS='-L/usr/local/authlib/lib/courier-authlib' COURIERAUTHCONFIG='/usr/local/authlib/bin/courierauthconfig'
????? ? make
????? ? make install
??????? cp /usr/local/imap/etc/imapd.dist /usr/local/imap/etc/imapd
??? ?? ?cp /usr/local/imap/etc/imapd-ssl.dist /usr/local/imap/etc/imapd-ssl
???? ?? cp /usr/local/imap/etc/pop3d.dist /usr/local/imap/etc/pop3d?
?????? ?cp /usr/local/imap/etc/pop3d-ssl.dist /usr/local/imap/etc/pop3d-ssl
????? ? vi /usr/local/imap/etc/pop3d
??????? POP3DSTART=YES
??????? 注:如果你想為用戶提供 IMAP 服務,則需在"/usr/local/courier-imap/etc/imapd"文件中設置"IMAPDSTART=yes";其它類同;
????? ? 新建虛擬用戶郵箱所在的目錄,并將其權(quán)限賦予 postfix 用戶:?
???????? mkdir -p /var/mailbox
???????? chown -R postfix /var/mailbox
???????? cp courier-imap.sysvinit /etc/rc.d/init.d/imapd?
???????? chmod 755 /etc/rc.d/init.d/imapd
???????? chkconfig --add imapd?
?????????chkconfig --level 2345 imapd on?
????????? service imapd start?
?
?10、安裝 extmail
??????? ?tar –xvf extmail-1.1.0.tar.gz?
?????????mkdir -pv /var/www/extsuite
???????? mv extmail-1.1.0 /var/www/extsuite/extmail
???????? cp /var/www/extsuite/extmail/webmail.cf.default /var/www/extsuite/extmail/webmail.cf?
???????? ?vi /var/www/extsuite/extmail/webmail.cf? (下列選項為修改后的)
???????? SYS_MESSAGE_SIZE_LIMIT = 5242880 用戶可以發(fā)送的最大郵件
???????? SYS_USER_LANG = zh_CN
??????? ?SYS_MAILDIR_BASE = /var/mailbox/? 用戶郵件的存放目錄
???????? SYS_MYSQL_USER = extmail
???????? SYS_MYSQL_PASS = extmail
???????? 以上兩句句用來設置連接數(shù)據(jù)庫服務器所使用用戶名、密碼和郵件服務器用到的數(shù)據(jù)庫
?????????SYS_MYSQL_HOST = localhost??? 指明數(shù)據(jù)庫服務器主機名
???????? SYS_MYSQL_SOCKET = /tmp/mysql.sock 連接數(shù)據(jù)庫的 sock 文件位置
???????? SYS_MYSQL_TABLE = mailbox?
?????????SYS_MYSQL_ATTR_USERNAME = username?
?????????SYS_MYSQL_ATTR_DOMAIN = domain
???????? SYS_MYSQL_ATTR_PASSWD = password
???????? 以上用來指定驗正用戶登錄里所用到的表,以及用戶名、域名和用戶密碼分別對應的表中列的名稱
?????????SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket
???????? 指明 authdaemo socket 文件的位置
????????? apache 相關(guān)配置?
????????? [root @test root] # vi /usr/local/apache/conf/httpd.conf
???????? 將 User daemon?
????????????? Group daemon
???????? 改為?
?????????????? User postfix
?????????????? Group postfix?
??????????將 Include conf/extra/httpd-vhosts.conf
????????? 前的注釋去掉,打開 apache 的虛擬主機功能。
????????? # virtual hosts?
????????? Include conf/extra/httpd-vhosts.conf?
???????????vi /usr/local/apache/conf/extra/httpd-vhosts.conf
????????? <VirtualHost *:80>
???????? ServerName mail.wlq.com
???????? DocumentRoot /var/www/extsuite/extmail/html/
???????? ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
?????????Alias /extmail /var/www/extsuite/extmail/html
??????? </VirtualHost>
???????? <Directory "/var/www/extsuite">
???????? Options Indexes FollowSymLinks
????? ?? AllowOverride None
???????? Order allow,deny
???????? Allow from all
?????? </Directory>
?
?????11、安裝 Unix-Syslog-1.1.tar.gz和DBD-mysql-2.9008.tar.gz
?????????extmail 將會用到 perl 的 DBD::Mysql 和 Unix::syslogd 功能, 您可以去http://search.cpan.org下載?
???????? tar -zxvf Unix-Syslog-1.1.tar.gz
???????? cd Unix-Syslog-1.1
???????? perl Makefile.PL?
??????? ?make
???????? make install
?
????????? tar –xvzf DBD-mysql-2.9008.tar.gz?
????????? cd DBD-mysql-2.9008
????????? perl Makefile.PL
????????? make && make install?
????????? 到此為止,Webmail 已經(jīng)可以使用了,可以在瀏覽器中輸入指定的虛擬主機的 名稱進行訪問,http://mail.wlq.com (做測試可以事先在機子上解析這個域名,加到hosts,也可以搭個dns)
?
??????
??? 12、安裝extman-0.2.5.tar.gz
?????? tar –xvzf extman-0.2.5.tar.gz
?????? mv extman-0.2.5 /var/www/extsuite/extman
???????vi /var/www/extsuite/extman/webman.cf (修改后的選項)
??????SYS_MAILDIR_BASE = /var/mailbox/
????? SYS_MYSQL_SOCKET = /tmp/mysql.sock
????? 使用 extman 源碼目錄下 docs 目錄中的 extmail.sql 和 init.sql 建立數(shù)據(jù)庫:
????? cd /var/www/extsuite/extman/docs
????? /usr/local/mysql/bin/mysql -u root??? < extmail.sql
????? /usr/local/mysql/bin/mysql??? -u root -p < init.sql
????? Enter password: 輸入 mysql root 用戶的密碼?
???? 修改 cgi 目錄的屬主:
?????? chown -R postfix.postfix /var/www/extsuite/extman/cgi/
????? 如果 extman 訪問數(shù)據(jù)庫權(quán)限不足的話,可采用以下命令將新生成的數(shù)據(jù)庫賦予 webman
????? /usr/local/mysql/bin/mysql
????? mysql> use extmail;
????? mysql>?? GRANT?? all?? privileges?? on?? extmail.*?? TO?? webman@localhost?? IDENTIFIED?? BY? 'webman';?
????? mysql>?? GRANT?? all?? privileges?? on?? extmail.*?? TO?? webman@127.0.0.1?? IDENTIFIED?? BY?? 'webman';?
????? mysql> quit
????? 在 apache 的虛擬主機配置文件中 Extmail 的虛擬主機部分,再添加如下兩行:
????? vi /usr/local/apache/conf/extra/httpd-vhosts.conf?
????? ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
????? Alias /extman /var/www/extsuite/extman/html
????? 啟動所有服務: (已啟動的可以重啟下)
?????? service mysqld start
?????? /usr/local/apache/bin/apachectl start
?????? service courier-authlib start
????? ?service imapd start?
??????? postfix start
?????? 在 IE 瀏覽器中輸入http://mail.wlq.com/extman ,進入郵件服務器的后臺,添加域與添加 用戶郵箱。默認管理帳號為:root@extmail.org 密碼為:extmail*123*。我這里添加了一 個 wlq.com 域和一個用戶郵箱:ceshi@wlq.com。至于開通郵件服務器自動注冊郵箱服務,只需要編輯該域,將"允許自由注冊郵箱"前面打上勾即可。?
???????? 第一次登錄可能出現(xiàn)如下錯誤:
??
??
???????? 這是由于 /tmp/extman 目錄的原因,新建之即可,然后將該目錄權(quán)限設置為 777
?????? (1) 如果您安裝后無法正常顯示校驗碼,安裝 perl-GD 模塊會解決這個問題。如果想簡單您?? 可?? 以?? 到?? 以?? 下?? 地?? 址?? 下?? 載?? 適?? 合?? 您?? 的包?? ,?? 安?? 裝平?? 臺?? 的??? rpm即可 http://dries.ulyssis.org/rpm/packages/perl-GD/info.html (我用的perl-GD-2.35-1.el5.rf.i386.rpmperl-GD-2.35-1.el5.rf.i386.rpm)
?????? (2) extman-0.2.2 自帶了圖形化顯示日志的功能;此功能需要 rrdtool 的支持,您需要安裝
這些模塊才可能正常顯示圖形日志。?
?????????接下來安裝圖形日志的運行所需要的軟件包 Time::HiRes、File::Tail 和 rrdtool,其中前兩個
包 您 可 以 去?? http://search.cpan.org?? 搜 索 并 下 載 獲 得 , 后 一 個 包 您 可 以 到 http://oss.oetiker.ch/rrdtool/pub/?M=D 下載獲得; 注意安裝順序不能改換。?
?
????????下面安裝 Time::HiRes 、File::Tail 和 rrdtool?
?????????tar zxvf Time-HiRes-1.9721.tar.gz
??????? cd Time-HiRes-1.9721?
??????? perl Makefile.PL
??????? make
??????? make test?
??????? make install
?
????????? tar zxvf File-Tail-0.99.3.tar.gz
????????? cd File-Tail-0.99.3?
????????? perl Makefile.PL
????????? make
????????? make test
????????? make install
???????? 在安裝 rrdtool 之前,就確定你的系統(tǒng)中是否已經(jīng)安裝 tcl、tcl-devel、libart、libart-devel
???????? tar zxvf rrdtool-1.2.23.tar.gz
???????? cd rrdtool-1.2.23
???????? ./configure --prefix=/usr/local/rrdtool?
???????? make
???????? make install
???????? 創(chuàng)建必要的符號鏈接(Extman 會到這些路徑下找相關(guān)的庫文件)?
???????? ln –s /usr/local/rrdtool/lib/perl/5.8.8/i386-linux-thread-multi/auto/RRDs/RRDs.so /usr/lib/perl5/5.8.5/i386-linux-thread-multi/
????????? ln -sv /usr/local/rrdtool/lib/perl/5.8.8/RRDp.pm /usr/lib/perl5/5.8.8
????????? ln -sv /usr/local/rrdtool/lib/perl/5.8.8/i386-linux-thread-multi/RRDs.pm /usr/lib/perl5/5.8.8
???????? 復制 mailgraph_ext 到/usr/local,并啟動
????????? cp -r /var/www/extsuite/extman/addon/mailgraph_ext /usr/local
????????? /usr/local/mailgraph_ext/mailgraph-init start
???????????/usr/local/mailgraph_ext/qmonitor-init start
????????? 添加到自動啟動
????????? echo "/usr/local/mailgraph_ext/mailgraph-init start" >> /etc/rc.local
????????? echo "/usr/local/mailgraph_ext/qmonitor-init start" >> /etc/rc.local
??????? 接下來就可以到 extman里面的全部東西了
???????? http://mail.wlq.com/extman
????
????? ?
????????
???????
?
????? ?測試:在web界面中收信,發(fā)信都正常,用telnet測試下smtp和pop3
?????? 用戶名:ceshi@wlq.com?????? 密碼:ceshi
?????? 用下列命令獲得BASE64 編碼
?????? [root@mail ~]# perl -e 'use MIME::Base64;print encode_base64("ceshi\@wlq.com")'
??????? Y2VzaGlAd2xxLmNvbQ==
???????[root@mail ~]# perl -e 'use MIME::Base64;print encode_base64("ceshi")'
??????? Y2VzaGk=
?
?????? telnet localhost 25
???????Trying 127.0.0.1...
?????? Connected to wlq.com (127.0.0.1).
???????Escape character is '^]'.
?????? 220 Welcome to our mail.wlq.com ESMTP,Warning:Version not Available!
?????? ehlo mail.wlq.com
?????? 250-mail.wlq.com
?????? 250-PIPELINING
?????? 250-SIZE 14336000
?????? 250-VRFY
?????? 250-ETRN
?????? 250-AUTH PLAIN LOGIN
?????? 250-AUTH=PLAIN LOGIN
?????? 250-ENHANCEDSTATUSCODES
?????? 250-8BITMIME
???????250 DSN
?????? auth login
?????? 334 VXNlcm5hbWU6
???????Y2VzaGlAd2xxLmNvbQ==
?????? 334 UGFzc3dvcmQ6
?????? Y2VzaGk=
?????? 235 2.0.0 Authentication successful
???????quit
?????? 221 2.0.0 Bye
???????Connection closed by foreign host.
?
???????telnet localhost 110
?????? Trying 127.0.0.1...
?????? Connected to wlq.com (127.0.0.1).
?????? Escape character is '^]'.
?????? +OK Hello there.
?????? user ceshi@wlq.com
???????+OK Password required.
?????? pass ceshi
?????? +OK logged in.
??????? quit
?????? +OK Bye-bye.
???????Connection closed by foreign host. (上面紅色部分為手動輸入)
????? ?測試authlib
?????? ?/usr/local/authlib/sbin/authtest -s login ceshi@wlq.com ceshi
??????? Authentication succeeded.
???????? Authenticated: ceshi@wlq.com (uid 2525, gid 2525)
??????? ?Home Directory: /var/mailbox/wlq.com/ceshi
????????? Maildir: (none)
????????? Quota: (none)
???????? Encrypted Password: $1$Zv/N0qB1$kMAqtkM2L5CiVt8d05FzU/
????????? Cleartext Password: ceshi
?????????? Options: (none)
?
???? 13、安裝maildorp-2.0.4.tar.bz2
?????? ?首先將courier-authlib的頭文件及庫文件鏈接至/usr目錄(編譯maildrop時會到此目錄下找此些相關(guān)????? 的文件):
???? ?? ln -sv /usr/local/authlib/bin/courierauthconfig?? /usr/bin
??????? ln -sv /usr/local/authlib/include/*?? /usr/include
????????maildrop需要pcre的支持,因此,接下來將首先安裝pcre
??????? tar jxvf pcre-7.2.tar.bz2
?????? cd pcre-7.2
??????? ./configure
????? ?make??
????? ?make check
????? ?make install
??????? groupadd -g 1001 vmail
??????? useradd -g vmail -u 1001 -M -s /sbin/nologin vmail
??????? tar jxvf maildrop-2.0.4.tar.bz2
??????? cd maildrop-2.0.4
??????? ./configure? --enable-sendmail=/usr/sbin/sendmail? --enable-trusted-users='root vmail'? --enable-syslog=1 --enable-maildirquota? --enable-maildrop-uid=1001? --enable-maildrop-gid=1001 --with-trashquota --with-dirsync?
????????make
??????? make install
??????? 安裝過程中要有這個錯誤/usr/bin/install: cannot stat `makedat/makedatprog': No such file or directory時,應檢查gbdm和gbdm-devel包,安這兩包后就可以了
?
???????? 檢查安裝結(jié)果,請確保有"Courier Authentication Library extension enabled."一句出現(xiàn):
???????? # maildrop -v
???????? maildrop 2.0.4 Copyright 1998-2005 Double Precision, Inc.
???????? GDBM extensions enabled.?
????????? [color=DarkOrange]Courier Authentication Library extension enabled.[/color]
????????? Maildir quota extension enabled.
???????? ?This program is distributed under the terms of the GNU General Public
????????? ?License. See COPYING for additional information.
???????? vi /etc/maildroprc (新建)
???????? logfile "/var/log/maildrop.log"
???????? touch /var/log/maildrop.log
??????? chown vmail.vmail /var/log/maildrop.log?
???????? 配置 postfix,
???????? vi /etc/postfix/master.cf
??????? 啟用下面這兩行,將前面的注釋符號去掉?
??????? maildrop??? unix??? -???????????? n???????????? n????????????? -???????????? -?????????????
??????? ?pipe? flags=DRhu user=vmail?????????????????? argv=/usr/local/maildrop/bin/maildrop -d ${recipient}
?
???????? vi /etc/postfix/main.cf
??????? 將 virtual_transport = virtual 修改為? virtual_transport = maildrop?
???????? virtual_uid_maps = static:1001
???????? virtual_gid_maps = static:1001
???????? vi /usr/local/ authlib/etc/authlib/authmysqlrc?
??????? 下面兩個修改為
?????????MYSQL_UID_FIELD? ‘1001’
???????? MYSQL_GID_FIELD?? ‘1001’
?????????vi /usr/local/apache/conf/httpd.conf (下面選項修改為如下的值)
?????????User vmail?
?????? ? Group vmail
?????????修改用戶郵件所在目錄 /var/mailbox 和 extman 的臨時目錄 /tmp/extman 的屬主和屬組?
???????? chown -R vmail.vmail /var/mailbox
?????????chown -R vmail.vmail /tmp/extman
????????? 重新啟動 apache 和 postfix,在web界面發(fā)送一份郵件測試,tail -f /var/log/maillog中看到的日志,
Oct 27 09:45:05 mail postfix/pipe[21265]: 71D4C3674EE: to=<ceshi@wlq.com>, relay=maildrop, delay=486, delays=485/0.08/0/0.25, dsn=4.3.0, status=deferred (temporary failure. Command output: /usr/local/bin/maildrop: Unable to open mailbox. )
Oct 27 09:45:35 mail maildrop[21273]: Unable to open mailbox.
?????????? 報錯,在網(wǎng)上找了找,發(fā)現(xiàn)在/etc/maildroprc中少了一行,加了這行,測試就OK
?????????? [root@mail mailbox]# vi /etc/maildroprc?
?????????? logfile "/var/log/maildrop.log"
?????????? to "$HOME/Maildir" (新加的一行)
?????????? 再測試:tail –f /var/log/maillog
Oct 27 09:47:16 mail postfix/pipe[21306]: 8D2D03674F9: to=<ceshi@wlq.com>, relay=maildrop, delay=0.96, delays=0.2/0.05/0/0.7, dsn=2.0.0, status=sent (delivered via maildrop service)
Oct 27 09:47:16 mail postfix/qmgr[20843]: 8D2D03674F9: removed
????????? [root@mail mailbox]# tail -f /var/log/maildrop.log
????????? Date: Wed Oct 27 09:46:33 2010
??????????From:
????????? Subj:?
?????????? File: /var/mailbox/wlq.com/ceshi/Maildir?????
???????? 測試成功,說明Maildrop安裝成功,到此為止,郵件系統(tǒng)的搭建基本完成,接下來安裝反病毒和反垃圾郵件的相關(guān)組件,下篇接著弄。
?
??????????非常感謝網(wǎng)上搭建郵件系統(tǒng)的前輩們,這也是根據(jù)他們的文檔自己做了一次搞下來的,同時自己在做的過程中也記錄下做個備份。
???????? 參考:http://bbs.chinaunix.net/archiver/tid-1419582.html
?????????????????????http://sery.blog.51cto.com
???????????????????? http://blog.5ilinux.com/archives/mail/
轉(zhuǎn)載于:https://blog.51cto.com/wanglq/412465
總結(jié)
以上是生活随笔為你收集整理的RedHat el5.0 搭建 Postfix 邮件服务器系统一的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UTrust4701F双界面NFC读写器
- 下一篇: java信息管理系统总结_java实现科