AD/LDAP@Joomla 2.5 設定教學 for Win2003
使用 Joomla 開發客戶網站時,有些客戶會要求使用 Windows 的帳號登入網站系統,這時候就是微軟 Active Directory 登場啦!不僅這樣可以統一管理使用者帳戶,也可以省下每次都要幫使用者開兩次帳號的麻煩,以下介紹在 Joomla 開啟 AD/LDAP 時的單一簽入(SSO)教學,讓我們繼續看下去…
小弟在網路上搜尋的時候,搜尋到某一個部落客裝 AD 前要先裝 DNS,雖然我不知道裝 DNS 的用途對 AD 的影響是如何,所以我 DNS 也裝下去試試看了。但我思考到一個點,如果客戶的機器已在別台裝了 DNS 伺服器,那又在 AD 本機裝一次 DNS 那豈不是多的嗎?後來我重新做不裝 DNS 的測試,發現也是可以 Work 的,故底下的教學就不做 DNS 的設定過程囉。
本片開始:
▲ 點選開始功能表的系統管理工具,開啟[設定您的伺服器] 精靈
▲ 點選下一步
▲ 點選下一步
▲ 選擇網域控制站 (Active Directory)
,下一步
▲ 繼續下一步
▲ 下一步
▲ 下一步
▲ 選擇新網域的網域控制站
,下一步
▲ 選擇網域(在新樹系中)
,下一步
▲ 輸入你的 DNS
▲ NetBIOS 名稱可以讓它預設就好,或者你要自己取一個新的也可以
▲ 視窗提示資料庫與紀錄檔要放在不同顆硬碟上效能會比較好,我們就照做吧
▲ 可選擇要放置其他地方,否則請按下一步
▲ 系統會偵測你的 DNS 是否正常,因為沒有裝 DNS,所以請選最後一項
▲ 選擇第二項
▲ 輸入在還原模式下指派給 Administrator 的密碼,請牢記
▲ 下一步
▲ 系統開始設定 AD 的相關權限設定,這邊會等一段時間
▲ 完成!!
▲ 系統會提示要重新啟動電腦,請重新啟動
▲ 重開機之後,會看到登入畫面變得不一樣了,多了一個登入到
的欄位
▲ 進入系統之後會在一次出現完成視窗,點選完成吧!!
▲ 接下來開啟 php.ini
,位置可能在 C:\Windows\
底下或你安裝php的主目錄裡,搜尋 php_ldap.dll
,並將前面的分號(;)拿掉存檔,完成後重新啟動 IIS 或 Apache 讓它重新讀取 php.ini
▲ 接著開啟 Joomla 後台並到外掛管理,將認証 — LDAP
設定為啟用,並點選它進入設定相關參數
▲ 在來開啟系統管理工具
->Active Directory 使用者及電腦
▲ 出現如上畫面請看圖中圈選的部份並記下
▲ 回到 Joomla 的 LDAP 設定,輸入如下參數
- 主機: (請輸入指定到這台主機的DNS,或者直接輸入IP也可以)
- 通訊埠:
389
- LDAP V3:
是
- 協定 TLS:
否
- 遵循參考資訊:
否
- 認證方法:
直接繫結為會員
- 網域名:
DC=bambe,DC=no-ip,DC=org
(還記得上一張圖說要記下圈選部份嗎?以一個.
為單位分為若干個DC,以本站為例,請輸入自己適用的格式,以,
分隔) - 搜尋字串:
sAMAccountName=[search]
- 使用者 DN:
CN=[username],CN=Users,DC=bambe,DC=no-ip,DC=org
(前兩項的CN可照抄,後面的 DC 就是上兩欄輸入的網域名貼過來就好) - 連接帳號: (若連接到AD需要帳號認證,請輸入 AD 的管理者帳號,通常應該是 Administrator)
- 連接密碼: (若連接到AD需要帳號認證,請輸入密碼)
- Map:全名:
displayName
- Map: email:
mail
- Map: User ID:
sAMAccountName
▲ 回到Active Directory 使用者及電腦
在這邊可以新增一位使用者,並填寫相關資訊
▲ 輸入新使用者的密碼
▲ 新增完畢後會出現剛剛新增的使用者,按下滑鼠右鍵設定內容
▲ 請在這邊詳填剛新增的使用者的電子郵件,若不填寫在登入 Joomla 時會要求,所以請在新增完使用者後也一併去填寫它
▲ 讓我們回到 Joomla 前台的使用者登入畫面,輸入剛剛在 AD 新增的使用考帳號密碼,成功後系統會成功登入,如果登入後發現頁面呈現空白狀態,請檢查 php_ldap.dll
的 extension 是否有正確打開
▲ 到 Joomla 後台的會員管理,會發現剛剛登入的使用者已綁定到 Joomla 的會員資料庫裡了,預設新增進來的權限會是 Registered,請依需要再調整他的權限
▲ 一般在後台使用 AD 帳號登入的時候,系統預設是不會自動繫結 AD 帳號至 Joomla 裡,也就是說只有前台登入才會做繫結,若需要做後台繫結,請打開檔案:administrator/includes/application.php
大約第 224 行左右(或搜尋 autoregister
),將false
改為true
,就可以在後台登入畫面繫結 AD 會員了
註:
Joomla 透過 AD/LDAP 在註冊時,會先進行使用者DN
的欄位做 BIND,若這關 BIND 不了,則出現無法綁定 LDAP 伺服器
的訊息,如果想檢查這個欄位的語法哪裡有錯誤時,可以使用微軟的 AD Explorer 來協助你找到問題
參考來源:
LDAP Tools/Microsoft Active Directory
Windows 2003活动目录(Active Directory)的安装