当前位置: 游戏平台 > 互联网科技 > 正文

Ubuntu 14.04 下搭建SVN服务器 svn://

时间:2019-11-05 23:44来源:互联网科技
SVN(subversion)是近年来崛起的版本管理工具,绝大多数开源软件都使用了svn作为代码版本管理软件。对于写代码的用户来说使用版本控制管理工具svn来说最合适不过了,下面就介绍一下

SVN(subversion)是近年来崛起的版本管理工具,绝大多数开源软件都使用了svn作为代码版本管理软件。对于写代码的用户来说使用版本控制管理工具svn来说最合适不过了,下面就介绍一下在Ubuntu 14.0.4下安装和配置SVN的简要方法!

假设已经安装并在80端口启动了apache服务器。所有操作都在root用户下进行,特别建立的仓库文件夹和打开svn服务器建立仓库都是在root用户权限下进行,这样会防止最后客户端操作时发生权限问题,实际使用可以新建svn专用用户并赋予读写权限进行管理。

Ubuntu 14.04 下搭建SVN服务器 svn://

SVN添加文件时的错误处理:...confsvnserve.conf:12: Option expected  http://www.linuxidc.com/Linux/2014-09/106683.htm

安装SVN

  apt-get install subversion

安装软件包:

本文是小编亲自整理、测试、验证过的方法,也可以算是最全、最简易的SVN安装配置方法!

建立svn仓库

  1). 建立svn目录:(使用隐藏目录)

mkdir /home/.svn
cd /home/.svn

  2). 创建仓库test1:

mkdir test1
svnadmin create /home/.svn/test1

执行完毕后test1目录有svnadmin创建的目录和文件
  3). 创建仓库test2:

mkdir test2
svnadmin create /home/.svn/test2

执行完毕后test2目录有svnadmin创建的目录和文件

sudo apt-get install subversion

下面文档分为四个部分:

1、在Ubuntu 14.0.4系统中安装SVN

2、配置SVN

3、启动和关闭svnservice

4、简要的使用SVN 

配置和管理svn

1). 配置svnserve.conf
   每个仓库的配置文件在$repos/conf/下,vim svnserve.conf,配置项在[general]下:
    anon-access:匿名用户的权限,可以为read,write和none,默认值read。不允许匿名用户访问:anon-access = none
    auth-access:认证用户的权限,可以为read,write和none,默认值write。
    password-db:密码数据库的路径,去掉前边的#
    authz-db:认证规则库的路径,去掉前边的#。
    注意:这些配置项的行都要顶格,否则会报错。修改配置后需要重启svn才能生效。
2). 配置passwd文件
    这是每个用户的密码文件,比较简单,就是“用户名=密码”,采用的是明码。如

adminuser = passwordxxx
user1 = 111111
user2 = 222222

3). 配置authz文件
   [groups]:为了便于管理,可以将一些用户放到一个组里边,比如:

[groups]
admin = adminuser
develop = user1,uesr2

   groups下边的sections表示对一个目录的认证规则,比如对根目录的认证规则的section为[/]。设置单用户的认证规则时一个用户一行,如果使用group,需要在group名字前加@

[/]
@admin=rw  #admin用户组对根目录的权限为rw

启动时如果从/home/.svn/test1启动,/就是test1目录,用如上方式以test1目录为根设置权限。
如果从/home/.svn/启动,每个仓库根还是自己的起始目录。可以采用如上方式设置test1的权限,也可以采用如下方式:

[test1:/]
@admin=rw
[test1:/trunk/test1]
@develop=rw

每个仓库的根目录(/)就是自己的起始目录;[repos:/]这种方式只适用于多仓库的情况;[/]适合于单仓库和单仓库的方式。

之后选择SVN服务文件及配置文件的放置位置。我放在了/srv下的svn目录。

一、在Ubuntu14.0.4 中安装SVN

1、首先,需要准备好软件工具,Ubuntu中安装软件十分方便

$sudo apt-get install subversion 

Ok 安装完毕

2、建立仓库文件夹

cd  /home 
sudo  mkdir svn 
/usr/local/svn# sudo chown -R 777 svn 
/usr/local/svn# sudo chmod -R 777 svn 

最后的一条命令赋予组成员对所有新加入文件仓库的文件拥有相应的权限。正常情况下应该是添加相应的组权限的,但是既然是针对于新手段white paper,所以才简单点,就省略了那么一点,呵呵 

3、创建仓库

$ sudo svnadmin create /home/svn

启动和停止svn

1). 启动:
从test1目录(某个项目仓库目录)启动

svnserve -d -r /home/.svn/test1

根目录(/)是test1,authz中规则的配置使用section[/]。访问方式为: svn://192.168.0.87/
从.svn目录启动

svnserve -d -r /home/.svn

根目录(/)是.svn,authz中对test1的配置使用section[test1:/] ,访问方式为:
svn://192.18.0.87/test1
svn://192.18.0.87/test2
如果需要svn自启动,把命令加入/etc/rc.local中
2). 检查svn服务器是否已经启动(svn默认使用3690端口):

netstat -tnl | grep 3690
  • 1

3). 停止

killall svnserve

cd /srv

二、 配置SVN

1、配置/home/svn/conf目录下的 svnserve.conf文件

修改svnserve.conf文件

a、去掉#[general]前面的#号

[general]

b、#匿名访问的权限,可以使read/write/none,默认是read

anon-access = none

c、#认证用户的权限,可以使read/write/none,默认为write

auth-access = write

d、#密码数据库的路径,去掉前面的#

passw-db = passwd

注意:其中 anon-access 和auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,只需把 read 改成 none 就能达到目的。

2、修改/home/svn/conf目录下的配置文件passwd 文件

如修改成

[users]
root    =    123
hfkj    =    12345678
test1  =    test1
test2  =    test2

注意:这里设置了四个用户root,hfkj,test1,test2,密码分别为123,12345678,test1,test2

3、修改 /home/svn/conf/ 目录下的  配置文件authz  如下:

注意:这里设置了四个用户root,hfkj,test1,test2,密码分别为。。。

其中root,hfkj数据admin组,有读和写的权限;test1和test2数据test组只有读的权限。

三、启动与关闭SVN服务,并导入工程

1、启动 svnserve 服务

$sudo svnserve  –d  –r  /home/svn

描述说明:

-d: 表示 svnserve 以“守护”进程模式运行

-r: 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库:如:svn://192.168.12.118/svn

2、然后导入 svn  工程

#sudo  svn import -m "New import"  /home/test  svn://localhost/svn

这样 /home/test 文件夹下的项目就导入到了 svn 中了,而 –m 参数的意思是:message 也就是今后查看svn log 时候看到的东东了。

3、之后,我们测试一下

$ sudo mkdir  /home/svn_down
$ sudo cd    /home/svn_down
$ sudo svn  co  svn://localhost/svn

4、看一下 SVN中的文件是否 被下载下来了?

5、OK 这就是以上的全部过程啦!其实是非常简单的!

 

注意:查看 svnserve 服务是否启动

  $ sduo ps  -ef |  grep svn

      关闭服务

   $ Kill -9 pid    :pid  即svnserve  的PID

亦或是  $  sudo  killall  svn  也是可以的

然后再使用$ sduo  ps  -ef | grep svn  命令查看 svnserve 是否已经被关闭啦! 

总结:

本文是在综合了网上众多的 Ubuntu下安装、配置SVN后,经过小编亲自测试、验证后的经验总结,系统对于仍处于迷茫中的小伙伴们有所帮助,尽快能够愉快地玩耍起来。

上传的文件放在SVN服务器的哪个目录下

SVN服务器版本库有两种格式,
一种为FSFS,
一种为BDB
把文件上传到SVN版本库后,上传的文件不再以文件原来的格式存储,而是被svn以它自定义的格式压缩成版本库数据,存放在版本库中。
如果是FSFS格式,这些数据存放在版本库的db目录中,里面的revs和revprops分别存放着每次提交的差异数据和日志等信息

Linux中Subversion配置实例 http://www.linuxidc.com/Linux/2012-02/53109.htm

CentOS 6.2 SVN搭建 (YUM安装) http://www.linuxidc.com/Linux/2013-10/91903.htm

Apache+SVN搭建SVN服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm

Windows下SVN服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm

Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN数据 http://www.linuxidc.com/Linux/2013-05/84695.htm

Ubuntu Server搭建svn服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm

借助网盘搭建SVN服务器 http://www.linuxidc.com/Linux/2013-10/91271.htm

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-09/106682.htm

图片 1

配置http方式访问

将svn配置到apache中通过http web方式访问需要编辑/etc/apache2/apache.conf文件,然后将如下内容添加到apache.conf尾部

<Location /test1>
    DAV svn
    SVNPath /home/.svn/test1
    AuthzSVNAccessFile /home/.svn/test1/conf/authz
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /home/.svn/test1/conf/passwd
    Require valid-user
</Location> 

有多个项目时就需要添加多个上述配置项即可。
同时为了使得apache能够识别svn的权限配置项,需要加载确保apache加载了如下模块:

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

上述配置完成之后,就可以使用 的方式访问了。

Ubuntu 14.04 下搭建SVN服务器 svn://  http://www.linuxidc.com/Linux/2015-01/111956.htm

CentOS 6.2 SVN搭建 (YUM安装) http://www.linuxidc.com/Linux/2013-10/91903.htm

CentOS 6.5部署Apache+SVN  http://www.linuxidc.com/Linux/2013-12/94315.htm

Apache+SVN搭建SVN服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm

Windows下SVN服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm

Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN数据 http://www.linuxidc.com/Linux/2013-05/84695.htm

Ubuntu Server搭建svn服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-05/117892.htm

图片 2

sudo mkdir svn

我的svn版本仓库叫tone_src

cd /srv/svn

sudo mkdir tone_src

目录建好后 创建版本仓库

sudo svnadmin create /srv/svn/tone_src

执行之后 tone_src下文件结构如下:  

tone@ubuntu:/srv/svn/tone_src$ ls -l
总用量 24
drwxr-xr-x 2 root root 4096  1月 15 10:52 conf
drwxr-sr-x 6 root root 4096  1月 15 14:52 db
-r--r--r-- 1 root root    2  1月 15 10:50 format
drwxr-xr-x 2 root root 4096  1月 15 10:50 hooks
drwxr-xr-x 2 root root 4096  1月 15 10:50 locks
-rw-r--r-- 1 root root  246  1月 15 10:50 README.txt

下面进行配置:

我们需要修改conf目录下的三个文件,authz;passwd;svnserve.conf

编辑svnserve.conf

[general]
#匿名用户不可读
anon-access = none
#权限用户可写
auth-access = write
#密码文件为passwd
password-db = passwd
#权限文件为authz
authz-db = authz

编辑authz 制定管理员组 即admin组的用户为tone admin组有rw(读写权限) 所有人有r(读权限)

[groups]
admin= tone

编辑:互联网科技 本文来源:Ubuntu 14.04 下搭建SVN服务器 svn://

关键词:

  • 上一篇:没有了
  • 下一篇:没有了