======安裝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 版本控制教學]]