Linux(Centos7)下搭建svn服务器

1、检查系统是否已经安装如果安装就卸载

#检查版本:
svnserve --version
#卸载:
yum remove subversion

2、安装

yum install subversion

3、创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

mkdir /var/svn

4、创建svn版本库(demo为你的版本库名称,可自定义)

用svn管理员身份创建一个仓库:

svnadmin create /var/svn/demo

5、创建成功后,进入demo目录下

cd /var/svn/demo

6、进入demo目录查看文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立

1615279688(1).jpg

7、在创建好的版本库目录下(demo),进入conf目录,查看目录文件包好以下文件

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

7.1编辑 authz 文件(注意:[/]也是必须的),添加以下配置,格式:wmy(账号) = rw(r读权限,w写权限)
image.png
7.2编辑password文件,直接在[users] 下写入以下配置。格式:账号 = 密码
image.png
7.3.编辑 svnserve.conf 文件(注意:配置的前面不能有空格,一定要顶格写,另外要注意是realm一定是你的代码库的根目录,最初使用mkdir命令创建的目录,而不是确切版本库目录)
image.png
anon-access = none:表示禁止匿名用户访问。
auth-access = write:表示授权用户拥有读写权限。
password-db = passswd:指定用户名口令文件,即 passwd 文件。
authz-db = authz:指定权限配置文件,即 authz 文件。
realm = /var/svn:指定svn根目录,即 /var/svn 目录

8.防火墙开启(这里以iptable防火墻为例)

centos7默认的防火墙是firewalld防火墙,不是使用iptables,因此需要先关闭firewalld服务
关闭firewalld:
systemctl stop firewalld
systemctl mask firewalld
使用iptables服务:
 #开放443端口(HTTPS)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT 
#添加svn配置信息
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
#保存上述规则
service iptables save
#开启服务
systemctl restart iptables.service

9.启动svn服务器

#注意这里的目录是根目录。不要填写到具体的版本库
svnserve -d -r /var/svn
#启动成功后,可用ps -aux查看服务启动是否成功
ps -ef | grep 'svn'
#可以看到服务启动成功,想要重新启动则使用以下命令关闭
kill -9 pid
#再重新使用svnserve命令启动
svnserve -d -r /var/svn

10.客户端访问svn服务器

在浏览器输入地址(iP地址为你linux的ip,3690为svn默认端口,路径则为demo,demo为前文创建的版本库名称,/var/svn是根目录因此在使用时省略)
svn://ip地址:3690/demo
或者在linux服务器输入命令测试
svn co svn://127.0.0.1:3690/demo

11.是云服务器的,一定要检查服务器的安全组规则!!!

以下以腾讯云为例,阿里云的看对应的具体规则:
image.png
最后提示一下:安装宝塔的也在在宝塔放行好对应的端口,一般安装好后访问服务器链接超时或是没有反应,大多都是服务器端口的问题,这部分好要好好检查
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容