======安裝Apache webserver及Subversion======
本文的LAB是在Centos版本下進行。
- 簡易安裝Apache Web Server(httpd)
* #yum install httpd httpd-tools
- Subversion
* #yum install mod_dav_svn subversion
======簡單設定,先讓web server可以執行======
- 若有設定防火牆先打開80 Port(假設來源網段為 192.168.0.0/24)
* #iptables -I INPUT -i eth0 -s 192.168.0.0/24 -p tcp --dport 80 -j ACCEPT
- 啟動web server
* #/etc/init.d/httpd start
- 測試網頁(假設本機的IP為192.168.0.35 )
* 在Brower的url打上 http://192.168.0.35 ,有顯示Apache基本訊息就可。
======Subversion設定======
* 設定檔/etc/httpd/conf.d/subversion.conf說明
LoadModule dav_svn_module modules/mod_dav_svn.so ##svn模組載入##
LoadModule authz_svn_module modules/mod_authz_svn.so ##svn 驗證模組載入##
DAV svn ##DAV服務提供者##
SVNParentPath /var/www/svn/ ##設定svn服務的根目錄##
Satisfy Any ##匿名存取。不必密碼驗證##
AuthType Basic ##基本驗證##
AuthName "SVN TEST" ##詢問名稱和密碼的彈出窗口裡顯示的名稱##
AuthUserFile /etc/svn-auth-conf ##使用者帳號及密碼##
AuthzSVNAccessFile /etc/svn_AUTHZ ##使用者對專案目錄存取權限##
Require valid-user #Require 後面接著使用者名稱。Ex:Require user1,user2 。valid-user表對任何使用者的請求#
* 建立svn存放repository的目錄
#mkdir /var/www/svn
#chown root:apache /var/www/svn/
#svnadmin create /var/www/svn/repos
#cd /var/www/svn/
#chown -R apache:apache repos/
=====以匿名方式登入=====
- 修改/etc/httpd/conf.d/subversion.conf
* LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
DAV svn
SVNParentPath /var/www/svn/
Satisfy Any
- 重新httpd reload
* #/etc/init.d/httpd reload
- 以文字命令列測試
* #svn co http://192.168.0.35/svn/repos
Checked out revision 1.
- 以瀏覽器測試
* 在網址區塊,打上http://192.168.0.35/svn/repos
=====以驗證使用者帳密方式登入=====
- 修改/etc/httpd/conf.d/subversion.conf
* LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
DAV svn
SVNParentPath /var/www/svn/
AuthType Basic
AuthName "SVN TEST"
AuthUserFile /etc/svn-auth-conf ------\
\#以下針對/etc/svn-auth-conf及/etc/svn_AUTHZ這兩個設定檔做設定
/
AuthzSVNAccessFile /etc/svn_AUTHZ ------/
Require valid-user
- 針對/etc/svn-auth-conf(設定使用者帳號及密碼,假設user:andy,password:123456)
* #htpasswd -cm /etc/svn-auth-conf andy
* New password: 輸入密碼
* -c:表示 沒有這個/etc/svn-auth-conf檔案,並創建它。-m表示以md5來加密
- 創建檔案及修改/etc/svn_AUTHZ
*
[groups]
tester = andy,ali,jobs #以tester群組名稱中有ali,andy,jobs等使用者
[repos:/]
andy = rw #andy有 讀寫
@tester = rw #test群組有 讀寫
* = r #其他使用者只能 讀
- reload httpd,並測試匯入一個新專案名為New_Project1(位於/tmp/New_Project1)
* #/etc/init.d/httpd reload
* #svn import /tmp/New_Project1 http://192.168.0.35/svn/repos/New_Project1
* New password: 輸入密碼
* ##就會顯示匯入資訊 file1..file2..表示成功
======參考資料======
- [[http://blog.longwin.com.tw/2007/07/debian_set_subversion_2007/|Debian Linux 架設 Subversion(SVN)]]
- [[http://wiki.centos.org/HowTos/Subversion|Subversion on CentOS]]
- [[http://svndoc.minitw.com/index.html|Subversion 權威指南]]
- [[http://subversion.apache.org/|Subversion官方網站]]
- [[http://blog.wu-boy.com/2012/02/how-to-use-git-version-control-for-new-beginner/|新人 Git 版本控制教學]]