svn http服務配置(1)

五.支持http訪問linux

通過以上配置,svn服務基本上就算配置完成了,不過此時只能經過svn://192.168.xx.xx/project的方式訪問,若是但願經過http的方式訪問,則還需進行以下配置。web

上面安裝工具時已經安裝了Apache和Perl。apache

1,轉換SVN服務器的密碼服務器

因爲SVN服務器的密碼是明文的,HTTP服務器不與支持,因此須要轉換成HTTP支持的格式。能夠寫了一個Perl腳本完成這個工做.ide

cd /home/svn/project/conf/svn

vi PtoWP.pl工具

 

Perl代碼  收藏代碼測試

  1. use warnings;  ui

  2. use strict;  加密

  3.                   

  4. #open the svn passwd file  

  5. open (FILE, "passwd") or die ("Cannot open the passwd file!!!\n");  

  6.         

  7. #clear the apache passwd file  

  8. open (OUT_FILE, ">webpasswd") or die ("Cannot open the webpasswd file!!!\n");  

  9. close (OUT_FILE);  

  10.                   

  11. #begin  

  12. foreach (<FILE>) {  

  13.         if($_ =~ m/^[^#].*=/) {  

  14.                 $_ =~ s/=//;  

  15.                 `htpasswd -b webpasswd $_`; #核心語句就這個,若是之後添加或者修改用戶密碼,能夠使用 htpasswd -nb username password ,加密後的信息會被顯示在屏幕上,複製內容到webpasswd文件便可。  

  16.         }  

  17. }  

 perl PtoWP.pl #執行腳步後會在當前路徑下生成webpasswd文件,裏面就是已經加過密的密碼信息。

 

 

2,修改httpd.conf,添加關於SVN服務器的內容
編輯/etc/httpd/conf/httpd.conf,在最後添加以下信息:
                <Location /project>
                    DAV svn
                    SVNPath /home/svn/project/
                    AuthType Basic
                    AuthName "svn for project" 
                    AuthUserFile /home/svn/project/conf/webpasswd  #這裏必定要使用webpasswd
                    AuthzSVNAccessFile /home/svn/project/conf/authz
                    Satisfy all
                    Require valid-user
                </Location>

須要加載三個模塊,若是是手工編譯Apache時應該加上--enable-dav

LoadModule dav_module modules/mod_dav.so

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so


3,啓動HTTPD服務器
service httpd restart

 

4,授予txn-current-lock文件777權限

緣由是svn目錄是使用root用戶建立,而Apache可能不是root用戶啓動的,因此在提交svn時Apache用戶沒有/home/svn/project/db/txn-current-lock文件的訪問權限

chmod 777 /home/svn/project/db/txn-current-lock

5,測試

使用svn客戶端工具,或者找一臺安裝了subversion的linux服務器進行測試
svn co http://192.168.xx.xx/project

相關文章
相關標籤/搜索