阿里云centos7.4安装并部署svn1.10.0版本(配置多仓库,加入开机自启动)

时间:2023-03-10 02:03:17
阿里云centos7.4安装并部署svn1.10.0版本(配置多仓库,加入开机自启动)

如何安装最新版本 1.10.0:

如果已安装旧版本,先卸载

yum remove subversion*

查看当前可安装的版本

yum list | grep subversion

可以去官网下载安装最新版的yum源设置脚本  http://subversion.apache.org/packages.html

阿里云centos7.4安装并部署svn1.10.0版本(配置多仓库,加入开机自启动)

执行该脚本,可以修改yum源,然后使用yum安装即可安装1.10.0的版本

创建SVN版本库文件夹

mkdir -p /opt/svn/repos

创建SVN版本库

svnadmin create /opt/svn/repos

执行命令后opt/svn/repos文件夹下新增了一些文件夹

添加用户密码和访问权限

进入conf目录,可以看到以下文件

authz文件是权限控制文件

passwd是帐号密码文件

svnserve.conf是SVN服务配置文件

修改passwd文件,在[users]段添加用户rick和访问密码

shenjianxin=123456

修改authz文件,[/]  权限范围目录   用户=读写

[/]

shenjianxin=rw

[groups] admin = admin         #admin为用户组,等号之后的admin为用户 test = fuhd,test [wangwa:/]                #表示根目录(/var/svn/wangwa),wangwa: 对应前面配置的realm = wangwa @admin = rw            #表示admin组对根目录有读写权限,r为读,w为写 [wangwa:/test]         #表示test目录(/var/svn/wangwa/test) @test = rw                #表示test组对test目录有读写权限

修改svn配置文件 svnserve.conf

anon-access = read #匿名用户可读   设置为 none

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件

realm = /opt/svnRepos # 认证空间名,版本库所在目录

启动

svnserve -d -r   /opt/svn/repos/ --config-file=/opt/svn/repos/conf/svnserve.conf --listen-port=3690

这条指令的参数-d表示以守护进程形式运行Svn服务器,-r表示Svn服务器的根目录,后接SVN的根目录。不指定端口默认是3690

--config-file是Svn服务器启动所引用的配置文件,后接配置文件路径。

相关启动参数参见: https://linux.die.net/man/8/svnserve

添加到开机自启动

在/usr/lib/systemd/system/添加svnserve.service文件,文件内容如下:

[Unit]

Description=Subversion protocol daemon

After=network.target

[Service]

Type=forking

ExecStart=/usr/bin/svnserve -d -r   /opt/svn/repos/ --config-file=/opt/svn/repos/conf/svnserve.conf --listen-port=3690

[Install]

WantedBy=multi-user.target

执行

systemctl enable svnserve.service

停止

systemctl disable svnserve.service

查看

systemctl status svnserve.service

打开:

SVN://IP:3690

linux服务器上配置多个svn仓库

1、在指定目录建立仓库保存总目录,本文示例目录设定为:/usr/local/svn/svnrepos

# mkdir -p /usr/local/svn/svnrepos

2、在总目录中创建两个仓库的文件夹,以及使用命令创建版本库

# mkdir -p /usr/local/svn/svnrepos/warehouse1

# mkdir -p /usr/local/svn/svnrepos/warehouse2

# svnadmin create /usr/local/svn/svnrepos/warehouse1

# svnadmin create /usr/local/svn/svnrepos/warehouse2

3、进入warehouse1 目录下的conf文件夹。将其中的authz与passwd文件复制到svnrepos目录下

# cd /usr/local/svn/svnrepos/warehouse1/conf

# cp authz ../../

# cp passwd ../../

4、修改warehouse1/conf下的svnserve.conf文件,将其中的passwd文件制定与authz文件制定进行修改,其他配置按正常单svn配置。(warehouse2同样设置一遍)

5、修改复制出来的/svnrepos目录下的passwd文件与authz文件

passwd文件:设置账号密码

authz文件:目录权限

6、启动svn服务

# svnserve -d -r /usr/local/svn/svnrepos   (这里目录配到总目录,不是仓库目录)

1

7、其他

在windows环境检出项目的时候,

仓库1的检出地址为:svn://ip地址/warehouse1

仓库2的检出地址为:svn://ip地址/warehouse2