ldap+qmail+postaci安裝和使用者管理(轉)
ldap+qmail+postaci安裝和使用者管理(轉)[@more@]ldap+qmail+postaci安裝,使用者管理
參考文獻:
1.(作者:謝順華)。目前唯一能找到的中文qmail+ldap資料
2.
基於php的webmail系統, 支援pop3, imap, 使用資料庫做快取. 相對於imp和sqwebmail來說, 配置相當容易, 而且介面很好.
3.
For Qmail的php版使用者管理, 可以設定使用者資料, 別名, maillist, 公司組織...
4.
win32的ldap檢視修改工具
5.
6.
說明:
考慮到qmail使用系統使用者在管理上不大方便. 而使用mysql作為使用者又會和mysql使用者衝突, 而且mysql的侷限性很大, 沒有ldap的open和自由擴充套件特性. 使用ldap後, 利用php的ldap函式就可以實現使用者管理, 使用者可方便的自行程式設計解決使用者管理.
因為不是虛擬主機, 所以選用了配置簡單, 好用的Postaci和Simple ldap user admin tool. 適合單一團體/公司使用.
安裝:
1. openldap請參考文獻1的步驟1.
在/etc/openldap目錄下是openldap的設定, 除了要按參考1中增加qmail的qmailUser型別外, 還要注意修改slapd.conf檔案, 關鍵內容如下:
#你的公司名, 最好用站點名
suffix "dc=test, dc=com"
#管理員名稱, 類似於系統管理員. 很長, 但是很重要.
rootdn "cn=Manager, dc=test, dc=com"
#管理員密碼(這裡用的是明文密碼)
rootpw secret
#加入基本資料:
ldapadd -D "cn=Manager,dc=test, dc=com" -W
dn: dc=test, dc=com
objectclass: dcObject
objectclass: organization
o: test Company
dc: test
dn: cn=Manager, dc=test, dc=com
objectclass: organizationalRole
cn: Manager
2. qmail需要加for ldap的補丁, 並且配置pop3, imap, sendmail.請參考文獻1中的步驟2. 其中注意以下事項:
ldap要求qmail使用Maildir格式, 所以, 要修改/var/qmail/rc如下:
exec env - PATH="/var/qmail/bin:$PATH"
qmail-start "`cat /var/qmail/control/defaultdelivery`" splogger qmail
在/var/qmail/control/defaultdelivery中內容如下:
./Maildir/
/var/qmail/control/ldapuid和ldapgid是ldap使用者資料中的qmailUid/qmailGid的預設值, 設定後ldap中可不必設定. 注意此處uid和gid必是存放mail目錄的uid/gid, 一般是/mail, 屬性是750, 不可對其它人可寫, 否則出錯. 考慮到要在php中執行管理使用者的操作, 所以這個uid/gid和apache的相同, 可以在apache/conf/httpd.conf中修改. 注意虛擬主機時可能會有安全問題.
用tail -n 30 /var/log/maillog可以檢視傳送mail的過程記錄, 錯誤會被記錄在內, qmail出錯時會自動回信給發件人, 不加-n 30只會看到自動回信的正確資訊!
RedHat7中使用xinetd, 不同於老版的inetd, 配置檔案放在/etc/xinetd.d/下, 修改如下:
pop3檔案:
#default: off
# description: The POP3 service allows remote users to access their mail
# using an POP3 client such as Netscape Communicator, mutt,
# or fetchmail.
service pop3
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /var/qmail/bin/qmail-popup
server_args = test.com /var/qmail/bin/auth_pop
/var/qmail/bin/qmail-pop3d Maildir
only_from = 0.0.0.0
log_type = FILE /var/log/maillog
disable = no
log_type = FILE /var/log/xinetd.log
log_on_success = HOST
log_on_failure = HOST RECORD
}
smtp檔案:
# default: off
# description: The POP3 service allows remote users to access their mail
# using an POP3 client such as Netscape Communicator, mutt,
# or fetchmail.
service smtp
{
socket_type = stream
protocol = tcp
wait = no
user = qmaild
server = /var/qmail/bin/tcp-env
server_args = -R /var/qmail/bin/qmail-smtpd
log_type = FILE /var/log/maillog
env = NODNSCHECK=""
log_on_success = HOST
log_on_failure = HOST RECORD
only_from = 0.0.0.0
disable = no
}
如果有其它pop3, smtp的服務應該設定其disable項為yes, 以免衝突. /var/qmail/control/下的控制檔案可以參考文獻1的步驟5,一般需要以下檔案:
ldapbasedn,ldaplogin,ldappassword,ldapuid,ldapgid,ldapserver
3. 安裝php版ldap使用者管理工具.(參考文獻3)
主要配置都在common.inc檔案裡面, 如果你的php系統沒有對.inc檔案處理, 會暴露出系統配置, 建議修改成common.inc.php, 然後分別修改index.php和format.php的第二行. common.inc.php主要修改如下: 也可以參考postaci的安裝檔案:
//剛開始的時候可能問題很多, 建議設定成1, 以便觀察錯誤在哪裡.
$debug = 0;
//這裡有些地方可能適合虛擬主機情況, 這裡沒用到, 待研究
$root_dn = "dc=test, dc=com";
$exchanges_dn = "".$root_dn;
$people_dn = "".$root_dn;
$lists_dn = "".$root_dn;
//這裡要注意和步驟1中設定一致
$ldap_host = "localhost";
$bind_dn = "cn=Manager, dc=test, dc=com";
$pw = "secret";
$mainTitle = "LDAP user admin";
//這裡要和步驟2中設定一致
$qmailuid = 501;
$qmailgid = 501;
$messageStoreDir = "/mail";
$mailQuota = "10000000000S,100000C";
$generalUser = "steeven";
/* not sure on the relevance of this... */
$mailHost = "test.com";
//你的公司部門, 可增減, 自己漢化吧 :)
$org_units = array( "Routed", "Switched", "Colocation", "Networks", "Metro", "Recruitment", "Commercial", "Finance", "IT", "Marketing" );
$acc_status = array( "active", "nopop", "disabled" );
$default_email = "test.com";
$logoImg = "../poweredby.png";
$ver = "0.03";
這個老外寫的管理工具很好用, 可以設定轉發mail, 無限mail別名; 按地域劃分公司組織, 下面又分部門, 每個部門又可以指定郵件, 發給部門的郵件可以指定哪些人來接受. 也可以自定義一些maillist, 管理參加人員. 充分體現了ldap的靈活性. 難怪notes, windows都向ldap靠攏 :)
如果qmail沒有設定成自動建立使用者目錄, 可以在add.php第188行增加如下程式碼:
if (!is_dir($messageStoreDir."/".$uid[0])){
mkdir($messageStoreDir."/".$uid[0],0770);
}
if (!is_dir($messageStoreDir."/".$uid[0]."/".$uid)){
mkdir($messageStoreDir."/".$uid[0]."/".$uid,0770);
}
在add.php中增加使用者時的LoginId似乎也有點問題, 可直接採用firstName:
function create_username() {
var first_str = document.user_details.elements[2].value;
document.user_details.elements[11].value = first_str.toLowerCase();
}
利用參考文獻4中的LdapBrowser可以看到對LDAP的相關修改, 或者手動修改.
4. 安裝Postaci, webmail(參考文獻2).
這是一個基於php的webmail, 具有比較完善的功能, 而且支援imap, pop3. 需要mysql支援. 使用者可以自行漢化, 檔案在lang目錄下. 解壓後修改includes目錄下global.inc檔案(有安全顧慮, 參考步驟3), 裡面有配置說明.
Following doc/INSTALL to install
安裝完成後新增適當使用者, 然後就可以透過becky, outlook, foxmail....等收發郵件. 用瀏覽器開啟postaci的安裝目錄就可以透過web收發mail了.
參考文獻:
1.(作者:謝順華)。目前唯一能找到的中文qmail+ldap資料
2.
基於php的webmail系統, 支援pop3, imap, 使用資料庫做快取. 相對於imp和sqwebmail來說, 配置相當容易, 而且介面很好.
3.
For Qmail的php版使用者管理, 可以設定使用者資料, 別名, maillist, 公司組織...
4.
win32的ldap檢視修改工具
5.
6.
說明:
考慮到qmail使用系統使用者在管理上不大方便. 而使用mysql作為使用者又會和mysql使用者衝突, 而且mysql的侷限性很大, 沒有ldap的open和自由擴充套件特性. 使用ldap後, 利用php的ldap函式就可以實現使用者管理, 使用者可方便的自行程式設計解決使用者管理.
因為不是虛擬主機, 所以選用了配置簡單, 好用的Postaci和Simple ldap user admin tool. 適合單一團體/公司使用.
安裝:
1. openldap請參考文獻1的步驟1.
在/etc/openldap目錄下是openldap的設定, 除了要按參考1中增加qmail的qmailUser型別外, 還要注意修改slapd.conf檔案, 關鍵內容如下:
#你的公司名, 最好用站點名
suffix "dc=test, dc=com"
#管理員名稱, 類似於系統管理員. 很長, 但是很重要.
rootdn "cn=Manager, dc=test, dc=com"
#管理員密碼(這裡用的是明文密碼)
rootpw secret
#加入基本資料:
ldapadd -D "cn=Manager,dc=test, dc=com" -W
dn: dc=test, dc=com
objectclass: dcObject
objectclass: organization
o: test Company
dc: test
dn: cn=Manager, dc=test, dc=com
objectclass: organizationalRole
cn: Manager
2. qmail需要加for ldap的補丁, 並且配置pop3, imap, sendmail.請參考文獻1中的步驟2. 其中注意以下事項:
ldap要求qmail使用Maildir格式, 所以, 要修改/var/qmail/rc如下:
exec env - PATH="/var/qmail/bin:$PATH"
qmail-start "`cat /var/qmail/control/defaultdelivery`" splogger qmail
在/var/qmail/control/defaultdelivery中內容如下:
./Maildir/
/var/qmail/control/ldapuid和ldapgid是ldap使用者資料中的qmailUid/qmailGid的預設值, 設定後ldap中可不必設定. 注意此處uid和gid必是存放mail目錄的uid/gid, 一般是/mail, 屬性是750, 不可對其它人可寫, 否則出錯. 考慮到要在php中執行管理使用者的操作, 所以這個uid/gid和apache的相同, 可以在apache/conf/httpd.conf中修改. 注意虛擬主機時可能會有安全問題.
用tail -n 30 /var/log/maillog可以檢視傳送mail的過程記錄, 錯誤會被記錄在內, qmail出錯時會自動回信給發件人, 不加-n 30只會看到自動回信的正確資訊!
RedHat7中使用xinetd, 不同於老版的inetd, 配置檔案放在/etc/xinetd.d/下, 修改如下:
pop3檔案:
#default: off
# description: The POP3 service allows remote users to access their mail
# using an POP3 client such as Netscape Communicator, mutt,
# or fetchmail.
service pop3
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /var/qmail/bin/qmail-popup
server_args = test.com /var/qmail/bin/auth_pop
/var/qmail/bin/qmail-pop3d Maildir
only_from = 0.0.0.0
log_type = FILE /var/log/maillog
disable = no
log_type = FILE /var/log/xinetd.log
log_on_success = HOST
log_on_failure = HOST RECORD
}
smtp檔案:
# default: off
# description: The POP3 service allows remote users to access their mail
# using an POP3 client such as Netscape Communicator, mutt,
# or fetchmail.
service smtp
{
socket_type = stream
protocol = tcp
wait = no
user = qmaild
server = /var/qmail/bin/tcp-env
server_args = -R /var/qmail/bin/qmail-smtpd
log_type = FILE /var/log/maillog
env = NODNSCHECK=""
log_on_success = HOST
log_on_failure = HOST RECORD
only_from = 0.0.0.0
disable = no
}
如果有其它pop3, smtp的服務應該設定其disable項為yes, 以免衝突. /var/qmail/control/下的控制檔案可以參考文獻1的步驟5,一般需要以下檔案:
ldapbasedn,ldaplogin,ldappassword,ldapuid,ldapgid,ldapserver
3. 安裝php版ldap使用者管理工具.(參考文獻3)
主要配置都在common.inc檔案裡面, 如果你的php系統沒有對.inc檔案處理, 會暴露出系統配置, 建議修改成common.inc.php, 然後分別修改index.php和format.php的第二行. common.inc.php主要修改如下: 也可以參考postaci的安裝檔案:
//剛開始的時候可能問題很多, 建議設定成1, 以便觀察錯誤在哪裡.
$debug = 0;
//這裡有些地方可能適合虛擬主機情況, 這裡沒用到, 待研究
$root_dn = "dc=test, dc=com";
$exchanges_dn = "".$root_dn;
$people_dn = "".$root_dn;
$lists_dn = "".$root_dn;
//這裡要注意和步驟1中設定一致
$ldap_host = "localhost";
$bind_dn = "cn=Manager, dc=test, dc=com";
$pw = "secret";
$mainTitle = "LDAP user admin";
//這裡要和步驟2中設定一致
$qmailuid = 501;
$qmailgid = 501;
$messageStoreDir = "/mail";
$mailQuota = "10000000000S,100000C";
$generalUser = "steeven";
/* not sure on the relevance of this... */
$mailHost = "test.com";
//你的公司部門, 可增減, 自己漢化吧 :)
$org_units = array( "Routed", "Switched", "Colocation", "Networks", "Metro", "Recruitment", "Commercial", "Finance", "IT", "Marketing" );
$acc_status = array( "active", "nopop", "disabled" );
$default_email = "test.com";
$logoImg = "../poweredby.png";
$ver = "0.03";
這個老外寫的管理工具很好用, 可以設定轉發mail, 無限mail別名; 按地域劃分公司組織, 下面又分部門, 每個部門又可以指定郵件, 發給部門的郵件可以指定哪些人來接受. 也可以自定義一些maillist, 管理參加人員. 充分體現了ldap的靈活性. 難怪notes, windows都向ldap靠攏 :)
如果qmail沒有設定成自動建立使用者目錄, 可以在add.php第188行增加如下程式碼:
if (!is_dir($messageStoreDir."/".$uid[0])){
mkdir($messageStoreDir."/".$uid[0],0770);
}
if (!is_dir($messageStoreDir."/".$uid[0]."/".$uid)){
mkdir($messageStoreDir."/".$uid[0]."/".$uid,0770);
}
在add.php中增加使用者時的LoginId似乎也有點問題, 可直接採用firstName:
function create_username() {
var first_str = document.user_details.elements[2].value;
document.user_details.elements[11].value = first_str.toLowerCase();
}
利用參考文獻4中的LdapBrowser可以看到對LDAP的相關修改, 或者手動修改.
4. 安裝Postaci, webmail(參考文獻2).
這是一個基於php的webmail, 具有比較完善的功能, 而且支援imap, pop3. 需要mysql支援. 使用者可以自行漢化, 檔案在lang目錄下. 解壓後修改includes目錄下global.inc檔案(有安全顧慮, 參考步驟3), 裡面有配置說明.
Following doc/INSTALL to install
安裝完成後新增適當使用者, 然後就可以透過becky, outlook, foxmail....等收發郵件. 用瀏覽器開啟postaci的安裝目錄就可以透過web收發mail了.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10796304/viewspace-959949/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nvm 安裝和管理node
- rpm包安裝和管理
- 安裝和配置OPENLDAP(轉)LDA
- apache安裝和調整效能安裝實踐(轉)Apache
- 程式管理程式supervisor安裝和使用
- 如何使用m工具安裝和管理MongoDBMongoDB
- linux磁碟管理和軟體安裝Linux
- 安裝及使用quota管理磁碟配額(轉)
- WebLogic的安裝和配置(轉)Web
- STLPort的編譯和安裝 (轉)編譯
- MPlayer安裝和使用指南(轉)
- Windows 98 桌面主題和使用者管理(轉)Windows
- Linux 使用者(user)和使用者組(group)管理概述(轉)Linux
- Anaconda安裝與包和環境管理
- 開源照片管理神器 PhotoPrism 安裝和使用教程
- Sun Cluster 3.0 的規劃、安裝、配置及管理(轉)
- Ubuntu解除安裝和安裝Ubuntu
- 安裝及管理程式
- 安裝portainer管理dockerAIDocker
- [轉載] centos7 安裝和配置vncserverCentOSVNCServer
- OpenBSD安裝(轉)
- GCC 安裝(轉)GC
- (轉)Nginx安裝Nginx
- JDK安裝(轉)JDK
- grub安裝(轉)
- MySQL的安裝以及基本的管理命令和設定MySql
- weblogic 管理視訊1-安裝和初步使用Web
- FC4桌面化安裝管理總結(轉)
- Linux下Grub開機管理程式安裝簡介(轉)Linux
- Linux教程-系統管理-RPM解除安裝篇(轉)Linux
- Informix-Online 7.30的安裝及管理(轉)ORM
- zabbix安裝—–nginx安裝和配置Nginx
- 安裝Linux的五種方法和心得(轉)Linux
- Slackware的安裝和Xwindows的設定(轉)Windows
- 雙系統的安裝和啟動原理(轉)
- CVSNT在Windows下的安裝和使用(轉)Windows
- (轉)LINUX和windows下完全解除安裝ORACLELinuxWindowsOracle
- MC/SG雙機系統安裝和配置[轉]