CentOS下安装SVN,配置版本库,添加新用户
系统环境:CentOS-7
安装方式:yum install
安装软件:系统自动下载SVN软件
一、安装SVN
1、检查是否安装了低版本的SVN
[root@localhost /]# rpm -qa subversion
2、卸载旧的SVN
[root@localhost modules]# yum remove subversion
3、安装
[root@localhost ~]# yum install subversion[root@localhost ~]# svnserve --versionsvnserve,版本 1.7.14 (r1542130) 编译于 Apr 11 2018,02:40:28版权所有 (C) 2013 Apache 软件基金会。 此软件包含了许多人的贡献,请查看文件 NOTICE 以获得更多信息。Subversion 是开放源代码软件,请参阅 http://subversion.apache.org/ 站点。 下列版本库后端(FS) 模块可用: * fs_base : 模块只能操作BDB版本库。 * fs_fs : 模块与文本文件(FSFS)版本库一起工作。 Cyrus SASL 认证可用。
二、创建版本库
subversion默认会把/var/svn作为数据的根目录。我们在其下面创建版本库
[root@localhost ~]# mkdir -p /var/svn
创建学员要用得版本库
[root@localhost ~]# svnadmin create /var/svn/student
执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。后期要删除的话,可以用你比较删除的rm
[root@localhost ~]# rm -rf /var/svn/student
三、配置SVN相关文件
进入上面生成的文件夹conf下,进行配置
[root@localhost ~] cd /opt/svn/student/conf
authz
文件是权限控制文件passwd
是帐号密码文件svnserve.conf
SVN服务配置文件
1、配置主配置文件
每个版本库创建之后都会生成svnserve.conf主要配置文件
[root@localhost ~] vim svnserve.conf
打开配置文件对应的注释也可以,或是直接粘贴下面代码:
[general]anon-access = noneauth-access = writepassword-db = passwdauthz-db = authzrealm = /var/svn/student
配置项 | 配置说明 |
---|---|
anon-access = none | 匿名用户没有访问权限 |
auth-access = write | 授权用户可写 |
password-db = passwd | 指定文件作为账号密码文件 |
authz-db = authz | 指定权限配置文件名 |
realm = wangwa | 认证空间名,版本库所在目录 |
2、创建SVN的使用账户
编辑账户密码文件 [root@localhost ~] vim passwd
按照下图方式添加账户和对应的密码信息
[users]# 账户 = 密码# sally = sallyssecretadmin = adminjack = jacktiechui = tiechui
3、配置权限控制authz
[root@localhost ~] vim authz
admin、jack账户属于admin组,tiechui属于test组。[student:/]
表示根目录(/var/svn/student),student: 对应前面配置的realm = student。当然r为读,w为写权限
[groups] admin = admin,jacktest = tiechui [student:/] @admin = rw [student:/test] @test = rw
四、启动,查看和停止SVN服务
1、启动SVN服务
[root@localhost ~] svnserve -d -r /var/svn
-d
: 守护进程,即服务在后台运行-r
: 指定svn数据根目录
2、查看SVN服务
[root@localhost conf]# ps aux|grep svnserveroot 2029 0.0 0.1 185116 1248 ? Ss 16:27 0:00 svnserve -d -r /var/svn root 2448 0.0 0.0 112728 992 pts/1 S+ 17:11 0:00 grep --color=auto svnserve
3、停止SVN服务
[root@localhost conf]# killall svnserve //停止
或者使用或 kill -9 进程id
4、关闭防火墙或开启端口
首先要明确CentOS7的默认防火墙为firewallD。subversion的默认端口为3690
[root@localhost conf]# systemctl stop firewalld
或者在防火墙里永久开启3690端口
[root@localhost conf]# firewall-cmd --zone=public --list-ports8811/tcp [root@localhost conf]# firewall-cmd --zone=public --add-port=3690/tcp --permanentsuccess [root@localhost conf]# firewall-cmd --reloadsuccess [root@localhost conf]# firewall-cmd --zone=public --list-ports8811/tcp 3690/tcp [root@localhost conf]#
5、设置开机启动服务
注意:根目录必须是/var/svn
[root@localhost conf]# systemctl enable svnserve.service
五、服务器检出SVN
可利用系统的计划任务来定时检出代码
[root@localhost conf] svn checkout svn://192.168.223.129/student
发表评论 取消回复