CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等)
原 一事能狂便少年 发布于 2016/12/27 11:16 字数 1113 阅读 1.3K 收藏 0 点赞 0 评论 0 svn
zhou说:
安装完svn后,创建一个svn仓库,svnadmin create repository。
此时访问地址为svn://ip 即可。如果更换仓库需要重启svn服务svnserve -d -r /你的仓库地址。
svn代码库地址就更新啦。svn迁移:点击这里.
注意:初始导入如果遇到无法提交报错(Authorization failed),
做如下修改:svnserve.conf中# password-db = passwd 改为 password-db = passwd
正式开始……………………………………………………………………………………
环境为centos6.3
1.首先 看看机器上安装了svn了没有
rpm -qa |grep svn
2.如果没有安装 执行
yum -y install subversion
3.安装好了之后 新建一个svn目录
mkdir /home/svn
4.新建一个版本仓库
svnadmin create /home/svn/project
红色部分是版本仓库名 在配置文件中会使用的
5.将你需要放在svn上的工程 放进project目录中
6.初始化一下你的版本仓库
svn import 需要放到svn上的文件夹/ file:///home/svn/project -m “版本说明” --username xx --password xx
这里需要注意的是 如果后边不加用户名和密码 可能导致 客户端在使用的时候 update时 不需要输入用户名和密码就可以update
7.添加用户
要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password”的条目就可以了。为了测试,我添加了如下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
pm = pm_pw
8.修改用户访问策略
/home/svn/project/conf/authz记录用户的访问策略,以下是参考:
[groups]
project_p = pm
#[project:/] 如果你的仓库下边就一个版本的话 就不需要使用xxx 直接一个斜杠就完事
#[project:/xxx] 如果你的仓库下边有多个版本的话xxx就是那个文件夹的名字
#上边这2个根据自己情况选一个
@project_p = rw
* =
说明:以上信息表示,只有project_p用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。这个很重要,一定要加上!
9.修改svnserve.conf文件,让用户和策略配置升效.
svnserve.conf内容如下:
[general]
anon-access = none
auth-access = write
password-db = /home/svn/project/conf/passwd
authz-db = /home/svn/project/conf/authz
10.启动服务器
# svnserve -d -r /home/svn
注意:如果修改了svn配置,需要重启svn服务,步骤如下:
# ps -aux|grep svnserve
# kill -9 ID号
# svnserve -d -r /home/svn
11.测试服务器
# svn co svn://192.168.x.x/project
12.到此为止 独立svn服务器就建立好了
需要注意的是 如果客户端想要使用的话
url地址一定是这个样子的 svn://192.168.x.x/project看好了 不是htttps的头
如果想要使用http的头的话 需要配置SVN服务器的HTTP支持
服务器重启后,需要手动启动svn服务器:
执行:svnserve -d -r /home/svn
或修改:/etc/rc.d/rc.local
在末尾加入:svnserve -d -r /home/svn
即可启动服务器时,自动启动svn
同一个服务端口,多版本库管理(推荐)
首先你得给所有版本库建立一个根目录,比如/svn
然后再svnadmin create /svn/test1 ; svnadmin create /svn/test2 ......这样建立多个版本库。
然后每个版本库下面的/conf/的配置方法几乎一样,除了:
authz里的目录,即你在文中提到的问题需要加上 [test1:/] , [test2:/]来设置不同的版本库根目录的访问权限。
开启多个版本库的svn server: svnserve -d -r /svn --注意,输入根目录即可
然后这些版本库的访问方式就是:
svn://your-id-address/test1, svn://your-ip-address/test2 了。(当然我假设你使用了默认的3690端口)
作者:朱清
链接:https://www.zhihu.com/question/36161509/answer/66276540
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
启动SVN服务:
svnserve -d -r /home/svn
/home/svn 为版本库的根目录;
关闭SVN服务:
使用以下命令查找进程
ps aux | grep svn
# ps aux | grep svn root 64434 0.0 0.0 181584 1120 ? Ss 02:01 0:00 svnserve -d -r /home/svn root 64481 0.0 0.0 103256 848 pts/1 S+ 02:03 0:00 grep svn
使用Kill命令杀死进程
kill -s 9 64434
64434为进程ID