apache+svn实现http访问svn资源

欢迎指正


1查看是否已安装

    rpm -qa subversion 
2安装
        yum install subversion svnadmin -version 检查版本
        yum install httpd httpd -version 查看hppd版本
         2.1.httpd默认端口为80,打开配置文件   /etc/httpd/conf/httpd.conf  ,找到"Listen 80",修改端口,
        2.2如果启动了防火墙,需要将修改的端口通过防火墙。
        2.3.服务设置开机启动   chkconfig httpd on   。可通过   chkconfig --list  ,查看
                httpd       0:off   1:off   2:on    3:on    4:on    5:on    6:off
             (2-5为on),表示设置成功
3启动httpd服务   /etc/init.d/httpd start | restart
      本地或局域网内访问"http://ip:port",显示“Apache 2 Test Page”,则表示安装成功, 报错查看端口是否被占用   
                hpptd:目录结构:
                        配置文件:/etc/httpd/conf/httpd.conf
               其他配置:/etc/httpd/conf.d  --其他程序的配置文件,例如Subversion.conf
               程序目录:/var/www/html
               日志目录:/vder/log/httpd
4.yum install mod_dav_svn svnadmin -version        (安装依赖插件)
              前往  /etc/httpd/modules/  下,检查是否包含mod_dav_svn.so和mod_authz_svn.so,如果有,mod_dav_svn安装成功。
        
5使用
        1.创建仓库,自己指定
                      #创建仓库目录  mkdir -p /var/www/svn  
                      #创建svn版本库  svnadmin create /var/www/svn/project  
                       #配置改当前仓库的配置文件   vim /var/www/svn/project/conf/svnserve.conf  
                       #禁用匿名用户并开启验证用户权限。  
       anon-access = none    #关闭匿名访问
        auth-access = write     #验证用户可写
         password-db = passwd  #指向验证用户名密码的数据文件 passwd
        auth-db=authz         #指向验证用户的权限配置文件 authz
         2.svn整合apache,将svn关联到apache上
                   修改配置 文件 vim /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                                                              
          SVNPath /var/www/svn/project                     #svn根目录
          AuthType Basic
          AuthName "hi,SVN user!"
          AuthUserFile /var/www/svn/project/conf/passwd   #pass文件所在位置
          AuthzSVNAccessFile /var/www/svn/project/conf/authz   #authz文件所在
          Require valid-user
 

 #创建多个仓库
 
           DAV svn
           SVNPath /var/www/svn/project
           AuthType Basic
           AuthName "hi,SVN user!"
           AuthUserFile /var/www/svn/passwd
           AuthzSVNAccessFile /var/www/svn/authz
           Require valid-user
     
                            
                                
        3.权限修改
          #修改 /var/www/svn 权限  
       chown apache.apache /var/www/svn -R       #给apache用户组下的apache用户,赋予目录/var/www/svn,的所有权
       chmod 777 /var/www/svn -R                      # 表示对该档案的拥有者,与该档案的拥有者属于同一个group者,其他以外的用户赋予可读,可写,可运行的权限
         #关闭SELinux  setenforce 0  
         #重启apache服务  service httpd restart  
          (重启时如果显示 Could not reliably determine the server's fully qualified domain name,
           则  vim /etc/httpd/conf/httpd.conf  , 加入 ServerName  localhost:80)
        
         
        #使用htpasswd创建用户,首次创建用户。位置和subversion.conf里的一样,给第一个用户添加密码时要加c,意思是创建这个文件,以后就不用加了  
              cd /var/www/svn/project/conf 
              (  执行添加用户命令必须在passwd文件所在的目录下执行,否则会另外创建一个passwd文件,之前的passwd文件和配置会失效)
        htpasswd -cb passwd 设置用户名 设置密码  (在命令行直接创建,改指令会在     /var/www/svn/passwd自动添加svn账号和加密的密码)
         
        #添加用户  
        htpasswd -b passwd 设置用户名 设置密码 
        #删除用户  
        htpasswd -D passwd user  
        #修改用户密码  
        htpasswd passwd user
        
        




总结:1,svn默认通过svn://访问,如果想要其通过http访问则需要依赖apache-httpd
            2,apache提供了mod_dav_svn组件,该组件可以让svn和apache关联
           3,当mod_dav_svn 安装后会自动在apache的 /httpd/modules/下添加关联文件mod_dav_svn.so和mod_authz_svn.so
               4,这时候只需在 httpd/conf.d/subversion.conf配置文件中关联这两个文件就可以了,具体如下:
                         LoadModule dav_svn_module     modules/mod_dav_svn.so  
      LoadModule authz_svn_module   modules/mod_authz_svn.so  
 5,关联好apache后,需要配置需要代理的svn的基本信息,具体体现在sunversion.config 的标签中
6,htpasswd是apache的一个工具,该工具主要用于建立和更新存储用户名、密码的文本文件,主要用于对基于http用户的认证。
htpasswd的安装很简单,它是随apache的安装而生成。使用该命令会在svn的config目录下的passwd中生成加密的账户密码数据


        

你可能感兴趣的:(svn)