zoukankan      html  css  js  c++  java
  • Linux配置SVN服务器(subversion+apache)

    1:环境及相关服务检查
    确认是否安装了apache,没有请yum 安装apache
    一般情况下,centos自带了svnserver,如果没有运行:

    yum install subversion

    2: 相关软件包检查
    请确认下面软件包有没有安装,如果没有安装,请yum 安装
    subversion
    mod_dav_svn
    如果安装正常的话,应该在/etc/httpd/modules目录下能找到这些模块
    mod_authz_svn.so
    mod_dav_svn.so

    3: 初始化repository
    创建svn的项目库父路径,我把/home/svnroot做为svn的项目库父路径。这个目录是任意的,如果是多个项目库则必须在同一个父路径下

    #mkdir /home/svnroot

    我们通过如下命令初始化一个svn项目库test1

    #svnadmin create /home/svnroot/test1

    重复上面的命令创建多个项目库,如

    #svnadmin create /home/svnroot/test2

    或者你指定SVN库的存储方式

    #svnadmin create –fs-type fsfs /home/svnroot/test1

    4: SVN访问控制
    建立用户认证:

    htpasswd -cm /home/svnroot/passwd [username]

    然后输入用户名密码。打开该文件会看到输入的用户名和一段加密的密码。
    在/home/svnroot目录下创建访问控制文件文件svnaccess,名字任意,不过在以后的配置过程中你必须使用正确的名字,文件内容为

    [groups]
        admin=test1,test2
        [test1:/]
        @admin=rw
        *=r
        [test2:/]
        @admin=rw
        *=r

    意思是对于项目库test1和test2,test1和test2用户有读写权限,其他人有读取权限无写入权限。

    5: Apache和SVN集成
    编辑apache的配置文件/etc/httpd/conf/httpd.conf文件

     <Location /svn>
        DAV svn
        SVNParentPath /home/svnroot
        AuthzSVNAccessFile /home/svnroot/svnaccess
        AuthUserFile /home/svnroot/passwd
        AuthName ”SVN Repositorys”
        AuthType Basic
        Require valid-user
        </Location>

    6: 安全访问设置[必须设置,否则svn无法访问]
    修改目录的属主和访问权限

     #chown apache.apache -R /home/svnroot
     #chmod 755 -R /home/svnroot

    修改SELinux的设置
    禁用SELinux(强烈不推荐)或者在SELinux图形管理界面中勾上Disable SELinux protection for httpd daemon这个选项,否则apache这个虚拟用户无法访问/home/svnroot目录,当然你也可以用更好的方法设置apache的访问权限,比如:

    chcon -R -h -u system _u -t httpd_sys_content_t /home/svnroot

    7: 重新启动Apache服务器
    执行如下命令

    #service httpd restart
    或者
    #/etc/init.d/httpd restart

    键入下面的url看是否能正确的访问svn。

    http://localhost/svn/test1,http://localhost/svn/test2

  • 相关阅读:
    python的paramiko模块的安装与使用
    python的paramiko模块的安装与使用
    python的paramiko模块的安装与使用
    Python中的getattr()函数详解
    Python中的getattr()函数详解
    Python模块学习——optparse
    Python模块学习——optparse
    Python模块学习——optparse
    pkg_resources----Entry Points为程序提供扩展点
    pkg_resources----Entry Points为程序提供扩展点
  • 原文地址:https://www.cnblogs.com/liuxgnu/p/3535513.html
Copyright © 2011-2022 走看看