| 導購 | 订阅 | 在线投稿
分享
 
 
 

FreeBSD + Postfix %26 Maildir + Courier-imap + Squirrelmail

來源:互聯網  2008-05-31 00:03:14  評論

Description :

小弟於 FreeBSD 上安裝 Postfix + Courier-imap + Squirrelmail 郵件伺服器,採取 Maildir 的架構將使用者的信件分門別類的放置在 /home/User/Maildir 目錄下,有別於過去傳統所採用的 MailBox 方式,它是將 Mail 堆疊於 /var/spool/User 下。

過去我一直使用 MailBox 的方式將郵件堆疊到 /var/spool/User 上,這樣的方式有個蠻大的缺點,就是當使用者的郵件空間容量擴大時,你想看看會發生甚麼狀況?當單一檔案超過 1G 時必定造成 Mial Server 整體效能的下降,以及接收郵件時若突然斷線或中斷時 Mail 又得重新再接收一次,看來這樣的架構似乎已經不符合現今的需求,因此我改採 Maildir 的方式來架設 Mail Server,讓每一封郵件都獨立為單一檔案存放於自己的家目錄下,便可提高 Mail Server 的效能以及無限擴充郵件使用者的空間。

Courier-imap 是一套預設就支援 Maildir 的 pop3 及 imap 軟體,它也同時支援 pop3s 及 imaps 這兩個 Service,因此 Mail Server 在選擇使用 Maildir 架構時,我們當然首選 Courier-imap 摟。

Environment :

硬體:i386 PC Intel P3 500

記憶體網卡:512M RAM

作業系統:FreeBSD 6.0 Release

Setp 1. Installing Postfix

#vi /etc/rc.conf # 拿掉預設啟動 sendmail

sendmail_enable="NONE"

#cd /usr/ports/mail/postfix

#make install

#vi /usr/local/etc/postfix/main.cf

myhostname = ms2.ntut.idv.tw

mydomain = ntut.idv.tw

alias_maps = hash:/usr/local/etc/postfix/aliases # aliase 別名是一定要設的

home_mailbox = Maildir/ # 改用 Maildir 格式存放 mail 當開啟這行時,若使用者收到第一封 mail 時會就會自動產生 /home/User/Maildir 目錄及 new tmp cur 這三個資料夾

disable_vrfy_command = yes # 防止別人測試你的本機郵件用戶是否存在

mailbox_size_limit = 2048000000 # mailbox 的空間大小限制 2G ,也可以使用 disk quota 來限制

smtpd_recipient_limit =300 # 對同一封郵件的收件人數目限制,最多同一封信件可發給 300 人

message_size_limit = 10240000 # 單一信件最大容量 10M

#postalias /usr/local/etc/postfix/aliases # 產生 aliases.db 檔

#exit # 先跳出再進入 root 才可不指定路徑直接 start postfix

$su

#posfix start # 手動開啟 postfix 25 port 服務

Setp 2. Installing Courier-imap

#cd /usr/ports/mail/courier-imap # 因為採用 FreeBSD 本機上的帳號及密碼認證所以不選其他種類的 AUTH

#make install

Options for courier-imap 4.0.6_1,1

[X] OPENSSL Build with OpenSSL support

[ ] FAM Build in fam support for IDLE command

[ ] TRASHQUOTA Include deleted mails in the quota

[ ] GDBM Use gdbm db instead of system bdb

[ ] IPV6 Build with IPv6 support

[ ] AUTH_LDAP LDAP support

[ ] AUTH_MYSQL MySQL support

[ ] AUTH_PGSQL PostgreSQL support

[ ] AUTH_USERDB Userdb support

[ ] AUTH_VCHKPW Vpopmail/vchkpw support

#cd /usr/local/etc/courier-imap

#cp pop3d.cnf.dist pop3d.cnf

#cp imapd.cnf.dist imapd.cnf # 設定 cert 的內容以方便我們產生 ssl 加密認證,如果不使用 imaps 993 port 或 pop3s 995 port 可省掉這個動作

RANDFILE = /usr/local/share/courier-imap/pop3d.rand

[ req ]

default_bits = 1024

encrypt_key = yes

distinguished_name = req_dn

x509_extensions = cert_type

prompt = no

The [ req_dn ] should look like:

[ req_dn ]

C=countryName Two letters!

ST=stateOrProvinceName

L=localityName

O=organizationName

OU=OrganizationalUnitName

CN=commonName

emailAddress=emailAddress

[ cert_type ]

nsCertType = server

#/usr/local/sbin/mkimapdcert # 產生安全登入認證的 imapd.pem 及 pop3d.pem 檔放置於 /usr/local/share/courier-iamp 下

#/usr/local/sbin/mkpop3dcert

#vi /etc/rc.conf # 設定預設開機啟動程式

postfix_enable="YES"

courier_authdaemond_enable="YES"

courier_imap_pop3d_enable="YES"

courier_imap_imapd_enable="YES"

courier_imap_imapd_ssl_enable="YES"

courier_imap_pop3d_ssl_enable="YES"

#reboot # 重開機

# sockstat -l4 # 測試所開啟的服務

USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS

root master 520 11 tcp4 *:25 *:*

root couriertcp 454 3 tcp4 *:110 *:*

root couriertcp 443 3 tcp4 *:995 *:*

root couriertcp 432 3 tcp4 *:143 *:*

root couriertcp 420 3 tcp4 *:993 *:*

root sshd 377 4 tcp4 *:22 *:*

root syslogd 264 6 udp4 *:514 *:*

#telnet localhost 110 # 測試 pop3 110 port 有無啟動,及使用者可否登入

user jim

pass xxxx

list

stat

quit

+OK Bye-bye.

Setp 3. Installing Apache2 + PHP4 +SquirrelMail

#cd /usr/ports/www/apache2 # 詳細的設定就不再贅述請參考 Apache20 + MySQL41 + PHP4

#make install

#cd /usr/ports/www/php4

#make install

#cd /usr/ports/www/php4-extension

#make install

#cd /usr/ports/mail/squirrelmail

#make install

#cd /usr/local/www/data-dist

#ln -s ../squirrelmail webmail # 建立 webmail 連結檔

#cd webmail

#./configure # 開始設定你的 config.php 檔

SquirrelMail Configuration : Read: config.php (1.4.0)

---------------------------------------------------------

Main Menu --

1. Organization Preferences

2. Server Settings

3. Folder Defaults

4. General Options

5. Themes

6. Address Books

7. Message of the Day (MOTD)

8. Plugins

9. Database

10. Languages

D. Set pre-defined settings for specific IMAP servers

C Turn color on

S Save data

Q Quit

Command

http://ms2.ntut.idv.tw/webmail/ # 開個 Browse 輸入上面的路徑即可進入小松鼠 webmail 的登入畫面

Reference:

http://ezine.daemonnews.org/200308/courier-imap.html

http://www.inter7.com/courierimap.html

http://www.asdf.dk/text/mbox2maildir.html

http://karmak.org/2003/courier-imap/

http://mutt.sourceforge.net/imap/

Add:

若出現 Webmail 無法登入可能是還未產生 /home/User/Maildir 也可以手動製作 User 的 Maildir/

# cd /home/User

# maildirmake Maildir

# chown -R User:User Maildir

# chmod -R 750 Maildir

最後更新日:2006/08/18

最後更新:

http://freebsd.ntut.idv.tw/document/postfix_maildir_courier-iamp_squirrelmail.html

Description : 小弟於 FreeBSD 上安裝 Postfix + Courier-imap + Squirrelmail 郵件伺服器,採取 Maildir 的架構將使用者的信件分門別類的放置在 /home/User/Maildir 目錄下,有別於過去傳統所採用的 MailBox 方式,它是將 Mail 堆疊於 /var/spool/User 下。 過去我一直使用 MailBox 的方式將郵件堆疊到 /var/spool/User 上,這樣的方式有個蠻大的缺點,就是當使用者的郵件空間容量擴大時,你想看看會發生甚麼狀況?當單一檔案超過 1G 時必定造成 Mial Server 整體效能的下降,以及接收郵件時若突然斷線或中斷時 Mail 又得重新再接收一次,看來這樣的架構似乎已經不符合現今的需求,因此我改採 Maildir 的方式來架設 Mail Server,讓每一封郵件都獨立為單一檔案存放於自己的家目錄下,便可提高 Mail Server 的效能以及無限擴充郵件使用者的空間。 Courier-imap 是一套預設就支援 Maildir 的 pop3 及 imap 軟體,它也同時支援 pop3s 及 imaps 這兩個 Service,因此 Mail Server 在選擇使用 Maildir 架構時,我們當然首選 Courier-imap 摟。 Environment : 硬體:i386 PC Intel P3 500 記憶體網卡:512M RAM 作業系統:FreeBSD 6.0 Release Setp 1. Installing Postfix #vi /etc/rc.conf # 拿掉預設啟動 sendmail sendmail_enable="NONE" #cd /usr/ports/mail/postfix #make install #vi /usr/local/etc/postfix/main.cf myhostname = ms2.ntut.idv.tw mydomain = ntut.idv.tw alias_maps = hash:/usr/local/etc/postfix/aliases # aliase 別名是一定要設的 home_mailbox = Maildir/ # 改用 Maildir 格式存放 mail 當開啟這行時,若使用者收到第一封 mail 時會就會自動產生 /home/User/Maildir 目錄及 new tmp cur 這三個資料夾 disable_vrfy_command = yes # 防止別人測試你的本機郵件用戶是否存在 mailbox_size_limit = 2048000000 # mailbox 的空間大小限制 2G ,也可以使用 disk quota 來限制 smtpd_recipient_limit =300 # 對同一封郵件的收件人數目限制,最多同一封信件可發給 300 人 message_size_limit = 10240000 # 單一信件最大容量 10M #postalias /usr/local/etc/postfix/aliases # 產生 aliases.db 檔 #exit # 先跳出再進入 root 才可不指定路徑直接 start postfix $su #posfix start # 手動開啟 postfix 25 port 服務 Setp 2. Installing Courier-imap #cd /usr/ports/mail/courier-imap # 因為採用 FreeBSD 本機上的帳號及密碼認證所以不選其他種類的 AUTH #make install Options for courier-imap 4.0.6_1,1 [X] OPENSSL Build with OpenSSL support [ ] FAM Build in fam support for IDLE command [ ] TRASHQUOTA Include deleted mails in the quota [ ] GDBM Use gdbm db instead of system bdb [ ] IPV6 Build with IPv6 support [ ] AUTH_LDAP LDAP support [ ] AUTH_MYSQL MySQL support [ ] AUTH_PGSQL PostgreSQL support [ ] AUTH_USERDB Userdb support [ ] AUTH_VCHKPW Vpopmail/vchkpw support #cd /usr/local/etc/courier-imap #cp pop3d.cnf.dist pop3d.cnf #cp imapd.cnf.dist imapd.cnf # 設定 cert 的內容以方便我們產生 ssl 加密認證,如果不使用 imaps 993 port 或 pop3s 995 port 可省掉這個動作 RANDFILE = /usr/local/share/courier-imap/pop3d.rand [ req ] default_bits = 1024 encrypt_key = yes distinguished_name = req_dn x509_extensions = cert_type prompt = no The [ req_dn ] should look like: [ req_dn ] C=countryName Two letters! ST=stateOrProvinceName L=localityName O=organizationName OU=OrganizationalUnitName CN=commonName emailAddress=emailAddress [ cert_type ] nsCertType = server #/usr/local/sbin/mkimapdcert # 產生安全登入認證的 imapd.pem 及 pop3d.pem 檔放置於 /usr/local/share/courier-iamp 下 #/usr/local/sbin/mkpop3dcert #vi /etc/rc.conf # 設定預設開機啟動程式 postfix_enable="YES" courier_authdaemond_enable="YES" courier_imap_pop3d_enable="YES" courier_imap_imapd_enable="YES" courier_imap_imapd_ssl_enable="YES" courier_imap_pop3d_ssl_enable="YES" #reboot # 重開機 # sockstat -l4 # 測試所開啟的服務 USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS root master 520 11 tcp4 *:25 *:* root couriertcp 454 3 tcp4 *:110 *:* root couriertcp 443 3 tcp4 *:995 *:* root couriertcp 432 3 tcp4 *:143 *:* root couriertcp 420 3 tcp4 *:993 *:* root sshd 377 4 tcp4 *:22 *:* root syslogd 264 6 udp4 *:514 *:* #telnet localhost 110 # 測試 pop3 110 port 有無啟動,及使用者可否登入 user jim pass xxxx list stat quit +OK Bye-bye. Setp 3. Installing Apache2 + PHP4 +SquirrelMail #cd /usr/ports/www/apache2 # 詳細的設定就不再贅述請參考 Apache20 + MySQL41 + PHP4 #make install #cd /usr/ports/www/php4 #make install #cd /usr/ports/www/php4-extension #make install #cd /usr/ports/mail/squirrelmail #make install #cd /usr/local/www/data-dist #ln -s ../squirrelmail webmail # 建立 webmail 連結檔 #cd webmail #./configure # 開始設定你的 config.php 檔 SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Main Menu -- 1. Organization Preferences 2. Server Settings 3. Folder Defaults 4. General Options 5. Themes 6. Address Books 7. Message of the Day (MOTD) 8. Plugins 9. Database 10. Languages D. Set pre-defined settings for specific IMAP servers C Turn color on S Save data Q Quit Command http://ms2.ntut.idv.tw/webmail/ # 開個 Browse 輸入上面的路徑即可進入小松鼠 webmail 的登入畫面 Reference: http://ezine.daemonnews.org/200308/courier-imap.html http://www.inter7.com/courierimap.html http://www.asdf.dk/text/mbox2maildir.html http://karmak.org/2003/courier-imap/ http://mutt.sourceforge.net/imap/ Add: 若出現 Webmail 無法登入可能是還未產生 /home/User/Maildir 也可以手動製作 User 的 Maildir/ # cd /home/User # maildirmake Maildir # chown -R User:User Maildir # chmod -R 750 Maildir 最後更新日:2006/08/18 最後更新: http://freebsd.ntut.idv.tw/document/postfix_maildir_courier-iamp_squirrelmail.html
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有