Linux下安装SVN服务器

因为最近在Linux下搭建服务器,然后在看了很多文章后还是踩了坑,没有吐槽前辈们贡献的意思,只是重新将大家的知识整理一下。避免大家浪费更多的时间去搜索资料。

因为自己是个菜鸟,所以写的比较详细一点。

1.首先自行百度在虚拟机下安装centos8.0
2.在linux命令行安装subversion

yum install subversion

3.此命令会自动安装SVN服务器相关服务和依赖,安装完成会自动停止命令运行
使用如下命令行查看SVN安装位置,使用如下命令:

rpm -ql subversion

4.建立SVN的目录

mkdir /opt/svn/svnrepo/xxxx

5.建立SVN版本库

svnadmin create /opt/svn/svnrepos/xxxx(创建版本库为xxxx的版本库)

6.创建成功后,进入目录

cd /opt/svn/svnrepos/Echo

进入目录后,可以查看到如下文件信息:

ll

Linux下安装SVN服务器

authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件

  1. 修改配置(关键)
    进入到conf目录下,输入如下命令:
    #1 修改authz文件信息,设置用户的读写权限,如下图所示

vi authz

Linux下安装SVN服务器
[groups]
Manager=root
Develop=dev1,dev2
Visitor=user1,user2
[/]
root=rw
@Develop=rw
@Visitor=r
*=

groups后面添加你的用户组
格式
[用户组]=[用户]

[/] 后面追加的是版本库根目录下的访问权限
[用户]=rw
//表示用户具有可读可写权限
@[用户组]=rw
//表示用户组具有可读可写权限
在文件末尾追加root,dev1和user1的用户权限,:wq保存退出。
*=
//文档中写 using the ‘*’ wildcast, 空字符表示其他的用户都不具备访问权限。

#2 然后配置passwd
格式
[用户名]=[密码]
e.g.
root=toor
Linux下安装SVN服务器
#3 svnserve.conf的配置
这个很多文章有不同的说法,如果你需要配置的authz生效,那么你就必须打开注释,很多文章说authz注释打开后会导致校验失败,应该是authz的内容没有写对,和注释不注释这一行没有关系
anon-access = read 匿名访问的权限
auth-access = write 授权用户的权限
password-db = passwd 密码文件的路径
authz-db = authz 访问权限文件的路径
#realm = My First Repository 注释掉
#groups-db=groups 注释

启动svnserve进程

svnserve -d -r /opt/svn/svnrepos/Echo

查看进程是否启动成功

ps -ef|grep svnserve

Linux下安装SVN服务器

尝试访问之前先checkout一下

svn checkout svn://192.168.11.129(serve ip地址)

Linux下安装SVN服务器

然后用TortoiseSVN客户端访问,在任意文件夹下面点SVN Checkout,输入svn://ip 不需要输入端口号,默认的就是3690,如果连不上,关掉linux的防火墙。

Linux下安装SVN服务器

然后可以用user1和user2去submit文件,是无法验证通过的。root和dev1和dev2可以。