CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等)

CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等) 

CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等)  一事能狂便少年 发布于 2016/12/27 11:16   字数 1113   阅读 1.3K    收藏 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

上一篇:个人服务器(阿里云)搭建svn


下一篇:CentOS 7 之快速安装安装 SVN