如何安裝配置SVN、TRAC
說明:本文檔介紹如何在Ubuntu上安裝、配置以及使用SNV,如何安裝并配置trac。本文檔適用于有一定經驗能夠熟知linux上的基本操作的linux用戶,能夠熟練的在ubuntu上使用linux命令、編輯文本、啟動和停止服務。本文檔假設用戶已經配置好自己的Ubuntu,配置好自己的/etc/apt/souces.list文件并能夠正常的使用apt-get。
1. 安裝和配置SVN
1.1簡介
Subversion是一款開放源代碼的版本控制系統。使用subversion,你可以重新加載源代碼和文檔的歷史版本。Subversion管理了源代碼在各個時期的版本。一個文件樹被集中放置在文件倉庫中。這個文件很像是一個傳統的文件服務器,只不過它能夠記錄文件和目錄的每一次變化。
1.2安裝
$sudo apt-get install subversion $sudo apt-get install libapache2-svn |
如果安裝時出現依賴關係的錯誤,請找出相應的軟件包并安裝它們。
1.3創建SVN倉庫
我們需要先建立一個叫做subversion的組并將自己的本地用戶和Apache2用戶添加到subversion這個組裡面來:
$sudo groupadd subversion $sudo usermod –G subversion –a www-data (這是將Apache2的用戶添加到 subversin) $sudo usermod –G subversion –a fihtdc (這是將本地用戶添加到subversion) |
然後注銷再登陸你就可以成為subversion的一員了。
1.4 創建subversion版本倉庫目錄
Subversion可以放在任意位置,但是通常放在/usr/local/svn以及/home/svn下。
$sudo mkdir –p /home/svn $cd /home/svn $sudo mkdir myproject $sudo chown –R root:subversion myproject $sudo svnadmin create /home/svn/myproject $sudo sudo chmod –R g+rws myproject |
查看txn-current-lock文件的權限和用戶以及組信息,應該類似與:
其中如果用戶和組不一致請再次運行如下命令:
$sudo chown –R root:subversion myproject |
1.5 訪問SVN
訪問本地的SVN的文件倉庫不需要事先運行任何的SVN服務:
$svn co file:///home/svn/myproject $svn co file://localhost/home/svn/myproject |
以上兩個命令可以達到相同的結果,其中如果你不確定自己的主機名的話就可以使用前面那種,不需要帶主機名,注意要使用三個斜杠(///),如果指定了主機名稱的話就必須使用兩個斜杠(//)。
通過WebDAV協議訪問(http://),WebDAV是一種基於HTTP1.1協議的通訊協議,它擴展了HTTP1.1,在GET、POST、HEAD等幾個HTTP標準方法以外添加了一些新的方法,使應用程序可以直接對Web Server直接讀寫,并支持文件鎖定以及解鎖,還可以支持文件的版本控制。
要通過WebDAV協議訪問SVN文件倉庫,就必須配置你的Apache2 Web服務器,需要將如下代碼片段加到你的/etc/apache2/mods-available/dav_svn.conf[F1] 中:
<Location /svn/myproject[F2] > DAV svn SVNPath /home/svn/myproject AuthType Basic AuthName “myprojcet subversion repositiory” AuthUserFile /etc/subversion/passwd <LimitExcept GET PROPFIND OPTION PERORT> Require valid-user </LimitExcept> </Location> |
如果需要用戶每次登陸的時候都要進行用戶密碼驗證,請將<LimitExcept GET PROPFIND OPTION PERORT>和</LimitExcept>兩行注釋掉即可。
運行如下命令:
$sudo /etc/init.d/apatche2 restart |
如果啟動過程中提示錯誤:No apache PMP package installed
那是由於你沒有安裝apache2,運行如下命令即可:
$sudo apt-get install apache2 |
安裝完成后再次重啟apache2。
這時打開瀏覽器輸入地址:http://localhost即可看到“It Works!”即表示apache正常工作了。
創建用戶密碼:
你需要創建/etc/subversion/passwd[F3] 文件,該文件包含了用戶授權的詳細信息。要添加用戶運行如下命令:
$sudo htpasswd –c /etc/subversion/passwd user_name |
它會提示你輸入用戶密碼。這個命令中的”-c”選項表示創建新的/etc/subversion/passwd文件,如果要添加其他用戶,把”-c”選項去掉:
$sudo htpasswd /etc/subversion/passwd other_user_name |
這時你可以使用如下命令來訪問文件倉庫了
$svn co http://hostname/svn/myproject myproject --username user_name |
2. Trac的安裝與使用
2.1簡介
Trac是Edgewall公司推出的網頁界面專案管理軟件,尤其擅長軟件BUG跟蹤方面,改軟件集成了增強的Wiki功能和版本控制功能,并可通過插件擴展功能。
2.2安裝
$sudo apt-get install trac $sudo apt-get install trac-bzr $sudo pat-get install trac-git |
2.3Trac 設置
完成上面的subversion安裝以及配置,以下的配置均基於以上的subversion完成的基礎上的。以下的設置假設上面的安裝和設置都已經完成。
2.3.1配置PostgreSQL數據庫
安裝:
$sudo apt-get install postgresql $sudo apt-get install python-psycopg2(為了讓trac能夠訪問PostgreSQL) 添加PostgreSQL用戶和數據庫: $sudo –u postgres sh (切換到postgres用戶) $createuser –A –D –P fihtdc (創建fihtdc用戶,并會提示輸入密碼,假設輸入密碼也為fihtdc,以便和下文對應) 會出現如下提示 Shell the new role be allowed to create more new roles? (y/n) 這裡輸入y $createdb –O fihtdc trac (創建trac數據庫) $exit (退出postgres用戶,回到正常用戶提示行) |
2.3.2創建配置Trac環境
Trac環境和subversion一樣可以放在任何路徑下,但是通常會設置在/var/www目錄中。具體設置命令如下:
$cd /var/www $sudo mkdir trac $sudo chown –R www-data:www-data trac $sudo –u www-data trac-admin trac initenv |
下面會進入初始話trac的過程中:
Project Name [My Project]> mytracproject (這裡輸入你的項目名稱) Database connection string [sqlite:db/trac.db]>postgres://fihtdc:fihtdc@localhost/trac (這裡需要輸入PostgreSQL數據庫的位置,前面的fihtdc為創建的賬號後面為密碼) Repository type [svn]> (這裡不需要填寫) Path to repository [/path/to/repos]>/home/svn/myproject (在這裡輸入你的項目對應的subversion地址,注意Trac在默认情況下只能訪問本機的subversion) |
如果沒有錯誤,這樣Trac的環境就初始化完成了。
2.4配置Apache
創建Trac環境后,還需要在Apache2中進行相應的配置才能正常使用。配置Trac有兩種方式:作為CGI(CGI、WSGI、FCGI)以及使用mod-python。在這裡,我們使用apache2-mod-python方式來配置Apache2服務器。
$sudo apt-get install libapache2-mod-python libapache2-mod-python-doc $sudo a2enmod python |
然后配置虚拟主机站点,將如下將如下配置放到/etc/apache2/siste-available/trac中,这里将新建一个虚拟主机:
$sudo vim /etc/apache2/site-available/trac |
加入下面這段程序
<VirtualHost 10.71.253.31[U4] > ServerName trac.fihtdc.name ServerAdmin xin-taochen@126.com DocumentRoot /var/www/trac <Location /> SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnv /var/www/trac/ PythonOption TracUriRoot / SetEnv PYTHON_EGG_CACHE /tmp </Location> <Location /login> AuthType Basic AuthName “CMET_WZU Trac Server” AuthUserFile /var/www/trac/.thpasswd Require valid-user </Location> ErrorLog “/var/log/apache2/trac_errors.log” CustomLog “/var/log/apache2/trac_access.log” common </VirtualHost> |
當然如果在虛擬機裡面嘗試的話設置虛擬機部分的代碼可以去掉。
然後設置Trac的訪問權限:
$sudo htpasswd –c /var/www/trac/.htpasswd fihtdc |
這裡會要求輸入密碼,輸入即可,和創建subversion的賬號一樣,帶參數“-c”是為了創建文件,如果需要添加其他用戶去掉-c即可。
激活該虛擬主機并重啟apache
$sudo a2ensite trac $sudo /etc/init.d/apache2 restart |
這樣trac的配置已經全部完成,在你的瀏覽器上輸入http://hostname上即可看到trac的主頁面了,現在可以享受trac給你帶來的服務,trac裡面有很多的東西可以讓你去研究!