本篇出處:摩托學園share討論區


基本架設

1)套件安裝
#apt-get install apache-ssl
(用apache-ssl取代apache)
#apt-get install postfix openwebmail
(基本套件)
#apt-get install speedy-cgi-perl libapache-mod-speedycgi
(CGI加速套件)
#apt-get install libcompress-zlib-perl
(支援HTTP壓縮)
#apt-get install unzip
(支援zip壓縮及解壓縮)
#apt-get install postfix-tls libsasl2-modules sasl2-bin
(addgroup sasl,再重新啟動postfix和sasl)
#apt-get install postfix-doc
(postfix的文件)

==============================
1)設定hostname
2)設定apache-ssl
3)設定/etc/postfix/main.cf
4)將/usr/share/openwebmail/www/images複製到/var/www/openwebmail/images


==============================
1)編輯openwebmail.conf,啟動防護機制
enable_viruscheck yes
enable_spamcheck yes
enable_learnspam yes
(這三個有效)
default_filter_badformatfrom yes
default_filter_fakedsmtp yes
default_filter_fakedfrom yes
default_filter_fakedexecontenttype yes
(這四個好像沒效)
===
虛擬帳戶
原文出處http://www.creativecrap.com/index2.ph ... k=view&id=18&pop=1&page=2
主要實現在 OpenWebmail 上使用多重網域,同時可以使用原系統上的帳號及虛擬使用者。
虛擬使用者的好處是可以不須要在系統上擁有實際的帳號,可省掉許多安全性及設定問題。環境需求
先定好這次設定的目的
Open Webmail 安裝位置 /usr/lib/cgi-bin/openwebmail
Open Webmail 設定檔位置 /etc/openwebmail

主要的郵件主機網址: ms.domain
要新增的郵件主機虛擬網域 : ms1.domain

當使用者登入時 OWM 設定檔的處理順序是:

/etc/openwebmail/openwebmail.conf
/etc/openwebmail/sites.conf/virtual_domain

查詢是否為系統帳號
/etc/passwd

若是系統帳號,則執行 auth_unix.pl 之前,會載入:
/usr/lib/cgi-bin/openwebmailetc/auth_unix.conf.default
/usr/lib/cgi-bin/openwebmail/etc/auth_unix.conf

若不是系統帳號,則查詢是否為虛擬帳號
virtual_domain 對應的是使用者帳號的 domain
/etc/virtual/virtual_domain/passwd

是虛擬帳號,則執行 auth_vdomian.pl 之前,會載入:
/usr/lib/cgi-bin/openwebmail/etc/auth_vdomain.conf.default
/usr/lib/cgi-bin/openwebmail/etc/auth_vdomain.conf

* 如果設定到相同的變數,越後面設定值,會蓋掉先為設定值


開始 Virtual User 設定

修改 openwebmail.conf
# 設定 mail spool 位置
mailspooldir /var/spool/mail
# 設定使用者認證模組,使用系統帳號
auth_module auth_unix.pl
# 系統使用者帳號不須輸入域名
auth_withdomain no
# 禁止使用者自行更改 email 位址
enable_setfromemail no


接著就是主要的虛擬網域,虛擬使用者的部份了

1. 使用者的對應表
首先要先定義虛擬使用者的對應表 /etc/postfix/virtual
如果是主要的郵件主機,不管是不是系統帳號還是虛擬帳號,都可以不用設定
這邊只要設定虛擬域名的使用者即可
#網域 名稱
ms1.domain anything
admin@ms1.domain admin.ms1.domain
user1@ms1.domain user1.ms1.domain

不管有沒有設定,都記得重建 db 檔
postmap hash:/etc/postfix/virtual

2. 主機端的使用者 alias
新增對應的使用者名稱,及在主機上的位置
在 /etc/postfix/aliases 後面新增
# virtual users at ms.domain
# 使用者帳號: 主機端位置
# 主要郵件主機上的虛擬使用者,可以省略後面 domain 的部份
user2: /var/spool/virtual/ms.domain/user2

# virtual users at ms1.domain
# 虛擬網域上的虛擬使用者,則要以全名來定義,就是上面才設定的名稱
admin.ms1.domain /var/spool/virtual/ms1.domain/admin
user1.ms1.domain /var/spool/virtual/ms1.domain/user1

當然還是要建立 db 檔,設定才會有效
postalias hash:/etc/postfix/aliases

上面兩個設定檔完成,就完成虛擬使用者的對應該
簡單的說,當外面有一封 user1@ms.domain 的信件時,postfix 會在 /etc/postfix/virtual 找到 user1@ms1.domain 的名稱為 user1.ms1.domain,
接著在 /etc/postfix/aliases 找到檔案的位置是 /var/spool/virtual/ms1.domain/user1 然後才能將信件丟到 mail spool 裡。

3. 設定群組
修改 /var/www/cgi-bin/openwebmail/etc/auth_vdomain.conf.default
postfix 預?是 nobody 或是 mail,nobody 不太建議使用就是了,這邊改 mail 吧
virtualuser mail

4. 建立目錄
上面指定了 mail spool 位置,現在就要建立這些相關的目錄
mkdir /var/spool/virtual/ms.domain
mkdir /var/spool/virtual/ms1.domain

設定 owner/group,gropu 就是步驟 3 的 "mail"
chown root.mail /var/spool/virtual/ms.domain
chown root.mail /var/spool/virtual/ms1.domain

設定屬性
chmod og+wt /var/spool/virtual/ms.domain
chmod og+wt /var/spool/virtual/ms1.domain

5. 各個網域的設定
在 /etc/openwebmail/sites.conf 建立網域的設定檔
每個網域都各自要有一個檔案,標名與網域同名
vi /etc/openwebmail/sites.conf/ms.domain

auth_module auth_vdomain.pl
auth_withdomain yes
mailspooldir /var/spool/virtual/creativecrap.com

# use_syshomedir yes 時,使用者的家目錄會在 /var/spool/mail/virutal_domain
# use_syshomedir yes 時,則是在 /var/www/cgi-bin/openwebmail/etc/users/virutal_domain
use_syshomedir yes
use_homedirspools no
enable_autoreply yes
enable_setforward no
enable_vdomain yes
# 指定這個 domain 的管理員,可以在 openwebmail 中編輯使用者,多個帳號時用逗號隔開
vdomain_admlist sysadmin
vdomain_maxuser 100

vdomain_vmpop3_pwdpath /etc/virtual
vdomain_vmpop3_pwdname passwd
vdomain_vmpop3_mailpath /var/spool/virtual
vdomain_postfix_aliases /etc/postfix/aliases
vdomain_postfix_virtual /etc/postfix/virtual
vdomain_postfix_postalias /usr/sbin/postalias
vdomain_postfix_postmap /usr/sbin/postmap

enable_strictvirtuser yes
enable_changepwd yes
enable_strictpwd no
enable_userfilter no
enable_smartfilter no
enable_webmail yes
enable_webdisk yes
enable_calendar yes
enable_sshterm no
enable_pop3 yes
vdomain_maxalias 100
case_insensitive_login yes
passwd_minlen 6
session_multilogin no
attlimit 4096
spool_limit 512000
quota_limit 512000

ms1.domain ?比照辦理吧 ~


6. 設定使用者的預設密碼吧
快完成了,先設定使用者的預設密碼吧
mkdir /etc/virtual/virtual.domain
chown -R root.mail /etc/virtual

設定密碼的指令
htpasswd -b /etc/virtual/virtual.domain/passwd user.name user.password

7. 別忘了 postfix
修改 main.cf
#
# virtual domain
#
default_privs = mail
virtual_alias_maps = hash:/etc/postfix/virtual
更改 main.cf 後,記得重新啟動 postfix
/etc/init.d/postfix restart

大功告成了~ 喔耶~
到 opebwebmail 測試一下吧,本機系統帳號,只要使用帳號登入 (ie user2)
虛擬使用者,則須使用完整的 email (ie user1@ms1.domain),在 outlook 帳號的部份?相同

vdomain_admlist 指定的帳號,可以在 openwebmail 個人偏好設定中
會多一個帳號管理的功能,往後再這邊就可以編輯使用者資料

===
SSL
===
認證機制
===
虛擬帳戶
===
防火牆

創作者介紹

胖虎的祕密基地

idobest 發表在 痞客邦 PIXNET 留言(0) 人氣()