共计 2742 个字符,预计需要花费 7 分钟才能阅读完成。
基于腾讯 CentOS 7 云服务器搭建 SVN 版本控制库
最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费 svn 托管服务器的服务,但是所给的免费空间实在太小了。本来我们在学校的实验室搭建了一个本地的服务器,但是只能是内网登陆,考虑到一个小伙伴会在 78 月左右就出国留学,不是内网无法登陆,而且那台主机将用来搭建集群。此时想到了我之前申请的腾讯云服务器,遂在腾讯云上基于 CentOS 7 搭建了 SVN。具体过程如下,如有不对,请大家指正!
1. 第一步安装 svn 服务器端软件,使用的命令有
yum install subversion
安装完之后,可以输入:
svnserve -version
查看目前 svn 版本,查询到即为进入第二步
2. 创建 svn 版本库的目录
mkdir -p var/svn/fuck
- p 参数:加了系统将自动建立好那些尚不存在的目录, 即一次可以建立多个目录
3. 创建版本库
svnadmin create /var/svn/fuck
执行命令后,svn 会在 /var/svn/fuck 生成如下文件:
其中 conf 文件夹下有重要的文件为以下几个:
svnserve.conf //svn 服务配置文件
authz // 权限控制配置文件
passwd // 用户名口令文件
4. 配置 svnserve.conf 文件
在 [general] 里面把以下配置前的 #号删去并根据需要作出以下修改:vi /var/svn/fuck/conf/senserve.conf
[general]
// 匿名访问的权限,可以是 read、write、none,默认为 read,在此因为我要建立我团队的私人版本库,故我设置为 none
anon-access=none
// 使授权用户有写权限,参数也是如上 3 个
auth-access=write
// 使用哪个文件作为账号文件,在此指定在 conf 文件里面的另外一个文件 passwd
password-db=passwd
// 使用哪个文件作为权限文件,在此指定在 conf 文件里面的另外一个文件 authz
authz-db=authz
// 认证命名空间,说白了就是版本库的所在目录
realm=/var/svn/fuck
具体操作如下:
修改完之后按 Esc 键后,按 Shift 连续按 Z 键进行保存(对 liunx 新手来说提醒一下)。
5. 修改权限控制配置文件 antuz:
vi /var/svn/fuck/conf/authz
在 [groups] 中添加:
[groups]
// 用户组
Fuck = kwongtai,dada // 用户组所对应的用户
// 因为只有一个版本库,故使用[/]
[/] // 库目录权限
@admin = rw // 用户组权限
* = // 非用户组权限,这里设置除了用户组都对版本库没有任何权限
6. 修改用户名口令文件配置 passwd
vi /var/svn/fuck/conf/passwd
7. 启动 svn 版本库
svnserve -d -r /var/svn/fuck
使用 ps aux | grep svn
查看是否已经启动了 svn
见到如红色圈记那样,就代表已经启动成功.
8. 停止 svn
输入指令 killall svncerve
再输入ps aux | grep svn
杀死进程,可以发现 svnserve 所有的进程已经被杀死了
9. Win10 下客户端访问,需要安装 TortoiseSVN
下载地址如下:https://tortoisesvn.net/downloads.zh.html
10. 建立仓库
找到要建立仓库的文件夹下,右键点击 check out
11. 放上你的 svn 地址:
这里由于我只设置了一个库,直接可以输入我的外网 IP 就可以了
12. 确认后提示输入用户密码:
这里的账号密码为 /var/svn/fuck/conf/passwd 里面设置的那些
13. 登陆之后
就能看到那个文件夹了:
在这个文件夹下。新建 fuck.txt 文件,随便编辑文件之后,可以看见文件夹的标志变了
在该文件夹,右键点击 svn commit,弹出 commit 对话框,可以在在此输入每个版本的日志
在此文件夹下,右键点击 TortoiseSVN 选择 show log 可以显示文件的日志记录
14. 配置在 Linux 上配置开机自动启动 svn
最后配置在 Linux 上配置开机自动启动 svn,免去了重启 Linux 后要自己启动的 svn 的麻烦
输入:
vi /etc/rc.d/rc.local
添加内容:
svnserve -d -r /var/svn/fuck
因为 centos7 之后,原来直接修改
/etc/rc.d/rc.local
启动脚本自动生效的功能因为修改了需要重新赋予可执行权限
再输入 chmod +x /etc/rc.d/rc.local
结言
自己搭建的 SVN 稳定而且做到了真正的私密,这对开发来说着实是太好了。第一次写博文,写得不好请大家指正!
Ubuntu 14.04 下搭建 SVN 服务器 SVN:// http://www.linuxidc.com/Linux/2015-01/111956.htm
CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)http://www.linuxidc.com/Linux/2016-08/134214.htm
CentOS7.2 编译安装 SVN1.9.5 客户端 http://www.linuxidc.com/Linux/2017-03/141387.htm
SVN 服务器搭建步骤及使用实战 http://www.linuxidc.com/Linux/2017-01/139282.htm
Windows 下 SVN 服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm
CentOS 6.6 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2016-12/137864.htm
CentOS 7.2 下 Nginx+MySQL+PHP-FPM+SVN 配置 Walle 自动化部署系统详解 http://www.linuxidc.com/Linux/2016-11/137703.htm
CentOS 7.1 下 SVN 安装与配置 http://www.linuxidc.com/Linux/2016-12/138637.htm
CentOS 6.8 搭建 SVN(版本控制系统)及 SVN 的使用 http://www.linuxidc.com/Linux/2017-04/143093.htm
Subversion (SVN) 的详细介绍:请点这里
Subversion (SVN) 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/144244.htm