ssh连接,root权限

1、更新包列表。

sudo apt update

2、安装Subversion包。过程中提示(y/n): 输入y同意继续。安装完毕后,可以用svn help查看命令,挺多的。

apt-get install subversion
svn help

3、宝塔文件管理功能,创建仓库数据文件夹svndata,我这里路径为/www/svndata。或者你也可以用mkdir /www/svndata设置。我这里使用宝塔,因为实在受不了命令行下vim修改文件操作。

4、创建项目代码仓库。我这里路径为/www/svndata/proj_1。

svnadmin create /www/svndata/proj_1

5、创建完成后,你会发现/www/svndata/proj_1下多了几个文件夹。下面进行SVN配置,直接用宝塔进行编辑很方便:

(1)/conf/passwd,该文件用于配置账号密码,这里用明文。

#密码配置,格式为用户名=密码,密码为明文
[users]
admin = password

(2)/conf/authz,该文件用于配置用户组和用户权限

[/]               # 任何路径。不可缺。你也可以换成指定SVN目录下特定项目路径。
admin = rw        # admin单个用户读写权限

(3)conf/svnserve.conf,该文件用于配置SVN服务权限。你需要取消并修改以下下#注释行

anon-access = none    # 匿名用户无权访问
auth-access = write   # 认证用户可读可写
password-db = passwd  # 使用哪个文件作为账号密码配置文件
authz-db = authz      # 使用哪个文件作为权限配置文件
realm = /www/svndata/proj_1  # 认证空间名,版本库所在目录,设置了这个值,客户端下载svn中的版本库

6、配置完成,运行svnserve

svnserve -d -r /www/svndata

注1,上述启动命令中,-d 表示守护进程, -r 表示在后台执行。

注2,svn服务器默认使用3690端口号,svn要使用非默认端口,可以在svnserve后面加一个 --listen-port 3691 来修改svn使用的端口号。可以用-anptlu | grep 3690 查看端口。

svnserve -d -r /www/svndata/proj_1 --listen-port 3691

**注3,记得在宝塔面板安全模块,以及你的服务器防火墙配置中,放行3690端口。**

7、如果提示:“svnserve: E000098: Can’t bind server socket: Address already in use”,说明已经有服务器启用了,可以用以下命令重启:

killall svnserve

8、如果重启失败,可以用查询svn进程的pid,然后暴力结束SVN进程,再重新启动:

ps -ef|grep svn 或者 ps aux|grep svn 查看进程pid
kill -9 进程pid
svnserve -d -r /www/svndata/proj_1

9、成功后,你的服务器端SVN地址就是svn://yourip/proj_1了~。

10、本地客户端下载https://tortoisesvn.net/downloads.zh.html 及本地客户端使用教程https://www.runoob.com/svn/tortoisesvn-intro.html,不赘述。

11、SVN 添加 systemd 服务守护,替代supervisor来守护,参考下一篇文章。https://xuyu.in/1401.html