当前位置:首页 > 行业动态 > 正文

如何在CentOS上设置SVN服务器?

CentOS 7.9中部署SVN服务器涉及安装软件、创建仓库、配置权限和启动服务等步骤。

搭建CentOS SVN服务器

如何在CentOS上设置SVN服务器?  第1张

搭建一个CentOS SVN(Apache Subversion)服务器可以帮助你进行版本控制,以便在团队协作中更加高效地管理代码、文档等项目资源,以下是详细的步骤指南,帮助你在CentOS上搭建SVN服务器。

一、安装SVN

1、检查是否安装了低版本的SVN

   rpm -qa | grep subversion

2、卸载旧版本SVN(如果有):

   yum remove subversion

3、安装SVN

   yum install subversion

4、验证安装是否成功

   svnserve --version

如果显示类似subversion 1.x.y的信息,说明安装成功。

二、创建SVN仓库目录

选择在/usr/local/software/data路径下创建版本库目录:

cd /usr/local/software/data
mkdir -p svn/svnrepos

三、创建SVN版本库

在上述路径基础上,创建版本库:

cd /usr/local/software/data/svn/svnrepos
svnadmin create myrepo

myrepo是你预期的版本库名称,可以自定义。

四、配置SVN服务

进入版本库的conf目录,修改配置文件:

cd /usr/local/software/data/svn/svnrepos/myrepo/conf

1. 修改authz文件(负责账号权限的管理):

在最后添加以下内容:

[groups]
用户组示例
admin = frank, maggie, benny
[/]
= rw

2. 修改passwd文件(负责账号和密码的用户名单管理):

在最后添加用户密码:

[users]
frank = 123456
maggie = 654321
benny = secretpassword

3. 修改svnserve.conf文件(SVN服务器配置文件):

去掉相应行前的注释符号#并按需调整:

[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = mysvn

以下这行一定不要放开,否则远程连接不会弹出输入用户密码的提示,而是一直显示认证失败:

authz-db = authz

五、启动SVN服务

执行以下命令启动SVN服务:

svnserve -d -r /usr/local/software/data/svn/svnrepos

参数-d表示以守护进程方式运行,-r表示指定版本库根目录。

六、防火墙设置

开启防火墙3690端口:

firewall-cmd --zone=public --add-port=3690/tcp --permanent
firewall-cmd --reload

七、客户端连接测试

在Windows客户端,使用TortoiseSVN工具进行连接测试:

svn://<你的服务器IP>:3690/myrepo

输入用户名和密码即可访问。

八、常见问题解答(FAQs)

Q1:如何修改已存在的用户密码?

A1:可以通过编辑passwd文件来修改用户密码,格式为“用户名 = 新密码”,要修改frank用户的密码,可以在passwd文件中将frank = 123456改为frank = newpassword。

Q2:如何设置开机自启动SVN服务?

A2:可以创建一个systemd服务单元文件来实现开机自启动,创建服务文件/etc/systemd/system/svnserve.service:

[Unit]
Description=Subversion server process
After=network.target
[Service]
ExecStart=/usr/bin/svnserve -d -r /usr/local/software/data/svn/svnrepos
User=root
Restart=always
[Install]
WantedBy=multi-user.target

启用并启动服务:

systemctl enable svnserve
systemctl start svnserve

小伙伴们,上文介绍了“centos svn 服务器”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

0