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