目录
前言
你好,我是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服务是否启动,重启及设置开机启动.
后语
- 原创内容,转载说明出处哦!
- 以上内容本人整理,亲测可行,如有任何问题,敬请指正,谢谢~~
- 点赞、收藏、也欢迎打赏,我弹钢琴你听呀~~哈哈!