因为最近在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
authz:负责账号权限的管理,控制账号是否读写权限 passwd:负责账号和密码的用户名单管理 svnserve.conf:svn服务器配置文件
修改配置(关键) 进入到conf目录下,输入如下命令: #1 修改authz文件信息,设置用户的读写权限,如下图所示vi authz
[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 #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
尝试访问之前先checkout一下
svn checkout svn://192.168.11.129(serve ip地址)
然后用TortoiseSVN客户端访问,在任意文件夹下面点SVN Checkout,输入svn://ip 不需要输入端口号,默认的就是3690,如果连不上,关掉linux的防火墙。
然后可以用user1和user2去submit文件,是无法验证通过的。root和dev1和dev2可以。