2012年3月3日 星期六

Linux 安裝版本控制系統 Subversion Server (SVN)

Ubuntu install SVN
Step1.安裝SubVersion Server

  • sudo apt-get install subversion

Step2.安裝SVN的apache2模組,以便使用http與https協定來使用SVN Server

  • sudo apt-get install libapache2-svn

這三項是系統建議安裝套件,依個人需求安裝
subversion-tools 
db4.8-util 
patch


Step3.安裝subversion-tools

  • sudo apt-get install subversion-tools
Step4.建立subversion群組,組名為subversion
  • sudo addgroup subversion   
將您自己和「www-data」(Apache 用戶)加入組成員中
  • sudo usermod -G subversion -a www-data
PS.可以使用 gedit /etc/group 觀察group設置狀態
可以看到subversion:x:1001:www-data

Step5.建立SVN使用的目錄,並設定群組為subversion
目錄通常為/usr/local/svn 或是/home/svn,這裡我使用/var/local/svn
  • sudo mkdir /var/local/svn  (建立資料夾)
  • sudo mkdir /var/local/svn/project
  • sudo chown -R root:subversion /var/local/svn/project (權限)

Step6.建立SVN文件倉庫

  • sudo svnadmin create /var/local/svn/project
Step7.賦予組成員對所有新加入文件倉庫的文件擁有相應的許可權
  • sudo chmod -R g+rws project

Step8.修改apache2設定檔

  • sudo gedit /etc/apache2/mods-available/dav_svn.conf
加入

<Location /var/local/svn/project>
DAV svn
SVNPath /var/local/svn/myproject
AuthType Basic
AuthName "project subversion repository"
AuthUserFile /etc/subversion/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>



PS.若需每次登錄時都進行用戶密碼驗證,請將兩行註釋掉。

Step9.重新啟動apache Server

  • sudo /etc/init.d/apache2 restart

Step10.建立使用者驗証資訊

  • sudo htpasswd -c /etc/subversion/passwd [user_name]
demo:sudo htpasswd -c /etc/subversion/passwd jt
-c:表示是否要新建檔案,舊有檔案內容會完全刪除,適用於第一次建立 passwd 檔時。
//如果要添加其他用戶,則去掉「-c」選項即可。

Step11.重新啟動apache
  • sudo /etc/init.d/apache2 restart
Step12.使用瀏覽器拜訪SVN Server
  • http://127.0.0.1/var/local/svn/project/
會出現如下圖畫面:


Step13.使用Eclipse開一個專案內容如下
 /home/[username]/workspace/myTest/src/index.html


Step14.import

  • sudo svn import -m "新_上傳" /home/username/workspace/myTest http://localhost/var/local/svn/project/workspace
會詢問svn使用者帳號與密碼,請使用Step10時所建立的帳號與密碼。

Step15.再次於瀏覽器中輸入http://127.0.0.1/var/local/svn/project/
這次出現了Revision,若你點擊src即可看到內容





參考資料
http://wiki.ubuntu.org.cn/SubVersion
https://help.ubuntu.com/community/Subversion
SVN電子書
libapache2(給予apache2的svn模組)
subversion-tools
db4.8-util
path

沒有留言:

張貼留言