CentOS 简单安装配置svn服务器

    技术2022-05-20  41

    CentOS 简单安装配置svn服务器

    之前的svn仓库都是头头们配置好,我就直接使用的,基本上就checkout,update,commit,偶尔show log找回以前的版本一下,今天我就自己简单配置一个svn服务器用一下,我准备已apache+svn的方式来进行安装,我的linux是CentOS 5.4版本的,默认并没有安装subversion的程序,所以先安装subversion的程序,在系统镜像光盘里面都有提供rpm安装包

    #rpm -ivh subversion-1.4.2-4.el5_3.1.i386.rpm 或者 yum install subversion

    安装好了即可。因为apache+svn的话要安装两个模块,

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

    LoadModule dav_svn_module     modules/mod_dav_svn.so LoadModule authz_svn_module   modules/mod_authz_svn.so

    第一个是用于管理svn,第二个是权限控制的。此处安装apache的时候默认并没有安装这两个模块,不过这两个模块的安装包也已经在光盘里面了

    #rpm -ivh mod_dav_svn-1.4.2-4.el5_3.1.i386.rpm 或者 yum install mod_dav_svn

    安装完此rpm包之后,那两个模块就已经安装好了,下面我们就要对dav_svn模块进行一定的配置了,我们web服务器的目录是 /var/www/html ,所以我们就按配置文件推荐的,在/var/www/ 下建立 repos 目录作为svn仓储的主目录。

    #mkdir /var/www/repos

    下面就要对 /etc/httpd/conf.d/subversion.conf进行配置了,当然,不同系统目录也是不同的。将其中的Location部分修改如下,注意其中注释部分不要去掉,如果去掉了则是要通过SSL方式来访问的,这个部分我下次 再进行配置。

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

    <Location /repos>    DAV svn    SVNParentPath /var/www/repos

       # Limit write permission to list of valid users.    #<LimitExcept GET PROPFIND OPTIONS REPORT>       # Require SSL connection for password protection.       # SSLRequireSSL

          AuthType Basic       AuthName "Authorization Realm"       AuthUserFile /var/www/repos/passwd       Require valid-user    #</LimitExcept> </Location>

    选项的释义比较简单,不懂的可以查看手册等。上述配置中我将用户验证文件设置了在repos下的passwd文件,那么我们现在就去创建这个文件。

    #cd /var/www/repos #htpasswd -c passwd test     //此处 -c表示新建passwd文件,后面test是用户名,表示添加test用户                               //文件建立后,下次添加用户无需 -c选项 此时系统会要求提示密码,输入密码即可。此时passwd中就存储了test用户的信息,我们还要对此文件进行修改,要在其中加入权限控制。示例如下:

    vi passwd 

    test:Id/c3Q6Mz

    [groups] Admin=test,test1 Develop=test2 [/] test=rw test1=rw @Develop=r

    其中groups表示组名=用户名,[/]表示仓库的根目录下的用户权限,此处test和test1具有读写权限,而@Develop表示该组成员的权限,此处是读权限。因为svn仓库的管理权限要交给apache,所以这里我们将此文件夹的属主交给apache

    #chown -R apache.apache /var/www/repos

    若有的用户的http.conf中User和Group都是daemon用户的,需要都改成apache,然后我们重启apache服务器

    #service httpd restart

    现在我们来新建我们的第一个仓库,

    #cd /var/www/repos #svnadmin create myrepos

    此时myrepos仓储就建立好了,我们可以通过http://localhost/repos/myrepos访问试试,会提示输入用户名密码,用我们创建的test用户即可,然后我们在本地就可以通过svn客户端进行各种操作了,如果提示没有commit权限的话,记得看看仓储的属主是否apache用户,ok,这次配置就到这里了,下次来配置ssl的访问。


    最新回复(0)