SVN + Trac + Apache 完整安裝攻略

还是在台湾兄弟处找到的资料,不过我在项目组中推广的SCM是HG,以后把HG+Trac+Apache补上。

SVN + Trac + Apache 完整安裝攻略

View comments / Print This Post

SVN + Trac + Apache 完整安裝攻略,而原本在 SVN 所欠缺的用戶及權限管理介面,也都可以由 Trac 的外掛程式來搞定,可謂兩全其美。

本文章適合熟悉 SVN 但沒用個任何線上專案管理的人做為參考。

請注意,本人使用的 Linux CentOS 4.xRHEL 4.x 也適用。

1. 伺服器環境及設置

在伺服器上,我的設置如下:

  1. SVN 相關設定檔: /etc/svn/
  2. SVN 檔案庫的根目錄: /var/svn/ (裡面可以存放多個檔案庫)
  3. Trac 專案的根目錄: /var/trac/ (裡面可以存放多個專案)
  4. SVN 用戶的帳號密碼檔: /etc/svn/account
  5. SVN 用戶的權限檔: /etc/svn/authz
  6. 伺服器 IP: 192.168.1.10
  7. SVN 的存取網址: http://192.168.1.10/svn
  8. Trac 的存取網址: http://192.168.1.10/trac

所以要先建立這些目錄及檔案:

mkdir /etc/svn

mkdir /var/svn

mkdir /var/trac

touch /etc/svn/account

touch /etc/svn/authz

chown -R apache /etc/svn

因為 “account” “authz” 這兩個檔案都需要由 Trac 來管理,所以都要把擁有者改為 apache (包含 /etc/svn 這個目錄)

2. 增加 yum 的套件伺服器

編輯 /etc/yum.repos.d/CentOS-Base.repo,在檔案最後加入下列的 yum 套件伺服器(來自 dag kbs):

[dag]

name=Dag RPM Repostory for RHEL

baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag/

gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

gpgcheck=1

enabled=1

[kbs-CentOS-Misc]

name=CentOS.Karan.Org-EL$releasever - Stable

baseurl=http://centos.karan.org/el$releasever/misc/stable/$basearch/RPMS/

gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt

gpgcheck=1

enabled=1

增加了這兩個套件伺服器之後,就可以直接用 yum 安裝 SVN Trac 了。

3. 安裝 SVN 及相關套件

yum 輕鬆安裝 SVN 主程式及相關套件:

yum -y install subversion subversion-perl mod_dav_svn apr apr-util

4. 安裝 Trac 及相關套件

yum 輕鬆安裝 Trac 主程式及相關套件:

yum -y install trac clearsilver python-clearsilver

5. 修改網頁配置:

編輯 /etc/httpd/conf/httpd.conf,在最後面加上:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

<Location /svn>

  DAV svn

  SVNParentPath /var/svn

  Satisfy Any

# HTTP 用戶驗證

  AuthType Basic

  AuthName "SVN Repository"

  AuthUserFile /etc/svn/account

  AuthzSVNAccessFile /etc/svn/authz

  Require valid-user

</Location>

<Location /trac>

  SetHandler mod_python

  PythonInterpreter main_interpreter

  PythonHandler trac.web.modpython_frontend

  PythonOption TracEnvParentDir /var/trac

  PythonOption TracUriRoot /trac

# HTTP 用戶驗證

# AuthType Basic

# AuthName "Trac Project"

# AuthUserFile /etc/svn/account

# Require valid-user

</Location>

請注意上面註解(#)的部份,因為要用 Trac 的外掛程式來管理用戶的登入,所以就不需要 HTTP 用戶驗證,如果比較喜歡用 HTTP 驗證就把下面四行的註解拿掉即可,並且下面 trac.ini 的設定也要把 “trac.web.auth.LoginModule” 啟用。

6. 建立第一個 SVN 的儲存庫

先在 /var/svn 建立一個名為 “project1 的儲存庫:

svnadmin create /var/svn/project1

chown -R apache /var/svn/project1

7. 新增一個管理者帳號

先在 /etc/svn/account 新增一個名為 “admin” 的管理者:

htpasswd /etc/svn/account admin

是的,只要建立這一個管理者用戶即可,稍後可以在 Trac 的外掛程式來新增其它用戶及管理其權限。

8. 建立第一個 Trac 的專案

繼續在 /var/trac 建立一個名為 “project1 的專案:

trac-admin /var/trac/project1 initenv

執行時會問你一些東西,你需要輸入 “Project Name” 代表專案名稱,而 “Path to repository” 必須輸入/var/svn/project1,代表 SVN 儲存庫的路徑,其它選項只要按 Enter 使用預設值即可。這裡面的值稍後可以在專案目錄底下的 conf/trac.ini 做修改。

接著仍需將專案的擁有者改為 “apache”:

chown -R apache /var/trac/project1

9. 安裝 Trac 的外掛程式

安裝 Trac 的外掛程式前,需安裝 python-setuptools 及建立 Python Egg 的快取目錄:

cd /tmp

wget http://peak.telecommunity.com/dist/ez_setup.py

python ez_setup.py

mkdir /var/www/.python-eggs

chown apache /var/www/.python-eggs

easy_install 安裝五個實用的 Trac 外掛程式 (安裝 for Trac 0.10 的版本):

easy_install http://svn.edgewall.com/repos/trac/sandbox/webadmin

easy_install http://trac-hacks.org/svn/iniadminplugin/0.10

easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.10

easy_install http://trac-hacks.org/svn/tracwysiwygplugin/0.10

easy_install http://trac-hacks.org/svn/svnauthzadminplugin/0.10

這五個外掛程式分別為:

  1. WebAdmin: Trac 的基本管理模組。
  2. IniAdmin: trac.ini 管理。
  3. Account Manager: Trac 的用戶管理。
  4. TracWiki WYSIWYG Editor: Wiki 編輯器變成 WYSIWYG 編輯器。
  5. Svnauthz File Administration: SVN 的帳號及存取權限管理。

然後繼續編輯 /var/trac/project1/conf/trac.ini,在最後加上:

[components]

#啟用 WebAdmin 外掛程式

webadmin.* = enabled

#啟用 IniAdmin 外掛程式

iniadmin.iniadmin.iniadminplugin = enabled

#啟用 TracWysiwyg 外掛程式

tracwysiwyg.* = enabled

#啟用 SvnAuthzAdmin 外掛程式

svnauthz.* = enabled

#啟用 AccountManager 外掛程式

acct_mgr.api.accountmanager = enabled

acct_mgr.htfile.HtPasswdStore = enabled

#關閉預設的 Http 登入認證方式,改用 AccountManager 的登入認證

trac.web.auth.LoginModule = disabled

acct_mgr.web_ui.LoginModule = enabled

#啟用帳號管理

acct_mgr.admin.AccountManagerAdminPage = enabled

#允許用戶變更密碼、刪除帳號

acct_mgr.web_ui.AccountModule = enabled

[account-manager]

password_format = htpasswd

password_file = /etc/svn/account

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值