在CentOS上启动SVN服务,需要按照以下步骤进行操作,以下是详细的指南,包括安装、配置和启动SVN服务的全过程:
安装SVN服务器
1、检查是否已经安装了SVN
rpm qa | grep subversion
如果已安装,会显示svn包及版本号信息,如果没有安装,继续下一步。
2、卸载旧版本(如果有)
yum remove subversion
3、安装subversion
yum install y subversion
4、验证安装
svnserve version
出现类似以下版本号等信息说明安装成功:
svnserve, version 1.7.14 (r1542130) compiled Apr 11 2018 02:40:28
创建SVN仓库
1、创建版本库根目录
mkdir /var/svn/svnrepos
2、创建分支目录
mkdir /var/svn/svnrepos/trunk mkdir /var/svn/svnrepos/branches mkdir /var/svn/svnrepos/tags
3、创建版本库
svnadmin create /var/svn/svnrepos/trunk/demo
配置SVN仓库权限
1、编辑账号密码文件(passwd)
vi /var/svn/svnrepos/trunk/demo/conf/passwd
添加如下内容:
[users] admin1 = admin1secret dev1 = dev1secret dev2 = dev2secret pro1 = pro1secret pro2 = pro2secret
2、编辑权限控制文件(authz)
vi /var/svn/svnrepos/trunk/demo/conf/authz
添加如下内容:
[groups] #管理员组 admin = admin1 #开发组 dev = dev1,dev2 #产品组 pro = pro1,pro2 [/] @admin = rw @dev = rw @pro = rw
3、编辑SVN服务配置文件(svnserve.conf)
vi /var/svn/svnrepos/trunk/demo/conf/svnserve.conf
修改以下内容:
[general] anonaccess = none authaccess = write passworddb = passwd authzdb = authz realm = My First Repository
启动SVN服务
1、启动SVN服务
svnserve d r /var/svn/svnrepos
2、查看进程,检验是否启动成功
ps ef | grep svn
3、设置开机自启动
systemctl enable svnserve.service
4、启动并使服务生效
systemctl start svnserve.service
5、查看服务当前状态
systemctl status svnserve.service
配置防火墙
1、开放3690端口
sudo firewallcmd permanent addport=3690/tcp sudo firewallcmd reload
访问SVN仓库
使用SVN客户端可以访问你的仓库,例如使用TortoiseSVN连接:
svn://项目ip:3690/trunk/demo
替换项目ip
为你的服务器IP地址,trunk/demo
为你之前创建的仓库名。
| 步骤 | 命令 | 描述 |
||||
| 检查是否已安装SVN |rpm qa | grep subversion
| 检查系统中是否已经安装了SVN |
| 卸载旧版本SVN |yum remove subversion
| 卸载系统中可能存在的旧版本SVN |
| 安装SVN |yum install y subversion
| 安装最新版本的SVN |
| 验证安装 |svnserve version
| 确认SVN安装成功 |
| 创建版本库根目录 |mkdir /var/svn/svnrepos
| 创建存放所有版本库的根目录 |
| 创建分支目录 |mkdir /var/svn/svnrepos/trunk
<br>mkdir /var/svn/svnrepos/branches
<br>mkdir /var/svn/svnrepos/tags
| 创建trunk、branches和tags目录 |
| 创建版本库 |svnadmin create /var/svn/svnrepos/trunk/demo
| 创建具体的版本库 |
| 编辑账号密码文件 |vi /var/svn/svnrepos/trunk/demo/conf/passwd
| 设置用户和密码 |
| 编辑权限控制文件 |vi /var/svn/svnrepos/trunk/demo/conf/authz
| 设置用户权限 |
| 编辑SVN服务配置文件 |vi /var/svn/svnrepos/trunk/demo/conf/svnserve.conf
| 配置SVN服务相关参数 |
| 启动SVN服务 |svnserve d r /var/svn/svnrepos
| 启动SVN服务 |
| 查看进程 |ps ef | grep svn
| 检查SVN服务是否启动成功 |
| 设置开机自启动 |systemctl enable svnserve.service
| 确保SVN服务在系统重启后自动启动 |
| 启动并使服务生效 |systemctl start svnserve.service
| 启动SVN服务并使其生效 |
| 查看服务当前状态 |systemctl status svnserve.service
| 查看SVN服务的当前运行状态 |
| 开放3690端口 |sudo firewallcmd permanent addport=3690/tcp
<br>sudo firewallcmd reload
| 确保防火墙允许SVN服务的默认端口3690通过 |
| 访问SVN仓库 |svn://项目ip:3690/trunk/demo
| 使用SVN客户端访问仓库 |
常见问题解答(FAQs)
Q1: 如果启动SVN服务时提示“无法绑定端口”?
A1: 这是由于端口3690已被其他服务占用,解决方法如下:
1、查找占用端口的进程:
netstat tuln | grep 3690
2、终止占用端口的进程:假设PID为1234:
kill 9 1234
3、重新启动SVN服务:
svnserve d r /var/svn/svnrepos
Q2: 如果忘记了SVN用户的密码,如何重置?
A2: 你可以通过编辑passwd
文件来重置密码,具体步骤如下:
1、打开passwd文件:
vi /var/svn/svnrepos/trunk/demo/conf/passwd
2、找到对应的用户并修改其密码:例如将user1
的密码改为newpassword
:
[users] user1 = newpassword
3、保存并退出编辑器:按Esc
键后输入:wq
并回车。