在腾讯云服务器部署SVN仓库

刚搭建完SVN,趁着热乎把操作流程和踩过的坑写下来。因为是给自己看的,所以写得很乱,大部分过程照搬https://www.cnblogs.com/mymelon/p/5483215.html

一、购买腾讯云服务器

1.到腾讯云官网买服务器,现在有校园特惠套餐,很便宜,做SVN服务器够用了。腾讯云官网:https://cloud.tencent.com/

2.随便买个,地域自选,镜像我选的是宝塔Linux

3.走完付款流程,到控制台找到刚买的服务器

 

二、简单配置服务器

1.更多-管理

2.设置密码,点“重置密码”,设置用户名和密码。

3.点防火墙tab,添加规则,先把SVN默认端口加上,然后就能开始部署SVN了。

 

三、部署SVN

这部分是照着另一份博客操作的:https://www.cnblogs.com/mymelon/p/5483215.html

1.直接用控制台的执行命令,执行:yum -y install subversion,自动安装svn服务器相关服务和依赖,成功后显示Complete!

2.再执行rpm -ql subversion,显示路径的话,就是安装成功了

3.执行mkdir -p /var/svn/svnrepos,创建版本库目录。执行这条命令不会返回命令结果。

4.登录进去。

5.创建版本库:执行svnadmin create /var/svn/svnrepos/xxx,xxx改成自己的库名。

6.到自己创建的库的目录下:cd /var/svn/svnrepos/xxx,执行ll看下文件

7.再执行cd conf,准备修改配置文件。

authz:负责账号权限的管理,控制账号是否读写权限

passwd:负责账号和密码的用户名单管理

svnserve.conf:svn服务器配置文件

8.修改authz文件信息:vi authz。不懂vi可以看下教程,不看也没关系,我每一步都会写。vi文本编辑器教程:https://www.runoob.com/linux/linux-vim.html

9.进入后按i,进入insert模式(左下角变成INSERT),就能正常输入字符了

10.在文件内容的末尾添加如下(注意中括号和反斜杠)。账号1改成任意用户名,“=rw”意为赋予此账号读写权限。想多配制几组账号就多设置几个账号 = rw。

[\]

账号1 = rw

账号2 = rw

 11.设置完了按esc,退出insert模式,再输入“:wq”,再按回车,意为保存并退出。

 12.执行:vi passwd,再按i,进入insert模式,在文件末尾另起一行配置账号密码,格式为“账号=密码”,如admin = 123456。配置完按esc,再输入“:wq”,再按回车保存并退出。

13.执行:vi svnserve.conf ,再按i,把红框里四行前面的注释和空格删了。再esc,再:wq。记得必须把空格也删了,否则后面会报错

 14.改完这三个文件就算是配置完了。

四、启动SVN服务

1.执行:svnserve -d -r /var/svn/svnrepos,启动SVN服务。再执行:ps aux|grep 'svn',确认已经启动。

2.下载并安装TortoiseSVN,这里不多赘述。找个文件夹右键-SVN Checkout

 3.在弹出窗口的URL栏输入:输入地址:svn://ip地址:3690/xxx。ip地址复制自己的公网ip,xxx是自己的库名

 4.点OK,completed,完事。

 

 五、可能出现的异常情况

1.如果点OK后显示“远程连接拒绝了访问”,可能是没在防火墙那里配置svn端口。svn默认端口3690

2.如果显示svn: E200002: line 19: Option expected,是第13步执行vi svnserve.conf删空格没删干净

3.手动配置防火墙可以看这个(懒得搬运了):https://blog.csdn.net/qq_16116881/article/details/125514524

4.手动配置防护墙如果警告WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. 则需要修改防火墙配置文件:

(1)执行:vi /etc/firewalld/firewalld.conf,搜索(vi模式下按/,进入搜索模式):AllowZoneDrifiting,把对应的值yes改为no,保存退出。

(2)重启防护墙,执行:systemctl restart firewalld

5.保存配置时提示“'readonly' option is set (add ! to override) ”,通常是没有root权限。退出文件后执行:su root ,然后输入登录密码即可

6.重启svn服务后,上传文件时报错:can't open file db/txn-current-lock:permission denied

原因:版本库SVN是root用户创建的,但是启动服务的时候没有选择root启动,而是在其他用户转托管太下启动的,所以只能读不能写。

解决方法:停止svn服务:killall svnserve

 在创建版本库的用户下启动svn : svnserve -d -r /var/svn/svnrepos

 

 

 

 

posted @ 2022-10-14 22:01  ReiL  阅读(239)  评论(0)    收藏  举报