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

相关文章
相关标签/搜索