美文网首页
centos6.5 +SVN

centos6.5 +SVN

作者: 草中人 | 来源:发表于2017-03-01 14:51 被阅读0次

    最近在研究jenkins,因在研究阶段,所有不敢用公司的svn,所以只好自己动手操作了,对于打包工具来说,我是小白中的小白,现在小白就给你讲解一下亲身经过的svn安装过程。

    创建Centos6.5虚拟机并连外网,并配置yum网络源

    SVN

    一、安装svn

     yum install subversion    

    二、基本的SVN服务器配置

    1.新建一个目录用于存储SVN所有文件   mkdir /home/svn

    2.新建一个版本仓库    svnadmin create /home/svn/project

       新建第二个版本仓库  svnadmin create /home/svn/project1

    在每个版本仓库里生成四个目录,conf,db,hooks与locks,其中conf里面的文件含义:

            authz文件是权限控制文件

            passwd是账号密码文件

            svnserve.conf 是SVN服务配置文件

    db,hooks,locks后期补充说明

    3.在某仓库目录里将conf目录拷贝至/home/svn目录,应该是方便后期每个用户都可以访问不同的仓库。

    每个仓库下的conf目录里只保留svnserve.conf,authz与passwd删除。

    3.添加用户

    要添加SVN用户非常简单,只需在/home/svn/conf/passowrd文件中[users]下用户名及密码

    username=password 格式的内容即可,我添加了

    添加用户

    4.修改用户访问策略 /home/svn/conf/authz

                              [project:/] 

                               rln=rw

                               sjz=rw

    5.修改/home/svn/conf/svnserve.conf文件,让用户和策略配置升效.

    svnserve.conf内容如下:

    [general]       

    anon-access = none

    auth-access = write  #授权用户可写

    password-db = /home/svn/conf/passwd    #(这个可以是绝对地址 也可以是相对文件地址,原因是 可以多个代码仓库共享同一个密码设定)

    authz-db = /home/svn/conf/authz  

    注:[general]里的内容行开头不能有空格,否则报错,我就吃亏这儿了

    6.修改/home/svn/仓库/conf/svnserve.conf文件,以project为例.

    svnserve.conf内容如下:

    [general]

    anon-access = none

    auth-access = write  #授权用户可写

    password-db = /home/svn/conf/passwd    #(这个可以是绝对地址 也可以是相对文件地址,原因是 可以多个代码仓库共享同一个密码设定)

    authz-db = /home/svn/conf/authz

    第6步不知道是否保留,反正我配置了

    7.启动服务/停止服务

    svnserve -d -r /home/svn        #启动服务

    ps -ef|grep svnserve   #查找svnserve进程号使用kill -9 杀掉,即可停止服务

    8.测试svn服务

    现在就配置好了,那咱们提交一个文件测试一下吧

    提交也不是哪个位置都可以,需要进入之前创建的临时目录/home/svn/project/conf/project/server,在此目录随便创建一个文件,执行svn add 与svn commit即可,最后会提示提交后的版本为n(n代表版本号)

    提交某版本

    若想使用http访问,则需要进行以下配置

    三,配置SVN服务器的HTTP支持

    1,转换SVN服务器的密码

    由于SVN服务器的密码是明文的,HTTP服务器不与支持,所以需要转换成HTTP支持的格式。.将/home/svn/conf/passwd备份,在命令行中执行以下

    vim passwd #清空文件

    htpasswd -c passwd rln     #会让输入访用户的密码

    htpasswd  passwd szj     #第二次以后不必添加-c,同样输入密码

    现在目录下会多一个passwd文件,则必须在该文件顶部添加[users]。

    注:添加完用户后,都要添加[users],若下次新增用户了,则需要删除顶部的[users],再htpasswd 文件名 用户名格式添加用户,然后再添加[users]。

    2,修改httpd.conf,添加关于SVN服务器的内容,在此步之前需要安装 mod_dav_svn,否则在启动httpd服务时报DAV错误,yum install mod_dav_svn.

    mod_dav_svn,它是Subversion与Apache之间的接口(通过它,Apache就可以访问版本库,可以让客户端也使用HTTP的扩展协议 WebDAV/DeltaV进行访问)

    编辑/etc/httpd/conf.d/subversion.conf,在最后添加如下信息:

    <Location /project>

    DAV svn

    SVNPath /home/svn/project/

    AuthType Basic

    AuthName "svn for project"

    AuthUserFile /home/svn/conf/webpasswd

    AuthzSVNAccessFile /home/svn/conf/authz

    Satisfy all

    Require valid-user

    </Location>

    在/etc/httd/conf/httpd.conf文件中更改

     Listen 9999      #默认是80

     ServerNmae localhost:9999

    3,启动HTTPD服务器

    # service httpd restart

    Stopping httpd:                                            [FAILED]

    Starting httpd:                                            [  OK  ]

    四、此过程遇到的问题及解决方案

    1、通过svn从从客户端提交代码时出现

    svn: Can't open file '/home/svn/project/db/txn-current-lock': Permission denied

    最直接的办法是给它权限即用  sudo chmod 777 /home/svn/project 即可解决问题

    2、svnserve -d -r /home/svn在启动hhtpd时出现:svnserve: 不能绑定服务器套接字: 地址已在使用

    说明该进程正在使用可以用命令 ps -aux 查看进程

    用命令kill -9 +进程标识号来强行终止进程即可解决

    3.启动服务时报以下错误

    正在启动 httpd:httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.152.128 for ServerName

    请更改

    # vi httpd.conf

          #ServerName www.example.com:80

           ServerName localhost:80       #端口号需要设置你更改的值,默认是80

    4.浏览器用户登录后,报无权限 

    在/etc/http/conf/httpd.conf 文件中 Section 2: 'Main' server configuration部分中的 Alias部分添加以下

    Alias /svn/ "/home/svn/"    #必须有最后的/

    Options Indexes MultiViews FollowSymLinks

    AllowOverride all

    Order allow,deny

    Allow from all

    重启服务即可

    5.TortoiseSVN 使用http访问时报“zd URL 'http://IP:端口号/访问目录'检测到循环重定向”,目前正在解决中

    6.权限介绍记录

    摘自网络

    五、用浏览器访问http://192.168.X.X/project测试

    相关文章

      网友评论

          本文标题:centos6.5 +SVN

          本文链接:https://www.haomeiwen.com/subject/zenqgttx.html