主選單FreeBSD
PcBSD 0.83Windows程式語言(edit)
|
使用 vm-pop3d 建置郵件虛擬帳戶幾天前利用 courier-imap 建置了虛擬帳戶,發現常用的 openwebmail 目前並不支援 imap,因此只能換個方式,利用 vm-pop3d 來完成郵件虛擬戶的目的。 作業環境 FreeBSD 5.3 (6.0)兩個 domain:domain1.com.tw domain2.com.tw DNS 請先建立 MX 的記錄Step.1 安裝 postfix # cd /usr/ports/mail/postfix21 # make install clean 跳出來的選項,我都沒有選擇,其他的問題都採預設值即可修改 /etc/rc.conf 加上 sendmail="NONE" 在 /usr/local/etc/rc.d 中產生 postfix.sh 的連結 # ln -s /usr/local/sbin/postfix /usr/local/etc/rc.d/postfix.sh Step.2 安裝 vm-pop3d # cd /usr/ports/mail/vm-pop3d/ # make install cleanStep.3 安裝 apache # cd /usr/ports/www/apache13 # make install cleanStep.4 安裝 openwebmail # cd /usr/ports/mail/openwebmail # make install cleanStep.5 設定 postfix - 修改 main.cf 加上這五行 propagate_unmatched_extensions = virtual virtual_mailbox_base = /var/spool/virtual virtual_mailbox_maps = hash:/usr/local/etc/postfix/virtual_mailbox virtual_maps = hash:/usr/local/etc/postfix/virtual alias_maps = hash:/usr/local/etc/postfix/aliasesStep.6 設定虛擬帳戶的相關檔案 a. 網域的設定 /usr/local/etc/postfix/virtual_mailbox domain1.com.tw /var/spool/virtual/domain1.com.tw domain2.com.tw /var/spool/virtual/domain2.com.twb. 虛擬帳號的設定 /usr/local/etc/postfix/virtual george@domain1.com.tw george.domain1.com.tw mary@domain2.com.tw mary.domain1.com.twc. 對應的路徑 /usr/local/etc/postfix/aliases george.domain1.com.tw: /var/spool/virtual/domain1.com.tw/george mary.domain2.com.tw: /var/spool/virtual/domain2.com.tw/maryStep.7 建立相關目錄 # mkdir -p /var/spool/virtual/domain1.com.tw/ # mkdir /var/spool/virtual/domain2.com.tw/ # chown -R nobody /var/spool/virtual/ //將權限指定為 nobodyStep.8 讓設定生效 # postmap /usr/local/etc/postfix/virtual # postmap /usr/local/etc/postfix/virtual_mailbox # postalias /usr/local/etc/postfix/aliasesStep.9 產生密碼檔 # mkdir /usr/local/etc/virtual/domain1.com.tw/ //建立放密碼的路徑 # cd /usr/local/etc/virtual/domain1.com.tw # htpasswd -cd passwd george // 產生 george@domain1.com.tw 的密碼 # mkdir /usr/local/etc/virtual/domain2.com.tw/ # cd /usr/local/etc/virtual/domain2.com.tw # htpasswd -cd passwd mary // 產生 mary@domain2.com.tw 的密碼 密碼檔採用 crypt() 方式處理,為了偷懶,直接採用 htpasswd -c 建立檔案 -d 密碼以 crypt() 函數產生,第二次執行即不需加 -c 的選項Step.10 修改 /etc/inetd.conf pop3 stream tcp nowait root /usr/local/sbin/vm-pop3d vm-pop3d -u nobodyStep.11 啟動服務 # /usr/local/etc/rc.d/postfix.sh startStep.12 設定 openwebmail.conf /usr/local/www/cgi-bin/openwebmail/etc/openwebmail.conf auth_module auth_vdomain.pl auth_withdomain yes mailspooldir /var/spool/mail ....Step.13 網域的設定檔 /usr/local/www/cgi-bin/openwebmail/etc/sites.conf 在此路徑下,產生域名的檔案 domain1.com.tw 及 domain2.com.tw 兩者內容僅 vdomain_admlist 不同: enable_vdomain yes vdomain_admlist george vdomain_maxuser 100 vdomain_vmpop3_pwdpath /usr/local/etc/virtual vdomain_vmpop3_pwdname passwd vdomain_vmpop3_mailpath /var/spool/virtual vdomain_postfix_aliases /usr/local/etc/postfix/aliases vdomain_postfix_virtual /usr/local/etc/postfix/virtual vdomain_postfix_postalias /usr/local/sbin/postalias vdomain_postfix_postmap /usr/local/sbin/postmap接著在流灠器上鍵入網址即可。 在 openwebmail 上遇到的幾個錯誤: 1 .Undefined subroutine &ow::htmltext::str2html called at /usr/local/www//cgi-bin/openwebmail/shares/ow-shared.pl line 1283 在這裡找到處理方法 http://fily.dreamsky.com.tw/read.php?74 編輯 /usr/local/www/cgi-bin/openwebmail/.openwebmail-vdomain.pl在 require "....";後加上 require "modules/htmltext.pl";2.建立帳號後無法收信 maillog 上顯示 mail to file is restricted 修改 main.cf 加上 allow_mail_to_commands = alias,forward,include allow_mail_to_files = alias,forward,include重新啟動 postfix 即可正常 07/14 George 參考網站: http://www.reedmedia.net/software/virtualmail-pop3d/#passwords |