阿里云centos7.4安装并部署svn1.10.0版本(配置多仓库,加入开机自启动)
如何安装最新版本 1.10.0:
如果已安装旧版本,先卸载
yum remove subversion*
查看当前可安装的版本
yum list | grep subversion
可以去官网下载安装最新版的yum源设置脚本 http://subversion.apache.org/packages.html
执行该脚本,可以修改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