在项目开发中,比较流行的版本控制有github,svn。之前在开发个人项目的时候代码量比较少。做几个备份就可以了。但是随着项目的逐渐壮大。在电脑,U盘上备份显然已经不够安全。就摸索这在我的腾讯云的服务器上搭建一个svn服务端用于存储我的项目代码。我所购买的是linux ubuntu版本(要注意不同版本的安装不尽相同)。
在控制台转换至root用户下
su root 回车
输入密码 回车
输入命令 svn 查看自己是否已经安装了 svn
如果已经存在可以进行删除 sudo apt-get remove --purge subversion(这里只是做一个记录,我是没有。所以这个根本用不到,如果你有的话,也就不用再删除了)
输入命令 sudo apt-get install subversion 前面是命令 install subversion相信大家都知道 安装svn
一阵疯狂的安装之后complete 结束
...是我省略的文件夹名称 这个根据个人口味创建 千万别直接把...抄过去
输入命令 sudo mkdir /home/ubuntu /... /svn这个通俗一点来讲是为了未来的资源存储 这个目录就是你要创建的位置
输入命令 sudo mkdir /home/ubuntu /... /svn/repository 这个呢就是在你刚刚创建的文件夹下再创建一个文件夹真正起作用的是以下命令
输入命令 sudo chmod -R 777 /home/ubuntu /.../svn/repository 更改repository的权限
输入命令 sudo svnadmin create /home/ubuntu /.../svn/repository 创建版本库 直到此时,cd 到 repository下就会看到多出来很多东西
跟着自己创建的路径一路的 cd下去 到了 repository 下 ls 可以看见db
输入命令 sudo chmod -R 777 db 给db 加权限
在 repository 下 ls 还可以看见conf 接下来有三个文件要修改
进入到conf文件夹下
vi svnserve.conf
找到文件中的这几行进行放开注释(说的有点装,就是把改行前面的注释符#去掉)
anon-access = read(可改成none,即不可读) 匿名用户可读 建议改成none 保护你的代码隐私 匿名用户不可读
auth-access = write 认证之后的用户 可读 可写(没毛病)
password-db = passwd 这个就放开注释就行 使用账号密码登录
authz-db = authz 这个指向了 conf下的authz 文件
改完之后使用:wq!命令进行保存(这里对于linux系统命令一窍不通的用户科普一下 vi 文件(进入文件) 输入i 开始修改 :q! 不保存退出 :wq!保存退出)
接下来 回到 repository 文件夹下 使用 vi passwd 这个文件很简单 就是配置用户的账号以及密码
在[users]下添加 zs = 123 (zs是用户账号 123是你的密码 这个地方自己设置)
接着我们把目光投向authz
回到 repository 文件夹下 使用 vi authz 这个个人觉得就是权限认证配置了
这个文件可以按组进行分配权限 我挑个简单的直接给用户分配权限
zs = rw 在[groups]下添加这个 (zs 就是刚刚创建的用户 rw 就是 read + write 读写权限)
重点到了 在[groups] 下加上[/]标志版本库在根目录下这里面也可以具体到你自己的某个文件夹下。因为之前参照别人博客搭建没有加上这一行,导致在后期无论怎么连接都连接不上 报 authrizon failure(具体咋写懒得去百度了。大概就长这模样)
记得:wq! 进行保存偶。改完就完全结束了。 NO, NO, NO 接下来传授各位几行命令有关服务的查看 启动 停止
大家可以 cd / 回到最高级 (发觉自己有点啰嗦了,直接上命令)
启动命令 svnserve -d -r /home/ubuntu /.../svn (是到svn偶)
查看服务是否启动 ps aux | grep svnserve
停止服务 killall svnserver
这里补充一个题外话(netstatus -ap 可以查看所有服务状态)
以下全是重点(因为是我的坑)
服务起好之后
1,检查防火墙是否关闭 没有关闭会导致无法访问 (不想关闭 可以把3690端口加入防火墙配置文件中)
2,3690 是svn服务默认端口 这个可以去查一下3690端口是不是被svn服务占用
命令: sudo netstat -ntlp
3, 接下来就是客户端的安装 一般 就是 tortoiseSVN 安装 和 eclipse中的安装(这里不做重点,因为简单,网上随手可得)。
客户端安装https://jingyan.baidu.com/article/e73e26c0b7e06f24acb6a755.html
不得不说百度经验还是很靠谱的。
最后一个知识点
在eclipse 中 可以通过 svn://ip:3690/repository 进行连接 据说还可以使用 http://ip:3690/repository https://ip:3690/repository 不行的话来回试试这几个。
如果无法连接要多思考偶 知道网络通信的原理。