ubuntu配置svn及http模式访问

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

安装SVN

  apt-get install subversion

建立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创建的目录和文件

配置和管理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

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

3). 停止

killall svnserve

配置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

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

时间: 2024-08-16 03:13:34

ubuntu配置svn及http模式访问的相关文章

linux资料整理之ubuntu配置svn服务器并且同步更新web目录

博客:http://lijinhuan.blog.51cto.com/ 微博:http://weibo.com/lijinhuanexperience 微信:xiaoleetongxue 需求: 把代码放到共同的服务器中去,然后可以通过软件自由的增加和修改代码,以方便共同协作,而不是像某一些小企业那样,把代码用qq传来传去进行覆盖更新. 解决办法: 搭建一台公共的服务器并且配置svn服务器.svn可以很好存放代码,实现上面的需求. 下面教大家在unbuntu中一步一步地去配置svn服务器,至于u

【转】linux(Ubuntu)配置svn仓库,搭建svn服务器

原文网址:http://blog.1v2d.com/322.html 在家里搞了好久,终于搞出来,并且在线上已经成功搭建成功,在这感谢一个博主的文章,本篇文章也主要是转载他的内容,写的非常好,而且非常实用,通俗易懂,可能做的过程会遇到问题,没事,大家慢慢研究,会成功的,文章我已做优化,就是我在搭建的过程出现的问题. 转自:dazeair 原文地址:http://dazeair.blog.51cto.com/4024187/1421178 系统:Ubuntu 12.04 64位 lnmp环境 集成

Ubuntu安装Svn,提供http访问

安装相关package sudo apt-get install subversion subversion-tools apache2 libapache2-svn apache2-utils 创建SVN目录并初始化仓库,$repo_name为仓库名 sudo mkdir /data/svn/repository sudo svnadmin create /data/svn/repository/$repo_name sudo chown -R www-data:www-data /data/

ubuntu下SVN服务器安装配置

ubuntu下SVN服务器安装配置 1.安装包 sudo apt-get install subversion 2.添加svn管理用户及subversion组 $ sudo adduser svnuser 添加用户 $ sudo addgroup subversion 添加用户组 $ sudo addgroup svnuser subversion 将用户加入到组 3.创建项目目录 sudo mkdir /home/svn 创建文件 cd /home/svn sudo mkdir myproje

ubuntu 设置网卡为混杂模式 以及网络配置命令

1. ifconfig eth0 promisc 设置eth0为混杂模式. ifconfig eth0 -promisc 取消它的混杂模式 [email protected]:~$ ifconfigeth0 Link encap:Ethernet HWaddr 00:0c:29:ae:a9:7f inet addr:192.168.4.197 Bcast:192.168.4.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:feae:a97f/6

Ubuntu下配置SVN服务器

1. 安装subversion: sudo apt-get install subversion 2. 创建版本库: cd /home/svn/ svnserve -d -r /home/svn svnadmin create repos 注意:若要启动两个svn服务器,则要指明端口,默认的服务器端口是3690. svnserve -d -r /home/svn 等价于: svnserve -d --listen-port=3690 -r /home/svn 如果要启动第二个服务器,如/home

SVN版本库(访问权限)配置实例笔记

http://blog.csdn.net/zjianbo/article/details/8578297 SVN版本库(访问权限)配置实例笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/details/8578297 作者:张建波 邮箱: [email protected] 电话:13577062679 欢迎来电交流! 访问控制如图所示 说明: why用户仅仅只能访问(读写)yjb目录,对其它目录是无法“查看

Ubuntu+Eclipse+SVN 版本控制配置笔记

第一步:先更新系统内部软件包缓存(预防出错) #  sudo dpkg --clear-avail #  sudo apt-get update 第二步:安装Eclipse的SVN接口组件“javaHL” sudo apt-get install libsvn-java 按Y键开始安装,整个过程大概10分钟左右. 关于JavaHL的详细文档可以参考:http://subclipse.tigris.org/wiki/JavaHL#head-7498d204a5be83e0e97d196ba75fc

ubuntu搭建SVN服务器

安装软件包 如果没有安装subversion软件包,需使用命令sudo apt-get install subversion来安装软件包! 选择文件位置 安装上软件包后需要选择SVN服务文件以及配置文件位置.下面以目录 /home/ svn/为例! 创建版本仓库 进到目录cd /home/svn/中,然后创建一个自己的版本库sudo svnadmin create /home/svn/eth10,但需要先创建目录eth10sudo mkdir eth10!使用ls -ll查看版本仓库(eth10