1.安裝svn:
$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn //這個是安裝apache部分,如果不使用http協議可以不必裝這個。
2.配置svn服務器端:
首先,創建subversion用戶組,並且將www-data和您自己這兩個用戶加入該組。(這可以通過在Ubuntu 菜單上選擇“系統->系統管理->用戶和組”操作)。
其次,創建svn的根位置,
$ sudo mkdir /home/svn
$ cd /home/svn
然後,開始一個新的知識庫,
$ sudo mkdir myproject
$ sudo chown -R root:subversion myproject //這裡要給www-data添加權限,因為我們後面要用apache
$ sudo chmod -R g+rws myproject //這個是為了賦予組成員對所有新加入文件倉庫的文件擁有相應的權限
$ sudo svnadmin create /home/svn/myproject //開始一個新的知識庫
最後,設置用戶驗證,
$ sudo vim /home/svn/myproject/conf/svnserve.conf //將# [general]和# password-db = passwd的注釋取消掉,這表示使用同級目錄下的passwd文件做為密碼數據庫。
$ sudo vim /home/svn/myproject/conf/passwd //添加admin用戶及密碼。
3.使用svn客戶端:
這裡只介紹兩種方式,假設工作目錄位於/home/cyndi/work/下。
$ svn co file:///home/svn/myproject //這是當客戶端與服務器端在同台機器上時,這麼訪問。
$ svn co svn://10.28.158.133/home/svn/myproject –username admin
另外,為了使客戶端訪問知識庫時簡化目錄,可以在服務器端啟用daemon,
$ svnserve -d –foreground -r /home/svn
這樣客戶端的訪問可以簡化為,
$ svn co svn://10.28.158.133/myproject –username admin
詳細的svn安裝及設置可參考:http://wiki.ubuntu.org.cn/SubVersion
4.安裝trac並設置,與svn相仿:
$ sudo apt-get install trac
$ sudo trac-admin /home/trac initenv //除了項目名稱(myprojectname)和svn倉庫路徑(/home/svn/myproject)以外,其余可使用默認。
$ sudo chown -R root:www-data trac //使用www-data:www-data
$ sudo chmod -R g+rsw trac
5.設置用戶權限:
首先,創建用戶,第二參數指定用戶文件存放的位置,第三個參數指定連接的域,第四個為用戶名,
$ htdigest -c /home/trac/passwd.digest trac.palmsource.com www-data
其次,為passwd.digest文件中創建的用戶綁定trac系統的權限,
$ trac-admin /home/trac/ permission add admin TICKET_ADMIN //為admin這個用戶/組加上指定權限,關於更多權限設置可以參看:http://trac.edgewall.org/wiki/TracPermissions
$ trac-admin /home/trac/ permission add www-data admin //為www-data這個用戶綁定與admin一樣的權限
其次,啟動daemon監聽指定端口用於處理web請求,
$ tracd -p 8000 –auth myprojectname,/home/trac/passwd.digest,trac.palmsource.com /home/trac/
另外,如果不打算啟用用戶權限,可以這麼用,
$ tracd -p 8000 /home/trac/
(這一步我試了,授權方式,不好用,還不知道為什麼。)
6.Apache設置
add following conf at the end of apache2.conf:
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /home/trac/testproject
PythonOption TracUriRoot /trac
AuthType Basic
AuthName "Trac"
AuthUserFile /etc/apache2/trac.passwd //用htdigest生成密碼文件,trac,apache,svn可以共享一個密碼文件
Require valid-user
7.注意事項
上面配置是針對python模式的,CGI和Python不能一起配,會出現"wiki.png"等怪問題,我不太會弄