IT Knowledge Base

~ Without sacrifice, there can be no victory ~

發佈日期:

分類:

,

如何在Ubuntu Desktop (9.10, 10.04)下‧安裝Trac服務‧並同時設立以LDAP作登入受權

01. 確認已安裝好Subversion。詳細可參考如何安裝Subversion(svn)服務。02. 打開終端機,安裝Trac。

sudo apt-get install trac

03. 新增Trac最上層資料夾及設定權限,您可根據自己需要,設定不同資料夾名稱及位置。

sudo mkdir /data/trac
cd /data/trac
sudo chmod 777 /data/trac

04. 執行trac-admin命令,新增一Trac資料夾及設定其權限。其中projectname為新項目名稱。

sudo trac-admin projectname initenv
sudo chown -R www-data:www-data /data/trac/projectname
sudo chmod -R 777 /data/trac/projectname

05. 您可用traccd命令,檢查是否已成功建立Trac項目。

sudo -u www-data tracd --port 8000 /data/trac/projectname

06. 設置Trac資料夾的用戶、群組及權限。其中www-data為apache預設用戶及群組名稱。

sudo chown -R www-data:www-data /data/trac/projectname
sudo chmod -R 777 /data/trac/projectname

07. 於 apache中建立Trac設定。建立/etc/apache2/sites-available/trac.conf檔案中,加入以下內容。其中 SVNParentPath為svn內最上層資料夾位置;AuthLDAPBindDN為LDAP的管理員名稱及域 名;AuthLDAPBindPassword為LDAP內管理員密碼;AuthLDAPURL為LDAP的IP位置及PORT位置,因LDAP服務與 svn同安裝於一伺服器上,固使用localhost名稱;AuthzSVNAccessFile為儲存svn每一個資料夾的使用者權限檔案。

sudo gedit /etc/apache2/sites-available/trac.conf
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /data/trac
PythonOption TracUriRoot /trac
AuthType Basic
AuthName "Subversion Repository"
# AuthUserFile /etc/apache2/svn/svn.passwd
AuthBasicProvider ldap
AuthLDAPBindDN "cn=admin,dc=example,dc=com"
AuthLDAPBindPassword "password"
AuthzLDAPAuthoritative Off
AuthLDAPURL "ldap://localhost:389/ou=user,dc=example,dc=com?uid?sub?(objectClass=*)"
Require valid-user
</Location>

08. 建立使用者權限檔案。以下為參考例子,root為最高權限,可對Trac內容進行增加、修改或刪除。而user1只可檢視相關的項目內容。

sudo gedit /data/trac/project_permission.sh
sudo trac-admin /data/trac/projectname permission remove \'*\' \'*\'
sudo trac-admin /data/trac/projectname permission add user1 BROWSER_VIEW
sudo trac-admin /data/trac/projectname permission add user1 CHANGESET_VIEW
sudo trac-admin /data/trac/projectname permission add user1 FILE_VIEW
sudo trac-admin /data/trac/projectname permission add user1 LOG_VIEW
sudo trac-admin /data/trac/projectname permission add user1 MILESTONE_VIEW
sudo trac-admin /data/trac/projectname permission add user1 REPORT_SQL_VIEW
sudo trac-admin /data/trac/projectname permission add user1 REPORT_VIEW
sudo trac-admin /data/trac/projectname permission add user1 ROADMAP_VIEW
sudo trac-admin /data/trac/projectname permission add user1 SEARCH_VIEW
sudo trac-admin /data/trac/projectname permission add user1 TICKET_VIEW
sudo trac-admin /data/trac/projectname permission add user1 TIMELINE_VIEW
sudo trac-admin /data/trac/projectname permission add user1 WIKI_VIEW
sudo trac-admin /data/trac/projectname permission add root BROWSER_VIEW
sudo trac-admin /data/trac/projectname permission add root CHANGESET_VIEW
sudo trac-admin /data/trac/projectname permission add root FILE_VIEW
sudo trac-admin /data/trac/projectname permission add root LOG_VIEW
sudo trac-admin /data/trac/projectname permission add root MILESTONE_VIEW
sudo trac-admin /data/trac/projectname permission add root REPORT_SQL_VIEW
sudo trac-admin /data/trac/projectname permission add root REPORT_VIEW
sudo trac-admin /data/trac/projectname permission add root ROADMAP_VIEW
sudo trac-admin /data/trac/projectname permission add root SEARCH_VIEW
sudo trac-admin /data/trac/projectname permission add root TICKET_VIEW
sudo trac-admin /data/trac/projectname permission add root TIMELINE_VIEW
sudo trac-admin /data/trac/projectname permission add root WIKI_VIEW
sudo trac-admin /data/trac/projectname permission add root TICKET_CREATE
sudo trac-admin /data/trac/projectname permission add root TICKET_MODIFY
sudo trac-admin /data/trac/projectname permission add root WIKI_CREATE
sudo trac-admin /data/trac/projectname permission add root WIKI_MODIFY
clear
sudo trac-admin /data/trac/projectname permission list

09. 將權限檔案設定為可執行檔。

sudo chmod a+x /data/trac/project_permission.sh

10. 執行權限檔案。

source /data/trac/projectname.sh

11. 安裝python及相關套件。

sudo apt-get install libapache2-mod-python

12. 建立Trac邏輯連接至apache。

cd /etc/apache2/sites-enabled
sudo ln -s ../sites-available/trac.conf 010-trac

13. 重新啟用apache服務。

sudo /etc/init.d/apache2 restart

14. 使用已在LDAP建立的用戶名稱及密碼,用以下網址便可進入Trac版面。

http://localhost/trac/projectname

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *