一、安装SVN服务端subversion
1. 安装subversion
yum install subversion
2. 查看安装版本,检查安装是否成功
svnserve --version
我的版本为 1.7.14
3. 查看安装位置
rpm -ql subversion
二、创建版本库
1、创建用于存放版本库的目录(此目录为所有项目的根目录,可以自己定义)
mkdir -p /usr/local/svnRepo
2、根据实际情况创建多个项目路径
mkdir -p /usr/local/svnRepo/project1
mkdir -p /usr/local/svnRepo/project2
3、创建多个svn版本库,与刚刚创建的项目路径一一对应
svnadmin create /usr/local/svnRepo/project1
svnadmin create /usr/local/svnRepo/project2
4、创建完后,每个版本库目录下会生成一些文件
三、配置版本库(对于每个版本库根据实际情况分别进行配置)
在每个版本库中的conf目录如下:
其中
| - authz 权限控制文件
| - passwd 帐号密码文件
| - svnserve.conf SVN服务配置文件
为了后续增加项目方便,创建公共的用户、权限配置文件,放到版本库公共路径/usr/local/svnRepo下;
1、创建公共的passwd文件,加入用户,格式就是“用户名=密码”,如:
vim /usr/local/svnRepo/passwd
[users]
admin = 123
test = 123
2、创建公共的authz文件,加入用户权限,如:
vim /usr/local/svnRepo/authz
[aliases]
[groups]
admins = admin1, admin2
[project1:/]
@admins = rw
* =
[project2:/]
@admins = rw
* =
创建的admins用户组中包含admin和test两个用户,而且这两个用户对该版本库根目录有读写权限(即最高权限),也可以 根据实际情况分别对不同的用户开放不同的路径权限;
3、修改每个项目中conf路径下的svnserve.conf文件,对刚才公共文件的引用
vim /usr/local/svnRepo/project1/conf/svnserve.conf
anon-access = none #匿名用户不可读
auth-access = write #授权用户可写
password-db = /usr/local/svnRepo/passwd #使用公共文件作为账号文件
authz-db = /usr/local/svnRepo/authz #使用公共文件作为权限文件
realm = /usr/local/svnRepo/project1 # 认证空间名,版本库所在目录
在project2中做同样的修改;
在每次修改完配置后一定要记得重启svn
linux下停止所有SVN 服务 killall svnerver 启动命令 svnserve -d -r 仓库地址
还有一种方式是:
ps -A 只列出所有进程,并不显示环境变量。
ps -ef 列出所有进程,并显示环境变量,而且显示全格式。
关闭
查到服务的进程号:
ps -A | grep svn
1597 ? 00:00:00 svnserve
关闭进程:kill 1597
启动
启动服务:(默认启动开启 3690端口)
svnserve -d -r /home/beijing/soft/svn
设置端口:
svnserve --listen-port 3691 -d -r /home/beijing/soft/svn
netstat -ntlp 端口是否开启
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 4624/svnserve
tcp 0 0 10.88.107.91:3306 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:3691 0.0.0.0:* LISTEN 4621/svn
查看启动结果:ps -ef|grep svn
查看svn进程,结果如下:
root 1597 1 0 08:09 ? 00:00:00 svnserve -d -r /home/beijing/soft/svn --log-file /data/svnlog/svn.log
beijing 2650 2207 0 10:07 pts/4 00:00:00 grep --color=auto svn
四、启动并验证版本库
1、启动
如果在一台服务器上同时启动多个项目版本库,那么启动路径必须是所有项目仓库的根路径,比如:
/usr/local/svnRepo/project1
/usr/local/svnRepo/project2
对应
/usr/local/svnRepo/
启动命令
svnserve -d -r /usr/local/svnRepo/
2、验证
(1)打开Windows SVN浏览器客户端
输入URL:
svn://SVN所在服务器IP地址/project1或svn://SVN所在服务器IP地址/project2
(2)或者在本地任一文件夹下右键 - “SVN Checkout...”
3、如果SVN服务器部署在云服务器上,需要打开3690端口