centos之subversion(svn)的安装
写在前面
本文记录的是基于 CentOS Linux release 7.6.1810
版本的最小系统安装的subversion的过程,本人比较喜欢使用vim编辑器,所以全程使用的文本编辑器为vim,可通过yum install vim
进行安装。
安装过程
1、通过yum 命令进行安装。
yum install subversion
2、可以通过以下命令查看安装位置。
rpm -ql subversion
3、创建几个目录作为版本库存放目录,本文创建两个目录,分别为repo1、repo2
。
mkdir -p /home/svn/repo/repo1
mkdir -p /home/svn/repo/repo2
4、将前面创建的两个目录设置成版本库
svnadmin create /home/svn/repo/repo1
svnadmin create /home/svn/repo/repo2
将目录设置为版本库之后,目录中会生成版本库相关文件和目录,如下
其中conf目录下存放的是用户、权限等相关的配置文件,后面对项目进行配置的时候会用到。
5、为了统一管理所有用户以及项目的权限,从生成的版本库中拷贝一份配置文件放置到svn
的根目录下面
cp /home/svn/repo/repo1/conf /home/svn/repo/conf
6、进入配置文件所在目录
cd /home/svn/repo/conf
配置svn
用户及密码:
vim passwd
格式为:用户名=用户密码
添加下面内容
[users]
admin = admin
lixingyun = lixingyun123
zhangzifan= zhangzifan123
custom = custom123
保存退出
:wq
7、配置用户的项目访问权限:
vim authz
添加下面内容,#号后面为文件注释
# [groups]标签表示对人员进行分组,然后可以对整个分组进行权限配置
#格式为 分组名称=分组成员用户1,分组成员用户2,分组成员用户3
[groups]
admin = admin
repo1 = lixingyun,zhangzifan #多个用户时用逗号分隔
custom = custom
#表示对svn根目录进行权限分配,权限分为:读写权限(rw),只读权限(r)
[/]
@admin = rw #@admin表示给admin分组分配读写权限
#表示对项目repo1进行权限分配
[repo1:/]
@repo1 = rw #@repo1表示给repo1分组分配读写权限
#表示对项目repo2进行权限分配
[repo2:/]
@custom = r #@custom表示给custom分组分配只读权限
保存
:wq
8、配置svnserve:
vim svnserve.conf
释放出下面项的注释,进行配置
anon-access = none # 表示禁止匿名用户访问,可选值none,read,write
auth-access = write # 表示授权用户拥有读写权限
password-db = passwd # 指定用户名口令文件,即passwd文件,可配绝对路径
authz-db = authz # 指定权限配置文件,即authz文件,可配绝对路径
realm = svn # SVN项目的认证域,会在认证提示里显示
保存
:wq
9、配置SVN启动时的默认根目录
vim /etc/sysconfig/svnserve
修改下面内容
OPTIONS="-r /home/svn/repo" # 默认OPTIONS="-r /var/svn"
保存
:wq
10、为svn开放防火墙端口,默认使用svn协议访问时使用的端口号是3690
firewall-cmd --zone=public --add-port=3690/tcp --permanent
配置完之后重启防火墙
firewall-cmd --reload
查看3690端口是否已经被开放
firewall-cmd --zone=public --list-ports
11、启动svn服务器
svnserve -d -r /home/svn/repo/ --config-file=/home/svn/repo/conf/svnserve.conf
其中参数意义:-d 守护进程启动,-r 指定版本库目录, --config-file 指定配置文件
11、 最后,通过SVN客户端进行checkout测试,通过默认的svn协议进行检出,地址如下:
svn://ip:3690/repo1
svn://ip:3690/repo2
12、成功!