Centos 下搭建SVN + Apache 服务器

jopen 5年前

  1. 安装软件包

# yum install httpd
# yum install mod_dav_svn
# yum install subversion

 2.  验证安装

 # httpd -version

    结果显示:

        Centos 下搭建SVN + Apache 服务器

  前往 /etc/httpd/modules/ 下,检查是否包含mod_dav_svn.so和mod_authz_svn.so,如果有,mod_dav_svn安装成功。

    

# svnserve --version

    结果显示:

    Centos 下搭建SVN + Apache 服务器

    安装svn 成功。

3. 创建仓库

 # mkdir /var/www/svn   # cd /var/www/svn   # svnadmin create repo1

4. 配置

  /var/www/svn 目录下会有一个repo1的文件夹

  修改所有者:

 # chown -R apache:apache repo1

  copy  /var/www/svn/repo1/conf 下的 authz到 /var/www/svn下,并创建passwd文件

 # cp /var/www/svn/repo1/conf/authz /var/www/svn/authz   # cd /var/www/svn   # vi passwd   :wq保存退出

  生成账号:

 # htpasswd /var/www/svn/passwd user1

    输入密码,生成user1账号

 权限管理设置:

 # vi /var/www/svn/authz

    在[groups]下添加组,

     [/] 相当于/var/www/svn这个目录,赋予权限给用户组

     [repo1:/] 是指repo1库

     [repo1:/desgin]是repo1下的desgin目录

[groups]  admin=user1  proj1_developer=user2,user3  proj2_develoer=user2,user4    proj1_desgin=user5,user6    [/]  @admin=rw    [repo1:/]  @proj1_developer=rw    [repo1:/desgin]  @proj1_desgin=rw    [repo2:/]  @proj2_developer=rw

 将svn关联到apache上:

 # vi /etc/httpd/conf.d/subversion.conf

  在底部加上:

<Location /repos>     DAV svn     SVNParentPath /var/www/svn    #   # Limit write permission to list of valid users.  #   <LimitExcept GET PROPFIND OPTIONS REPORT>  #      # Require SSL connection for password protection.  #      # SSLRequireSSL  #        AuthType Basic        AuthName "Authorization SVN"        AuthzSVNAccessFile /var/www/svn/authz        AuthUserFile /var/www/svn/passwd        Require valid-user  #   </LimitExcept>  </Location>

重启httpd

 # service httpd restart

 

5. 通过浏览器测试

在浏览器中输入http://ip或网站/repos/repo1

此时会弹出输入密码框,输入创建的用户名和密码就可以登录了

来自:http://my.oschina.net/u/206356/blog/287635