Posted on 

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)的安装