Centos 7 安装和配置SVN

  一、Http在线安装  

1.1 直接使用yum安装httpd

[root@svnback172 ~]#yum install -y httpd

1.2 启动httpd程序

[root@svnback172 ~]#systemctl start httpd.service

1.3 设置自动启动

[root@svnback172 ~]#systemctl enable httpd.service

1.4 在浏览器输入http://ip  地址后,确认apache服务已启动

  二、SVN在线安装  

2.1 直接使用yum安装svn

[root@svnback172 ~]#yum -y install subversion mod_dav_svn

  三、SVN库建立  

3.1 创建svn文件夹,统一管理

[root@svnback172 ~]#mkdir /data/svn && cd /data/svn

3.2 创建svn库,‘sample’是库的名字

[root@svnback172 ~]#svnadmin create sample

3.3 进入svn库

[root@svnback172 ~]#cd sample

3.4 创建存储目录

[root@svnback172 ~]#mkdir trunk
[root@svnback172 ~]#mkdir tags
[root@svnback172 ~]#mkdir branches

    trunk:主分支,是日常开发进行的地方

    tags:是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的

    branches:这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档

3.5 格式化svn目录

[root@svnback172 ~]#svn mkdir file:///data/svn/sample/trunk -m "create"
[root@svnback172 ~]#svn mkdir file:///data/svn/sample/tags -m "create"
[root@svnback172 ~]#svn mkdir file:///data/svn/sample/branches -m "create"

  四、SVN权限控制  

4.1 手动创建SVN库权限配置文件

[root@svnback172 ~]#vim /etc/httpd/conf.d/svn.conf
#配置SVN库的读写权限管理控制功能
<Location /svn/sample>
DAV svn
SVNPath /data/svn/sample
AuthType Basic
AuthName "SVN sample"
AuthUserFile /data/svn/sample/.htpasswd
Require valid-user
AuthzSVNAccessFile /data/svn/sample/conf/authz
</Location>

参数说明:

    <Location  访问地址>:SVN库的http访问地址

    SVNPath:SVN库的本地路径

    AuthType:基于basic的认证方式,就是简单的账号密码认证方式

    AuthName:访问SVN库时的提示信息

    AuthUserFile:访问SVN库的账号密码的文件存放路径

    AuthzSVNAccessFile:控制SVN库的读写权限的文件存放路径

以上‘sample’请修改对应的SVN库名称,路径也需要按照实际情况修改。

4.2 禁用svn库匿名访问

[root@svnback172 ~]#vim /data/svn/sample/conf/svnserve.conf
anon-access = none

#修改 anon-access参数值

4.3 第一次创建.htpasswd文件,并添加SVN用户

[root@svnback172 ~]#htpasswd -cb /data/svn/sample/.htpasswd user user_pass

4.4 后续追加用户

[root@svnback172 ~]#htpasswd -b /data/svn/sample/.htpasswd user user_pass

请明白参数‘-cb’和‘-b’的区别,使用‘-c’参数,会覆盖之前创建的用户信息,所以后续追加用户,千万不能加上这个参数,切记切记!!!

4.5 修改AuthzSVNAccessFile配置文件,实现SVN库的读写权限控制

[root@svnback172 ~]#vim /data/svn/sample/conf/authz
[groups]	
managers=manager1,manager2         
#定义群组 managers,包含‘manager1’和‘manager2’两个用户

[/]                                #定义整个SVN库的权限
@managers=rw                       #定义群组 managers 有读写权限
manager3=r                         #定义 manager3 只读权限
*=                                 #以上没有定义的用户都没有任何权限

[/trunk/Project]                   #定义Project目录的权限
@user2 = rw
@viewer2 = r

  五、SVN重启和访问  

5.1 更改SVN库的属主属组

[root@svnback172 ~]#chown -R apache:apache /data/svn/sample

5.2 重启httpd服务

[root@svnback172 ~]#systemctl restart httpd.service

5.3 至此完成svn配置,可在网页输入http://ip/svn/sample

Jimmy's Blog ,版权所有丨如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:https://www.xjimmy.com/centos-7-install-svn.html

Leave a Comment