postfix+openwebmail的虛擬帳號問題

常言道:『飲水思源』,在 Open Source 的世界裡,我們常常需要別人的幫助,但是在您有所心得的時候請記得分享給大家,『幫助人是快樂的喔』。歡迎您在使用 debian 的過程中的任何心得分享給大家。

postfix+openwebmail的虛擬帳號問題

文章ccli0709 » 週三 12月 22, 2004 11:57 pm

各位好,小弟在postfix+openwebmail的安裝上,
遇到了虛擬帳號問題
套件安裝如下
代碼: 選擇全部
#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的文件)

用openwebmail以真實帳號登入在收發信都沒有問題.
參考http://www.php5.idv.tw/modules.php?mod=books&act=show&shid=2508來設定虛擬帳號,
卻一直無法成功,
openwebmail出現密碼錯誤的訊息,
不過我想它連帳號都沒讀到吧,
因為輸入不存在的帳號也是一樣的錯誤訊息.
也參考許多postfix虛擬帳號的文件,
除了裡面有提到vm-pop3d的套件我沒裝以外,
(在debian裡也找不到)
其他該做的都做了,請問這該怎麼處理呢?
ccli0709
可愛的小學生
可愛的小學生
 
文章: 52
註冊時間: 週日 3月 21, 2004 7:16 pm
來自: 臺灣高雄

re:postfix+openwebmail的虛擬帳號問題

文章訪客 » 週四 12月 23, 2004 3:18 pm

check your /var/log/mail.log
check your /var/log/openwebmail.log
這些該做的都做過了嗎?
訪客
 

re:postfix+openwebmail的虛擬帳號問題

文章訪客 » 週四 12月 23, 2004 11:28 pm

嗯~謝謝提醒,但仍無法解決.
在檢查/var/log/mail.log發現在/etc/postfix/main.cf兩處需填上domain name,
補上之後/var/log/main.log就沒再出現錯誤了.
但/var/log/openwebmail.log仍然出現無此使用者的訊息.
代碼: 選擇全部
u Dec 23 23:12:52 2004 - [14604] (211.74.78.110) cclee - userinfo error - auth_pam.pl, ret -4, User cclee doesn't exist
Thu Dec 23 23:13:02 2004 - [14604] (211.74.78.110) cclee - login error - no such user - loginname=cclee

在loginname之後再加上domain name後再登入也試過了,
仍然是一樣的情形.
反覆地檢查/etc/postfix/main.cf,/etc/aliases,/etc/postfix/virtual都沒有錯,
納悶的是我有在/usr/lib/cgi-bin/openwebmail/etc/sites/domain.name裡設定使用auth_vdomain.pl了,
但/var/log/openwebmail.log裡出現的卻是auth_pam.pl,
請問會是這裡出問題嗎?
訪客
 

re:postfix+openwebmail的虛擬帳號問題

文章ccli0709 » 週四 12月 23, 2004 11:53 pm

到/usr/lib/cgi-bin/openwebmail/etc/openwebmail.conf裡將auth_module的值改為auth_vdomain.pl後,
仍然失敗,錯誤訊息如下:
代碼: 選擇全部
Thu Dec 23 23:55:13 2004 - [14834] (211.74.78.110) cclee - userinfo error - auth_vdomain.pl, ret -2, Not valid user@domain format
Thu Dec 23 23:55:23 2004 - [14834] (211.74.78.110) cclee - login error - no such user - loginname=cclee
Thu Dec 23 23:55:35 2004 - [14837] (211.74.78.110) cclee - userinfo error - auth_vdomain.pl, ret -2, Not valid user@domain format
Thu Dec 23 23:55:40 2004 - [14838] (211.74.78.110) cclee - userinfo error - auth_vdomain.pl, ret -2, Not valid user@domain format
Thu Dec 23 23:55:45 2004 - [14837] (211.74.78.110) cclee - login error - no such user - loginname=cclee@domain.name


ccli0709
可愛的小學生
可愛的小學生
 
文章: 52
註冊時間: 週日 3月 21, 2004 7:16 pm
來自: 臺灣高雄

re:postfix+openwebmail的虛擬帳號問題

文章ccli0709 » 週五 12月 24, 2004 12:31 am

訪客兄,小弟在此向您致歉,
小弟搞了個大烏龍...
一直覺得我自己虛擬網域的設定怎麼起不來,
想必是openwebmail找不到/usr/lib/cgi-bin/openwebmail/etc/sites.conf/domain.name,
突然想到debian的設定檔都放在/etc/package.name底下,
一查果然有個/etc/openwebmail,
將/usr/lib/cgi-bin/openwebmail/etc/sites.conf/domain.name移到/etc/openwebmail/etc/sites.conf/,
就...可...以...了...
:shock: :shock: :shock:
ccli0709
可愛的小學生
可愛的小學生
 
文章: 52
註冊時間: 週日 3月 21, 2004 7:16 pm
來自: 臺灣高雄

re:postfix+openwebmail的虛擬帳號問題

文章ccli0709 » 週五 12月 24, 2004 1:18 am

用Debian架個postfix+openwebmail+ssl真的是滿快的,
其實說用Debian會變懶是真的,
但是與其把時間花在安裝和除錯,
若能把這些時間來設定和調校系統的話,
對我們這些只會應用而拙於製作軟體的人想必能學得更多吧.
底下是小弟這幾天一些小心得,
想必能在極短時間內完成openwebmail+postfix+虛擬帳號的架設,
但目前功能也只有這樣而己...
代碼: 選擇全部
==============================
基本架設

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.php?option=content&task=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
===
認證機制
===
虛擬帳戶
===
防火牆
===
ccli0709
可愛的小學生
可愛的小學生
 
文章: 52
註冊時間: 週日 3月 21, 2004 7:16 pm
來自: 臺灣高雄

re:postfix+openwebmail的虛擬帳號問題

文章訪客 » 週五 12月 24, 2004 4:51 pm

真完整的文件, ccli0709++
訪客
 

re:postfix+openwebmail的虛擬帳號問題

文章balaguava » 週三 1月 12, 2005 4:31 pm

辛苦ccli0709大大了...
把文件整理出來... :finger1:
balaguava
可愛的小學生
可愛的小學生
 
文章: 1
註冊時間: 週一 8月 23, 2004 4:41 pm
來自: 水果園

Re: re:postfix+openwebmail的虛擬帳號問題

文章訪客 » 週一 8月 27, 2007 6:17 pm

ccli0709 寫:用Debian架個postfix+openwebmail+ssl真的是滿快的,
其實說用Debian會變懶是真的,
但是與其把時間花在安裝和除錯,
若能把這些時間來設定和調校系統的話,
對我們這些只會應用而拙於製作軟體的人想必能學得更多吧.
底下是小弟這幾天一些小心得,
想必能在極短時間內完成openwebmail+postfix+虛擬帳號的架設,
但目前功能也只有這樣而己...
代碼: 選擇全部
==============================
基本架設

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.php?option=content&task=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
===
認證機制
===
虛擬帳戶
===
防火牆
===



__________________________________________



請問一下有朋友照ccli0709大大提供的方式安裝成功的嗎?

我安裝好套件後 , 接下來下面的 4 步驟是指什麼?
1)設定hostname
2)設定apache-ssl
3)設定/etc/postfix/main.cf
4)將/usr/share/openwebmail/www/images複製到/var/www/openwebmail/images

還有我並沒有此路徑資料 usr/share/openwebmail/www/images


謝謝
訪客
 


回到 share

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客