基于阿里云Ubuntu搭建SVN版本控制

tech2025-12-03  20

目录

前言步骤1:检查是否已经安装SVN步骤2:正式安装SVN步骤3:创建项目版本库步骤4:更改配置步骤5:启动SVN服务步骤6:远程访问 SVN 拉代码步骤7:开机自动启动SVN服务其他SVN命令参考来源后语

前言

你好,我是Dr.叶子,用心写最优美的博客,弹最好听的钢琴!

步骤1:检查是否已经安装SVN

1.查询版本命令: 如果出现版本信息,则表示已经安装

root@xxx:~# svn --version

2.卸载命令: 如果想重装也可以卸载

root@xxx:~# sudo apt-get remove --purge subversion

步骤2:正式安装SVN

1.安装命令: 安装中按提示输入“Y”键按回车即可

root@xxx:~# sudo apt-get install subversion

重要Tips: 如果apt-get命令出问题,执行以下命令更新

root@xxx:~# sudo apt-get update

步骤3:创建项目版本库

1.创建svn目录命令: 一般放根目录的 home 目录下

root@xxx:~# sudo mkdir /home/svn

2.创建repository目录命令:

root@xxx:~# sudo mkdir /home/svn/repository

3.赋予repository目录权限命令:

root@xxx:~# chmod 777 /home/svn/repository

4.正式创建版本库命令:

root@xxx:~# sudo svnadmin create /home/svn/repository

完成以上步骤后,查看repository文件下,如图所示:


步骤4:更改配置

1.进入repository下的 conf 目录:

root@xxx:~# cd /home/svn/repository/conf

2.修改 svnserve.conf 配置文件:

root@xxx:/home/svn/repository/conf# vim svnserve.conf

如下图所示,去掉前面注释即可:

anon-access = none 取消匿名访问 auth-access = write 控制经过验证允许访问库的用户的权限 authz-db = authz 指定当前库对应的用户权限配置文件 password-db = passwd 指定当前库所对应的用户配置文件

重要提醒: “#”号和空格都要删除干净

3.修改 passwd 配置文件: 添加账户与密码

root@xxx:/home/svn/repository/conf# vim passwd

如下图所示:

这一步配置用户名和密码,即“用户名 = 密码” ,记得“=”左右有一个空格。

4.修改 authz 配置文件: 为用户授权

root@xxx:/home/svn/repository/conf# vim authz

配置模式:先把用户分组,规定哪些是管理员,哪些是普通用户等等,再根据用户组进行权限的分配。

如下图所示:

首先,在 [groups]: 将用户分组,admin是管理员,dev是开发人员(多个用“,”逗号隔开); 其次,划分目录权限 [/]根目录,[/develop]其他目录: 将不同的目录赋予不同的权限,即指定的人才能看到;

” @admin ” 表示:admin 用户组; “ @admin = rw ” 表示:admin 用户组具有读、写的权限; “ * = r ” 表示:除了上述的用户组或者人员外其他都只有读的权限; “ * = ” 表示:除了上述的用户组或者人员外其他都没有权限看到;


步骤5:启动SVN服务

1.查看 阿里云服务器 的私有IP:

私有IP,私有IP,私有IP,重要事情说3次!!

2.开放端口,添加到实例安全组内: 如 3690 端口

手动添加实例,如上图

3.指定 IP 和 Port 启动命令:

root@xxx:~# svnserve -d -r /home/svn/repository --listen-host XXX.XXX.XXX.XXX --listen-port XXX

-d:表示在后台运行 ,-r:指定服务器的根目录 IP:私有IP Port :开放的端口(这里假定是3690)

步骤6:远程访问 SVN 拉代码

1.首先安装TortoiseSVN:

安装后,如上图,具体安装的步骤自行百度哦!

2.TortoiseSVN 连接登录远程SVN:

本地目标文件夹下,空白处右键,选择“版本库浏览器”

URL:svn://@公有IP:开放的端口/repository 这里连接的IP是阿里云服务器的公有IP, 公有IP,公有IP,公有IP,重要事情说3次!!

3.登录SVN:

弹出输入帐号密码窗口,也就是步骤4中 的passwd配置的帐号密码,登录即可。

4.登录成功如下图: develop文件是我自己本地创的哦,然后自己上传的!


步骤7:开机自动启动SVN服务

1.在 init.d 目录下新建 svnd.sh 脚本文件:

root@xxx:~# cd /etc/init.d root@xxx:/etc/init.d# vim svnd.sh

输入svnd.sh内容如下(/home/svn/repository 为svn仓库目录):

#!/bin/bash ### BEGIN INIT INFO # Provides: svnd # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start SVN # Description: Start SVN ### END INIT INFO #svnserve startup svnserve -d -r /home/svn/repository

保存退出:按ESC,再输入":wq",最后回车。

2.修改 svnd.sh 权限:

root@xxx:/etc/init.d# chmod 777 svnd.sh

3.更新:

root@xxx:/etc/init.d# update-rc.d svnd.sh defaults

其他SVN命令

1.查看 SVN 进程:

# ps -ef|grep svn|grep -v grep root 15526 1 0 00:41 ? 00:00:00 svnserve -d -r /home/svn/repository --listen-host xxx.xxx.xxx.xxx --listen-port 3690

15526 为进程PID号

2.删除 SVN 进程:

# killall svnserve //停止全部svn服务 //或者 # kill -9 15526 //停止指定进程

二选一

参考来源

【1】主要参考: 阿里云Ubuntu服务器搭建SVN. 【2】重要参考: Linux环境下SVN的安装,创建用户以及对应用户的权限设置. 【3】命令参考: Linux系统中svn服务是否启动,重启及设置开机启动.


后语

原创内容,转载说明出处哦!以上内容本人整理,亲测可行,如有任何问题,敬请指正,谢谢~~点赞、收藏、也欢迎打赏,我弹钢琴你听呀~~哈哈!
最新回复(0)