1.安装命令安全
yum -y install subversion
查看SVN安装位置bash
rpm -ql subversion
查看SVN版本服务器
svnserve --version
2.建立版本库根目录(此仅为目录,为后面建立版本库提供存放位置)tcp
mkdir /home/svn
3.建立SVN版本库(建立项目)svn
svnadmin create /home/svn/project1
svnadmin create /home/svn/project2
建立成功后,进入project1目录下spa
cd /home/svn/project1
进入目录,能够看见以下文件信息:日志
建立版本库公共配置文件存放目录,随便打开一个项目版本库复制一份conf目录(即:/home/svn/project1/conf)到 /home/svn 目录下code
cp -r /home/svn/project1/conf /home/svn/conf
清空刚才建立的项目版本库conf目录,删除库的全部配置文件blog
rm -f /home/svn/project1/conf/* rm -f /home/svn/project2/conf/*
4.修改配置进程
进入conf目录
cd /home/svn/conf
conf目录下,一共存放三份重要的配置文件,以下:
authz:负责帐号权限的管理,控制帐号是否读写权限 passwd:负责帐号和密码的用户名单管理 svnserve.conf:svn服务器配置文件
编辑 authz 文件
@group1 = rw 中的"rw"意思是[groups]下定义的用户对指定的版本库有读写权限
编辑 passwd 文件
编辑 svnserve.conf 文件(注意:配置的前面不能有空格,必定要顶格写)
#配置匿名用户不可读(none匿名用户不可读写)
anon-access = none
#受权用户可写 auth-access = write #使用哪一个文件做为帐号文件
password-db = ../../conf/passwd #使用哪一个文件做为权限文件
authz-db = ../../conf/authz #认证空间名,版本库所在目录,该文件只为了后面方便复制到每一个项目下的conf目录下,每一个项目下的svnserv.conf中须要指明当前项目的目录
realm = /home/svn(后面单个项目中的svnserve.conf就须要设置如:realm = /home/svn/project1)
复制 svnserve.conf 配置文件到刚建立的全部项目版本库的conf目录下
cp -f /home/svn/conf/svnserve.conf /home/svn/project1/conf/svnserve.conf cp -f /home/svn/conf/svnserve.conf /home/svn/project2/conf/svnserve.conf
修改/home/svn/project1/conf/svnserve.conf
realm = /home/svn/project1
修改/home/svn/project2/conf/svnserve.conf
realm = /home/svn/project2
注意:当SVN服务启动时/home/svn/conf下的svnserve.conf文件并不会被版本库载入,而真正被载入的配置是相对每一个project/conf里的svnserve.conf文件,因此只是备份在当前目录下为了之后添加项目时方便复制到新的project/conf里,可是全部项目版本库conf目录下的svnserve.conf文件中“realm”都是不同的!固然每一个project/conf里的svnserve.conf文件都复制好并设置好“realm”后,/home/svn/conf下的svnserve.conf文件也能够被删掉。
5.自行配置好防火墙(默认3690端口)
云服务器配置好安全组
CentOS7放开端口
firewall-cmd --permanent --add-port=3690/tcp firewall-cmd --reload
6.启动SVN服务器(注意:若是在一台服务器上同时启动多个版本管理,那么启动路径必须是全部项目仓库的根路径)
svnserve -d -r /home/svn
也可再设置别的端口(默认端口3690)
svnserve --listen-port 3691 -d -r /home/svn
查看端口是否开启
netstat -ntlp
查看进程号
ps -A | grep svn
关闭进程号
kill 进程号
查看SVN启动结果
ps -ef | grep svnserve
7.访问SVN服务器
Windows系统
svn://ip地址/project1
Linux系统
svn co svn://ip地址/project1
其余命令
//查看目录列表 svn list --username 帐号 [版本库目录] //查看文件详细信息 svn info --username 帐号 [版本库目录] //查看日志 svn log --username 帐号 [版本库目录] //检出版本库 svn checkout --username 帐号 svn://ip地址/[目录] [目标目录] //更新版本库 svn update [版本库目录]
8.配置使用systemctl管理SVN(CentOS7)
建立/etc/systemd/system/svn.service文件
vi /etc/systemd/system/svn.service
并写入内容
[Unit] Description=Subversion Server [Service] Type=forking ExecStart=/usr/bin/svnserve --daemon --root /home/svn ExecStop=/usr/bin/killall svnserve Restart=always [Install] WantedBy=default.target
其中,“/home/svn”是SVN仓库的根路径,请根据状况修改。
通知systemd有个新服务添加
systemctl daemon-reload
启动和中止SVN服务
systemctl start svn.service systemctl stop svn.service
配置开机自动启动
systemctl enable svn.service
检查SVN服务运做状态
systemctl status svn.service
查看是否开机启动
systemctl is-enabled svn.service