linux下搭建SVN服务器(局域网可用)-ver1.01
linux下svn服务器组建

svn服务器组建1. 系统redhat52. 软件为apr-1.3.8.tar.gzapr-util-1.3.9.tar.gzhttpd-2.2.4.tar.gzsqlite-amalgamation-3.6.17.tar.gzsubversion-1.6.5.tar.bz2subversion-deps-1.6.5.tar.bz2下载地址wget /apr/apr-1.3.8.tar.gzwget /apr/apr-util-1.3.9.tar.gzwget /apache-mirror/httpd/httpd-2.0.63.tar.gzwget /sqlite-amalgamation-3.6.13.tar.gzwget /downloads/subversion-1.6.5.tar.bz2wget /downloads/subversion-deps-1.6.5.tar.bz23.安装1)安装apr-1.3.8.tar.gz 先将文件解压到出来我是在/usr/src中[root@bogon drug22]#tar –zvxf apr-1.3.8.tar.gz -C /usr/src/[root@bogon drug22]# cd /usr/src/apr-1.3.8/[root@bogon apr-1.3.8]# ./configure[root@bogon apr-1.3.8]# make[root@bogon apr-1.3.8]# make install2)安装apr-util-1.3.9.tar.gz[root@bogon drug22]#tar –zvxf apr-util-1.3.9.tar.gz -C /usr/src/[root@bogon drug22]# cd /usr/src/apr-util-1.3.9[root@bogonapr-util-1.3.9]#./configure –-prfefix=/usr/local/apr -–with-apr=/usr/local/apr[root@bogon apr-util-1.3.9]# make[root@bogon apr-util-1.3.9]# make install注:sqlite这里可以不用安装如果下面提示安装在装直接make和make install 即可3)安装httpd-2.2.4.tar.gz[root@bogon drug22]#tar –zvxf ahttpd-2.2.4.tar.gz -C /usr/src/[root@bogon drug22]# cd /usr/src/httpd-2.2.4[root@bogon httpd-2.2.4]# ./configure –prfefix=/usr/local/apache --enable-dav --enable-so--enable-maintaer-mode --enable-ssl --with-apr=/usr/local/apr/bin/apr-1-config--with-apr-util=/usr/local/bin/apu-1-config[root@bogon ahttpd-2.2.4]# make[root@bogon httpd-2.2.4]# make install启动apache服务[root@bogon ~]# ../usr/local/apache/bin/apachectl start打开网页127.0.0.1 确定服务开启4)安装svn包subversion-1.6.5.tar.bz2subversion-deps-1.6.5.tar.bz2 找了很多资料说这两个都要下载且要保证版本一样[root@bogon drug22]#tar –jvxf subversion-1.6.5.tar.bz2 -C /usr/src/[root@bogon drug22]#tar –jvxf subversion-deps-1.6.5.tar.bz2 -C /usr/src/[root@bogon drug22]# cd /usr/src/subversion-1.6.5[root@bogon subversion-1.6.5]# ./configure --with-apxs=/usr/localapache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr (这里就是用subversion-1.6.5包里面的文件替换相应文件中的文件)[root@bogon subversion-1.6.5]# make[root@bogon subversion-1.6.5]# make install查看subversion版本是否为subversion-1.6.5 是表示安装成功[root@bogon ~]# svnserve --version5)修改apache配置文件[root@bogon ~]# vi /usr/local/apache/conf/httpd.conf查看中已经有了svn库文件# LoadModule foo_module modules/mod_foo.soLoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so#修改User daemonGroup daemon为(修改为系统其中的一个用户名)User apacheGroup apache在最后加入<Location /svn>DA V svnSVNParentPath /svn/project(指向路径)AuthType BasicAuthName "SVN Repository" (欢迎界面命名)AuthUserFile /svn/passwd.conf (密码验证路径)AuthzSVNAccessFile /svn/authz.conf(控制文件路径)Require valid-user (验证有效用户才能登入)</Location>然后ESC 建在:wq保存退出(SVNParentPath与SVNPath这两者的区别:前者是多库的状态,后者是单库的状态)现在apache配置文件已好创建svn存储库库名为linux_svn[root@bogon ~]# cd /[root@bogon /]# mkdir linux_svn[root@bogon /]# cd /lilib/ linux_svn/[root@bogon /]# cd /lilib/ linux_svn/[root@bogon /]# cd /linux_svn/[root@bogon linux_svn]# mkdir test[root@bogon linux_svn]# ../usr/local/bin/svnadmin create /linux_svn/test/rrr [root@bogon linux_svn]#库创建成功配置apache控制文件和密码文件[root@bogon /]# cd /linux_svn/[root@bogon linux_svn]# htpasswd -c passwd.conf test1(test1为用户名,下面输入两次密码)控制文件[root@bogon linux_svn]# touch auth.conf[root@bogon linux_svn]# vi auth.conf键入[groups]Admin=test1Develop=(用户名见用,隔开)[/]@admin=rw@develop=rw[rrr:/]test1=rw[/]这是对于库rrr的控制认证[/]*=r6)修改/linux_svn/test文件的权限(在下一次建库时要重新修改权限)[root@bogon /]# chown -R apache:apche /linux_svn/test/root@bogon /]# chmod -R 700 /linux_svn/test/7)设置apache 和svn服务开机自动启动[root@bogon /]# vi /etc/rc.local键入/usr/local/bin/svnserve -d -r /svn/project/usr/local/apache/bin/apachectl start8)客户端连接时http://ip地址/svn/版本库名称(rrr)输入库相应的用户密码即可。
局域网内怎样搭建SVN服务器

局域网内怎样搭建SVN服务器在公司局域网中,为了同事们协调工作,所以在公司局域网内部搭建SVN服务器。
下面是店铺给大家整理的一些有关局域网内搭建SVN服务器的方法,希望对大家有帮助!局域网内搭建SVN服务器的方法设置IP地址:打开【控制面版】->【管理工具】->【网络连接】->双击打开【本地连接】,单击【属性】在【常规】打开【Tnternet 协议】,DNS设置为你用的网络提供的DNS,用8.8.8.8也可以。
下载适合你PC的svn服务端软件和客户端软件。
我用的是Setup-Subversion-1.8.10.mis和TortoiseSVN-1.8.10.26129-win32-svn-1.8.11.1420009704.msi。
VisualSVN server 服务端和TortoiseSVN客户端搭配使用。
、visualsvn.m/downloads/下载安装的中如果提示“无法通过windows installer服务安装此安装程序包。
您必须安装带有更新版本windows installer服务的Windows Service Pack。
”,你需要下载“修补程序”“Windows Installer 4.5 Redistributable - 简体中文”来解决。
安装SVN服务端软件。
VisualSVN server 服务端。
VisualSVN-Server-3.2.2-win32.msi只能在Server2008下安装,Server2003系统的服务器下载2.7.11版本。
standard edition打开设置你的"安装目录"和"存放目录"还有"端口",端口一下要记住哦。
安装TortoiseSVN客户端软件:安装过程选择你要安装的目录。
有二次选择“。
中文。
”选择一下说好,next就行,1分钟不到就安装成功。
打开"VisualSVN server 服务端"添加用户。
linux下搭建SVN手册

linux下搭建SVN服务器完全手册ubuntu14.0 + ssh + yum一,安装必须的软件包.yum install subversion (SVN服务器)mysql-server (用于codestriker)httpd mod_dav_svn mod_perl (用于支持WEB方式管理SVN服务器)sendmail (用于配置用户提交代码后发邮件提醒)wget gcc-c++ make unzip perl* (必备软件包)ntsysv vim-enhanced (可选)二,基本的SVN服务器配置1,新建一个目录用于存储SVN所有文件# mkdir /home/svn2,新建一个版本仓库# svnadmin create /home/svn/project3,初始化版本仓库中的目录# mkdir project project/serverproject/client project/test (建立临时目录)# svn import project/file:///home/svn/project -m "初始化SVN目录"# rm -rf project (删除临时建立的目录)4,添加用户要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password"的条目就可以了.为了测试,我添加了如下内容:[users]# harry = harryssecret# sally = sallyssecretpm = pm_pwserver_group = server_pwclient_group = client_pwtest_group = test_pw5,修改用户访问策略/home/svn/project/conf/authz记录用户的访问策略,以下是参考:[groups]project_p = pmproject_s =server_groupproject_c =client_groupproject_t = test_group[project:/]@project_p = rw* =[project:/server]@project_p = rw@project_s = rw* =[project:/client]@project_p = rw@project_c = rw* =[project:/doc]@project_p = rw@project_s = rw@project_c = rw@project_t = rw* =以上信息表示,只有pm有根目录的读写权,server_group能访问server目录,client_group能访问client目录,所有人都可以访问doc目录.6,修改svnserve.conf文件,让用户和策略配置升效.svnserve.conf内容如下:[general]anon-access = noneauth-access = writepassword-db =/home/svn/project/conf/passwdauthz-db =/home/svn/project/conf/authz7,启动服务器# svnserve -d -r /home/svn8,测试服务器# svn co svn://192.168.60.10/projectAuthentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dPassword for 'root':Authentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dUsername: server_groupPassword for 'server_group':svn: Authorization failed ( server_group 没用根目录的访问权 )# svn co svn://192.168.60.10/projectAuthentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dPassword for 'root':Authentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dUsername: pmPassword for 'pm':A project/testA project/serverA project/clientChecked out revision 1. ( 测试提取成功 )# cd project/server# vim main.c# svn add main.c# svn commit main.c -m "测试一下我的C 程序,看什么看,不行啊??"Adding main.cTransmitting file data .Committed revision 2. ( 测试提交成功 )三,配置SVN服务器的HTTP支持1,转换SVN服务器的密码由于SVN服务器的密码是明文的,HTTP服务器不与支持,所以需要转换成HTTP支持的格式。
Linux下SVN服务器的搭建与配置

Linux下SVN服务器的搭建与配置下载最新的svn压缩包/downloads/subversion-1.4.5.tar.gz//解压SubVersion安装包(root用户进行下面的操作) # tar xvzf subversion-1.4.5.tar.gz //进入解压后的目录# cd Subversion-1.4.5//配置subversion安装#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion--with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib--enable-maintainer-mode# make//安装# make install//创建库文件所在的目录(svnroot用户进行下面的操作)# mkdir /home/svnroot/repository//进入subversion的bin目录# cd /usr/local/subversion/bin//创建仓库"test"# ./svnadmin create /home/svnroot/repository/test# cd /home/svnroot/repository/test//看看是不是多了些文件,如果是则说明Subversion安装成功了# ls –l# cd /usr/local/subversion/bin//这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion 仓库中去,//提交后的修订版为1。
# ./svn import /home/user/import file:///home/svnroot/repository/test –m "注释"//不让其他人有该目录的权限# chmod 700 /home/svnroot/repository修改Apache配置文件# cd /usr/local/apadche2/bin//启动Apache# ./apachect1 start# vi /usr/local/apache2/conf/httpd.conf//在最下面添加LoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so<Location /svn>DAV svnSVNParentPath /home/svnroot/repository/ //svn父目录AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件AuthType Basic //连接类型设置AuthName "Subversion.zoneyump" //连接框提示AuthUserFile /home/svnroot/repository/authfile //用户配置文件Require valid-user //采用何种认证</Location>//其中authfile是通过"htpasswd [–c] /home/svnroot/repository/authfile username pass word"来创建的//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。
在linux下安装配置svn独立服务器

在linux下安装配置svn独立服务器subversion(以下简称svn)是近年来崛起的版本管理工具,是cvs的接班人。
svn服务器有2种运行方式:独立服务器和借助apache。
2种方式各有利弊。
svn存储版本数据也有2种方式:BDB和F SFS。
因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSF S 方式更安全一点。
1. svn服务器安装操作系统: Redhat LinuxAS4安装包获取:下载/downloads/subversion-1.4.0.t ar.gz和/downloads/subversion-deps-1.4.0.tar.gz。
编译:以root用户登录。
将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.t ar.gz传到服务器。
tar xfvz subversion-1.4.0.tar.gztar xfvz subversion-deps-1.4.0.tar.gzcd subversion-1.4.0./configure --prefix=/opt/svn --without-berkeley-db --with-zlib(注:以svnserve方式运行,不加apache编译参数。
以fsfs格式存储版本库,不编译berkeley-db)make cleanmakemake installvi /etc/profile,在/etc/profile最后加入:PA TH=$PA TH:/opt/svn/binexport PATH测试:svnserve --version如果显示如下,安装成功:svnserve, version 1.4.0 (r21228)compiled Oct 12 2006, 10:18:56Copyright (C) 2000-2006 CollabNet.Subversion is open source software, see /This product includes software developed by CollabNet (/).The following reposit ory back-end (F S) modules are available:* fs_fs : Module for working with a plain file (FSF S) reposit ory.2. svn配置建立版本库目录,可建多个:mkdir -p /opt/svndat a/repos1mkdir -p /opt/svndat a/repos2建立版本库:svnadmin create /opt/svndata/repos1svnadmin create /opt/svndata/repos2修改版本库配置文件:版本库1:vi /opt/svndat a/repos1/conf/svnserve.conf内容修改为:[general]anon-access = noneauth-access = writepassword-db = /opt/svn/conf/pwd.confauthz-db = /opt/svn/conf/authz.confrealm = repos1版本库2:vi /opt/svndat a/repos2/conf/svnserve.conf内容修改为:[general]anon-access = noneauth-access = writepassword-db = /opt/svn/conf/pwd.confauthz-db = /opt/svn/conf/authz.confrealm = repos2即除realm = repos2外,其他与版本库1配置文件完全相同。
Linux下搭建 SVN 服务器

Linux下搭建 SVN 服务器搭建步骤:1.在命令行输入yuminstallsubversion安装软件包2.安装之后可以输入svn--help查看svn的使用方法3.创建svn版本库目录#mkdir-p/var/svn4.创建版本库#svndamincreate/var/svn执行这个命令之后会在/var/svn/目录下生成一些文件5.进入conf目录(该版本库的配置文件存放目录)authz文件是权限控制文件passwd文件是密码文件svnserve.conf文件是svn服务器配置文件6.设置账号密码#vipasswd在[user]块中添加用户和密码,格式:账号=密码,如arron=1234567.设置权限,修改用户访问策略#viauthz在末尾添加如下代码:[/]arron=rww=r意思是版本库的根目录对arron有读写权限,w只有读权限。
当用户很多的时候可以利用groups。
8.修改svnserve.conf文件,让用户和策略配置生效#visvnserve.conf将文件中的下面几行注释去掉:anon-access=readauth-access=writepassword-db=passwdauthz-db=authz9.启动服务器#svnserve-d-r/var/svnsvn默认的是3690端口,可以通过netstat-na查看该端口是否启用或者占用。
当然也可以在上面的命令后面再加--listen-port端口号指定端口10.测试(服务器上测试)#svncosvn://ip地址(客户端)下载svn客户端(TortoiseSVN),选择一个测试文件夹右键选择checkout,填写svn地址,输入密码OK即可。
下面是两种防火墙开启和关闭的方法:(1)重启后生效开启:#chkconfigiptableson关闭:#chkconfigiptablesoff(2)即时生效,重启后失效开启:#serviceiptablesstart关闭:#serviceiptablesstopiptables查看防火墙状态:#/etc/init.d/iptablesstatus 暂时关闭防火墙:#/etc/init.d/iptablesstop重启iptables:#/etc/init.d/iptablesrestart。
linux搭建svn服务器的方法步骤

linux搭建svn服务器的⽅法步骤⼀:安装svnyum install -y subversion⼆:创建仓库1:创建仓库⽬录mkdir -p /var/project/test2:创建仓库svnadmin create /var/project/test创建成功后,在/var/project/test⽬录下如下⽬录:drwxr-xr-x. 2 root root 51 1⽉ 30 13:26 confdrwxr-sr-x. 6 root root 4096 1⽉ 30 13:26 db-r--r--r--. 1 root root 2 1⽉ 30 13:26 formatdrwxr-xr-x. 2 root root 4096 1⽉ 30 13:26 hooksdrwxr-xr-x. 2 root root 39 1⽉ 30 13:26 locks-rw-r--r--. 1 root root 229 1⽉ 30 13:26 README.txtconf⽬录下是svn的配置⽬录,其中包括:-rw-r--r--. 1 root root 1080 1⽉ 30 13:26 authz #权限控制-rw-r--r--. 1 root root 309 1⽉ 30 13:26 passwd #密码管理-rw-r--r--. 1 root root 3090 1⽉ 30 13:26 svnserve.conf #SVN服务进程配置三:svn配置1:权限配置(/var/project/test/conf/authz)#⽤户分组(admin->管理员,development ->开发 other->其他)[groups]admin = test1 #管理员⽤户test1development = test2,test3 #开发⽤户test2,test3other = test4,test5,test6 #其他⽤户test4,,test5,test6#权限配置[/]@admin = rw #管理员读写权限@development = rw #开发读写权限@other = r #其他读权限test7 = rw #test7⽤户读写权限2:密码配置(/var/project/test/conf/passwd)#密码配置,格式为⽤户名=密码,密码为明⽂[users]test1 = test1test2 = test2test3 = test3test4 = test4test5 = test5test6 = test6test7 = test73:SVN服务进程配置(/var/project/test/conf/svnserve.conf)[general]anon-access = none #匿名⽤户⽆权访问auth-access = write #认证⽤户可读写password-db = passwd #指定⽤户认证密码⽂件authz-db = authz #指定权限配置⽂件四:启动svn服务(默认端⼝号3690)复制代码代码如下:svnserve -d -r /var/project #-d 服务后台运⾏ -r 指定⼯作⽬录,/var/project表⽰指定⼯作⽬录,注意不能指定仓库名地址(/var/project/test)指定端⼝启动svnsvnserve -d -r /var/project --listen-port 3691五:关闭防⽕墙,或开启指定端⼝号1:关闭防⽕墙systemctl stop firewalld2:开启指定防⽕墙#开启3690端⼝firewall-cmd --zone=public --add-port=3690/tcp --permanent#刷新配置firewall-cmd --reload六:客户端连接并上传⽂件windows上连接svn1:新建⼀个⽬录,右击选择svn 检出2:在版本库上填写linux的svn地址 svn://ip:3690/仓库名 (这⾥的仓库名不是/var/project/test⽽是/test)2:填写⽤户名密码这时候我们可以看到此⽬录下⽣成了⼀个.svn⽂件,说明我们已经连接上了linux上的svn服务器3:上传⽂件现在我们新建⼀个test.txt⽂件,在⾥⾯随便填⼀些信息(1)右击选择add然后选择test.txt⽂件,点击确定,这时候我们会看到test.txt⽂件上会多了⼀个加号(2):上传右击选择提交填写备注选择要上传的⽂件后点击确定这时候我们可以看到test.txt⽂件上的加号会变成绿⾊的对号,表⽰上传成功但是这时候我们发现我们在/var/project/test⽬录下根本就没有找到我们上传的⽂件,这是为什么呢?难道我们没有上传成功,这是由于把⽂件上传到SVN版本库后,上传的⽂件不再以⽂件原来的格式存储,⽽是被svn以它⾃定义的格式压缩成版本库数据,存放在版本库中,svn服务器版本库有两种格式,⼀种为FSFS,⼀种为BDB这时候我们就需要在linux中实现检出4:检出svn checkout svn://192.168.11.201/test /data/test #svn://192.168.11.201/test表⽰需要检出的仓库地址 /data/test表⽰需要检出到哪个⽬录下这是我们可以在/data/test⽬录下看到我们之前在客户端上传的⽂件,但是现在问题⼜来了,我们在客户端上传⽂件之后,不可能每次都在服务器进⾏检出操作吧,那么如何进⾏⾃动检出呢?5:⾃动检出配置在/var/project/test/hooks⽬录下新建⼀个post-commit⽂件,post-commit⽂件添加内容为:#!/bin/shREPOS="$1" #仓库REV="$2" #版本号export.UTF-8 #编码SVN=/usr/bin/svn #svn地址WEB=/data/test #要更新的项⽬⽬录$SVN update $WEB --username test1 --password test1 #--username test1表⽰设置⽤户名 --password test1表⽰设置密码将post-commit设置为可执⾏chmod +x /var/project/test/hooks/post-commit到此⾃动检出配置完成,不过注意,第⼀次的时候需要⼿动检出,之后就不需要了,到此linux搭建svn服务器完成以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
linux下搭建svn服务器

自己摸索了几天,今天终于小有成就!从零基础逐渐壮大,收获还是颇丰的!系统环境:虚拟机中Red Hat Enterprise Linux 4客户端windows: TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi需要的软件包:subversion-1.6.5.tar.bz2apr-1.3.8.tar.gz apr-util-1.3.9.tar.gzsqlite-amalgamation-3.6.13.tar.gzhttpd-2.2.4(不需要支持http访问的可以不安装)文章将阐述全过程,不需要支持http的可以不配置appche接下来的安装都是在root身份下安装apache#tar -zxvf httpd-2.2.4.tar.gz#cd httpd-2.2.4.tar.gz#./configure --prefix=/usr/local/apache 此处将会在后面的make时创建--enable-dav --enable-so --enable-modules=most注:--enbalce-dav 选项一定要加上启动apache#/usr/local/apache/bin/apachectl start打开浏览器http://192.168.58.xxx 如果有显示"It works!"则证明已经安装成功注:其中IP为安装apache机器的IP 也就是svn服务器的IP#make#make install安装apr apr-util#tar -zxvf apr-1.3.8.tar.gz注:解压时也可在此指定解压路径当然了安装时要进入其中#cd apr-1.3.8#./configure --prefix=/usr/local/apr 此路径为最终安装路径留个印象后面能用到#make#make install#tar -zxvf apr-util-1.3.9.tar.gz#cd apr-util-1.3.9.tar.gz#./configure=/usr/local/apr-util --with-apr=/usr/local/apr 提供apr支持 =后面为apr安装路径#make#make install安装 sqlite#tar -zxvf sqlite-amalgamation-3.6.13.tar.gz#cd sqlite-3.6.13#./configure --prefix=/usr/local/sqlite#make#make install安装svn#tar -zxvf subversion-1.6.5.tar.bz2#cd subversion-1.6.5#./configure --prefix=/usr/local/svn--with-paxs=/usr/local/apache/bin/apxs--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util--with-sqlite=/usr/local/sqlite--with-zlib=/usr/local/zlib 此处地址不定看看你zlib的安装路径在哪把它写在这没有的话自己装一个路径写这--with-ssl--enable-maintainer-mode#make#make install注:--with-zlib=/...后面不写路径会报错svn服务器安装结束安装svn客户端windows 下安装TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi 常用软件安装方法SVN配置建立版本库#mkdir -p /opt/svn#/usr/bin svnadmin create /opt/svn/repository#ls -l /opt/svn/repository有内容显示说明版本库建立成功#vi /opt/svn/repository/conf/svnserve.conf修改如下内容:并把每行的#去掉[general]anon-access = noneauth-access = writepassword-db = /opt/svn/repository/conf/passwd 此为系统自动生成文件,但要修改过之后才能生效authz-db = /opt/svn/authz.conf 此文件还没有创建但系统已经为此自动生成了一个文件,路径同上我用我自己创建的realm = repository创建svn用户此用户也就是客户端的登陆用户#htpasswd -c /opt/svn/htpasswd admin之后体统会提示输入密码、校验密码注:第一次创建svn用户时要加 -c 意思是:如果htpasswd存在将覆盖写入往后再创建svn用户时也是执行此命令不过不用加 -cadmin 为用户名标识登陆用户例:新增加用户user#htpasswd /opt/svn/htpasswd user用户配置文件#vi /opt/svn/repository/conf/passwd在最下面添加两行代码格式为:用户名 = 密码admin = admin 前不要加# 、留空格user = user权限配置文件#vi /opt/svn/authz.conf写入如下代码[groups]admin = admin,user[/]@admin = rw 代表admin的所有组员有读写权限注:admin组里面有admin和user组员其中有一个以上的组员时要用逗号隔开这一部分自己可以找资料看看设计内容很多,我只建了一个版本库,还有多个版本库的设置,版本库下的具体目录权限设置启动svn服务#svnserver -d --listen-port 9999 -r /opt/svn/repository注:启动时也是有名堂的可以找资料看看-d 后台运行9999是要监听的端口-r 后面的是版本库路径#ps -ef | grep svnserve 查看svn有没有启动成功成功显示root 5088 1 0 Jul05 ? 00:00:00 svnserve -d --listen-port 9999 -r /opt/svn/repository客户端登陆右键单击某个文件夹点击check out输入URL:svn://192.168.58.XXX:9999/opt/svn/repository其中IP为启动svn服务的机器的IP不用支持http的下面范围内可以不用理会/***********************************/配置apache#vi /usr/local/apache/conf/httpd.conf做如下修改:listen 80 如果是以root用户启动apache此处不用修改其他用户启动的要修改大于1024的否则报错# Example:# LoadModule foo_module modules/mod_foo.soLoadModule dav_module modules/mod_dav.soLoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so注:此段代码我的没有我自己添加的因为后面启动apache时报:Invalid command 'DAV', perhaps mis-spelled or defined by a module not included in the server configuration 别光添加代码还要确保此文件上级目录下的 modules 里面有相应的模块没有的话另外下载其他的 httpd-xxx-xxx 解压安装把其中的相应模块拷贝过来User svnGroup svnServerName 192.168.58.xxx IP设置svn服务器的IP把DocumentRoot "/usr/local/apache/htdocs"改为DocumentRoot "/opt/svn/repository"把<Directory "/usr/local/apache/htdocs">改为<Directory "/opt/svn/repository">另外在最下面添加:<Location /opt/svn>DAV svn 如果没有Loadmodules xxx_dav xxx.so 此处会报错SVNParentPath /opt/svn svn设置AuthType Basic 连接类型设置AuthName "Subversion Authorization" 连接框提示AuthzSVNAccessFile /opt/svn/authz.conf 权限配置文件此文件中有 [group] AuthUserFile /opt/svn/htpasswd 此文件中存的是用 htpasswd 创建的Require valid-user 采用何种认证</Location>重启apache 验证配置/usr/local/apache/bin/apachectl restart 如果没有启动用start打开浏览器访问http://192.168.58.xxx/opt/svn/repository --》弹出登陆框如果不弹出登陆框则配置失败/***********************************/最后:我安装过程中错误千奇百怪的,一点一点上网搜资料,慢慢的就完善了!也预祝你们顺利!。
linux下搭建SVN

linux下搭建SVN查看系统下有没有安装过⽼版本的svn:rpm -qa subversion,如果没安装过则什么都不显⽰如果有⽼版本先运⾏⼀下yum -y remove subversion,删除⽼版本。
第⼀步:通过yum命令安装svnserve,命令:yum -y install subversion此命令会全⾃动安装svn服务器相关服务和依赖,安装完成会⾃动停⽌命令运⾏若需查看svn安装位置,可以⽤命令:rpm -ql subversion第⼆步:创建版本库⽬录(此仅为⽬录,为后⾯创建版本库提供存放位置,subversion默认是把/var/svn作为数据根⽬录的,开机启动默认也是从这⾥):mkdir /var/svn/svnrepos第三步:创建svn版本库在第⼆步建⽴的路径基础上,创建版本库:svnadmin create /var/svn/test(test为⽬录(项⽬或版本库)名称,后⾯checkout项⽬时会⽤到。
)创建成功后,进⼊test⽬录下,可以看见如下⽂件信息:cd /var/svn/testconf:是这个仓库配置⽂件(仓库⽤户访问账户,权限)format:是⼀个⽂本⽂件,⾥边只放了⼀个整数,表⽰当前⽂件库配置的版本号hooks:放置hook脚步⽂件的⽬录locks:⽤来放置subversion的db锁⽂件和db_logs锁⽂件的⽬录,⽤来追踪存取⽂件库的客户端第四步:配置修改进⼊conf,conf⽬录下,⼀共存放三份重要的配置⽂件,如下:authz:负责账号权限的管理,控制账号是否读写权限passwd:负责账号和密码的⽤户名单管理svnserve.conf:svn服务器配置⽂件修改svnserve.conf:vim svnserve.conf原始⽂件内容,都被注释掉的,我们只需要去掉指定内容前注释即可,如下:[general]anon-access = none #控制⾮鉴权⽤户访问版本库的权限auth-access = write #控制鉴权⽤户访问版本库的权限password-db = passwd #指定⽤户名⼝令⽂件名,即访问时要输⽤户名和密码realm = test #指定版本库的认证域,即在登录时提⽰的认证域名称,改成⾃⼰的版本库修改authz⽂件信息:vim authz在⽂件内容的末尾,添加如下:rw表⽰赋予此账号可读写的权限,r为读,w为写,注意[/]中的斜杠,这⾥如果斜杠反了,authz-db = authz ⼀直会提⽰“认证失败”第⼀种⽅式:单个添加:# 按账号分权限[test/]admin = rwtest = r第⼆种⽅式(后⾯采⽤此⽅式配置):⽤户分组,再设权限[groups]# 按⽤户组分权限admin = admin,admin1 # admin为⽤户组,等号之后的为⽤户test = test1, test2 # test为⽤户组,等号之后的为⽤户[/] # 表⽰svn仓库⽬录(/var/svn/test),test: 对应前⾯配置的realm = test@admin = rw # 表⽰admin组对仓库(/var/svn/test)⽬录有读写权限,r为读,w为写@test = r # 表⽰test组的⽤户对对仓库(/var/svn/test)⽬录只有读的权限[/test1] # 表⽰test1⽬录(/var/svn/test/test1)@test = rw # 表⽰test组对test1⽬录有读写权限* =备注:版本库的⽬录格式如下:[<版本库>:/项⽬/⽬录]@<⽤户组名> = 权限<⽤户名> = 权限其中[]內容有許多写法:[/],表⽰根⽬录及其⼀下的路径,根⽬录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表⽰对全部版本设置的权限[test:/],表⽰对版本库test设置权限;[test:/svnadmin],表⽰对版本库test中的svnadmin项⽬设置权限;[test:/svnadmin/second],表⽰对版本库test中的svnadmin项⽬的⽬录设置权限;权限的主体可以是⽤户组,⽤户或者*,⽤户组在前⾯要以@开头,*表⽰全部⽤户权限分为:r ,w, rw和null ,null空表⽰没有任何权限。
linux下安装svn详解

前言SVN服务器有2种运行方式:独立服务器和借助apache。
2种方式各有利弊,独立SVN服务器不结合Apache安装使用,连接独立SVN服务器也不用HTTP协议。
这是比较快捷的SVN服务器配置方法。
本次安装时使用的是独立用品方式。
SVN存储版本数据也有2种方式:BDB和FSFS。
因为BDB方式在服务器中断时,有可能锁住数据所以还是FSFS方式更安全一点,我安装时也使用的是FSFS方式。
一下载工具1. subversion-1.6.17.tar.gz2. subversion-deps-1.6.17.tar.gz这两个包可以直接到CSDN去下载,版本要一样,都是必须下载的,否则单独下载第一个包编译时就会提示缺少模块。
这两个包下载解压后会解压到同一个目录下,不需要特别指定。
二解压安装1. 解压两个包:在此之前,我已经创建了一个用户svnadmin专门用来安装管理svn的,就解压在/home/svnadmin/目录下tar -xzvf subversion-1.6.17.tar.gztar -xzvf subversion-deps-1.6.17.tar.gz2. 编译安装./configure --prefix=/home/svnadmin/subversion --without-berkeley-db //prefix指定安装的目录,without-berkeley-db表明不使用berkeley数据库//在这一步有可能不成功,是因为有一些依赖的软件没装,具体见下面“遇到的问题”makemake install//也许要sudo,看情况3. 查看是否安装成功/home/svnadmin/subversion/bin/svnserve --version//如果出现SVN的版本则证明安装成功三添加环境变量可以在/etc/profile中添加,这是全局的。
其实最好是专门添加一个svnadmin 用户,在~/.bashrc中添加即可:exprot PATH=$PATH:/home/svnadmin/subversion/bin四建立仓库1. 创建目录mkdir -p /home/svnadmin/svndata/repos1加上参数P,是如果没有父目录则自动创建注意: /home/svnadmin/svndata在这里将是所有仓库的根目录,repos1是其中的一个仓库。
Linux下安装SVN服务端的方法步骤

Linux下安装SVN服务端的⽅法步骤⼀、yum 安装yum install subversion⼆、配置1、创建仓库我们在/home下建⽴⼀个名为svn的仓库(repository),以后所有代码都放在这个下⾯,创建成功后在svn下⾯多了⼏个⽂件夹。
[root@localhost /]# cd /home[root@localhost home]# mkdir svn[root@localhost home]# svnadmin create /home/svn[root@localhost home]# ls svnconf db format hooks locks README.txtconf⽂件夹,是存放配置⽂件的[root@localhost home]# cd svn/conf[root@localhost conf]# lsauthz passwd svnserve.confauthz 是权限控制⽂件passwd 是帐号密码⽂件svnserve.conf 是SVN服务配置⽂件2、配置passwd ⽂件[root@localhost conf]# vim passwd### This file is an example password file for svnserve.### Its format is similar to that of svnserve.conf. As shown in the### example below it contains one section labelled [users].### The name and password for each user follow, one account per line.[users]# harry = harryssecret# sally = sallyssecretuser1=123456user2=1234563、配置authz[root@localhost conf]# vim authz### This file is an example authorization file for svnserve.### Its format is identical to that of mod_authz_svn authorization### files.### As shown below each section defines authorizations for the path and### (optional) repository specified by the section name.### The authorizations follow. An authorization line can refer to:### - a single user,### - a group of users defined in a special [groups] section,### - an alias defined in a special [aliases] section,### - all authenticated users, using the '$authenticated' token,### - only anonymous users, using the '$anonymous' token,### - anyone, using the '*' wildcard.###### A match can be inverted by prefixing the rule with '~'. Rules can### grant read ('r') access, read-write ('rw') access, or no access### ('').[aliases]# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average[groups]# harry_and_sally = harry,sally# harry_sally_and_joe = harry,sally,&joe# [/foo/bar]# harry = rw# &joe = r# * =# [repository:/baz/fuz]# @harry_and_sally = rw# * = r[/]user1=rwuser2=r*=~4、配置svnserve.conf[root@localhost conf]# vim svnserve.conf### This file controls the configuration of the svnserve daemon, if you### use it to allow access to this repository. (If you only allow### access through http: and/or file: URLs, then this file is### irrelevant.)### Visit / for more information.[general]### The anon-access and auth-access options control access to the### repository for unauthenticated (a.k.a. anonymous) users and### authenticated users, respectively.### Valid values are "write", "read", and "none".### Setting the value to "none" prohibits both reading and writing;### "read" allows read-only access, and "write" allows complete### read/write access to the repository.### The sample settings below are the defaults and specify that anonymous ### users have read-only access to the repository, while authenticated### users have read and write access to the repository.anon-access = readauth-access = write### The password-db option controls the location of the password### database file. Unless you specify a path starting with a /,### the file's location is relative to the directory containing### this configuration file.### If SASL is enabled (see below), this file will NOT be used.### Uncomment the line below to use the default password file. password-db = passwd### The authz-db option controls the location of the authorization### rules for path-based access control. Unless you specify a path### starting with a /, the file's location is relative to the the### directory containing this file. If you don't specify an### authz-db, no path-based access control is done.### Uncomment the line below to use the default authorization file.authz-db = authz### This option specifies the authentication realm of the repository.### If two repositories have the same authentication realm, they should### have the same password database, and vice versa. The default realm ### is repository's uuid.# realm = My First Repositoryrealm = /home/svn### The force-username-case option causes svnserve to case-normalize### usernames before comparing them against the authorization rules in the ### authz-db file configured above. Valid values are "upper" (to upper-### case the usernames), "lower" (to lowercase the usernames), and### "none" (to compare usernames as-is without case conversion, which### is the default behavior).# force-username-case = none[sasl]### This option specifies whether you want to use the Cyrus SASL### library for authentication. Default is false.### This section will be ignored if svnserve is not built with Cyrus最后⼀⾏的realm记得改成你的svn⽬录打开注释时切记前⾯不要留有空格三、启动与停⽌[root@localhost conf]# svnserve -d -r /home/svn(启动)[root@localhost conf]#kill all svnserve(停⽌)以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
linux下svn服务器的搭建

#./configure --prefix=/usr/local/neon
#make
#make install
5) 安装openssl
/source/ Download openssl-0.9.8h.tar.gz
#./config --prefix=/usr/local/openssl
#make
#make install
4) 运行#svnserve --version看是否安装成功,如果安装成功则可以看到其 版本信息
5) 运行svnserve
# svnserve -d -r /opt/svndata/project1
如果svn服务器运行成功,则可以使用netstat -ntlp查看服务的端口, 如果3690号端口正在被使用,则表示开启成功,要卸载此服务只要kill p id即可。
http://localhost/,如果有测试页"It works!"出现,则证明已经安装成功。
7. 启动#/usr/local/apache/bin/apachectl start
8. 在浏览器输入地址http://localhost/,如果浏览器出现It works. 说明 apache安装成功
# vi /usr/local/apache2/conf/httpd.conf
修改内容:
ServerName :80 为
ServerName localhost:80或者Apache服务器的IP
安装完成并修改后,启动apache进程:/usr/local/apache2/bin/apachectl start(或者在/usr/local/apache2/bin/下,用./httpd –k start),然后打开浏览器
linux下svn的配置及svn常用命令

linux下svn的配置及svn常用命令SVN是Subversion的简称,是一个开放源代码的版本控制系统,svn服务器有两种运行方式:独立服务器和借助apache运行。
右图是一个svn的工作流程,它可以很方便用户的代码编写。
1.首先安装SVN:”sudo apt-get install subversion”.查看svn的版本和确定是否安装成功:”svnserve –version”.2.创建svn仓库:“svnadmin create msm”,其中msm是版本仓库的名字,仓库建立好了以后会有出现一个仓库名字的文件夹,文件夹下面有conf等几个目录和文件.接下来就需要设置版本仓库的权限了。
这里说明一下:版本库之间是独立的。
(下图为msm的目录)3.增加用户修改conf文件夹下的authz文件,该配置文件采用”基于路径授权”的策略,中括号里指定路径,以下列出对各用户的授权。
包括只读r,读写rw。
没有列出的用户,则不允许访问。
还可以对用户分组,列子如下用户组格式:[groups]<用户组名>=<用户1>,<用户2>其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:[<版本库>:/项目/目录]@<用户组名>=<权限><用户名>=<权限>,其中,方框号内部分可以有多种写法:/,表示根目录(仓储目录)及以下。
根目录是svnserve启动时指定的,我们指定/opt/svndata。
这样,/就是表示对全部版本库设置权限。
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
下图是我增加的用户组:(注意:等号后留有空格)增加后:4.修改用户密码添加用户后就要为用户设置密码了,打开conf/passwd文件:输入格式为,[users]<用户1> = <密码1> 如: admin = admin<用户2> = <密码2> 如: username2 = password2…...左边是我的添加:5.启动svn对用户权限、密码的控制需要启动SVN对用户权限、密码的控制,不然的话你就只能读而不能写了。
Linux安装SVN服务

Svn的安装:1.安装subversion服务:2.检验安装版本:3.创建SVN版本库:Gxsvn为版本库名称.4.SVN的配置:创建玩版本库后,在gxsvn目录下会自动生成几个配置文件: [root@localhost gxsvn]# lsconf db format hooks locks README.txt其中在conf目录下会生成3个配置文件:[root@localhost conf]# lsauthz passwd svnserve.conf[root@localhost conf]#(1)svnserve.conf:SVN服务配置文件。
(2)passwd:为用户名口令文件。
(3)authz:为权限配置文件。
Svnserve.conf文件:# anon-access = read :控制非授权用户访问版本库的权限。
# auth-access = write:控制授权用户访问版本库的权限。
# password-db = passwd :指定用户名和口令的文件。
# authz-db = authz :制定权限配置的文件名,通过该文件可以实现以路径为基础的访问。
# realm = My First Repository :指定版本库的认证域。
去掉前面的#生效.anon-access = read 改为anon-access = none不许匿名访问.Passwd文件:Authz文件:5.启动svn服务:注意:启服务路径为想看的上一级目录。
根目录。
[root@localhost /]# cd /svnguoxin/[root@localhost svnguoxin]# lsgxsvn[root@localhost svnguoxin]# cd gxsvn[root@localhost gxsvn]# lsconf db format hooks locks README.txt[root@localhost /]# svnserve -d -r /svnguoxin6.客户端登陆:svn://192.168.1.6/gxsvn安装yum-----http------svn:1.Yum安装下面一些包:[root@localhost ~]# yum install apr apr-util httpd httpd-devel subversion mod_dav_svn mod_auth_mysql2.建立SVN的目录:[root@localhost ~]# mkdir -p /svnpro/cme[root@localhost ~]#3.创建一个版本库:[root@localhost ~]# svnadmin create /svnpro/cme/trunk[root@localhost ~]#4.添加SVN的账号和密码:[root@localhost ~]# htpasswd -cm /svnpro/cme/trunk/passwd dwzhangNew password:Re-type new password:Adding password for user dwzhang[root@localhost ~]# htpasswd -m /svnpro/cme/trunk/passwd zhang1New password:Re-type new password:Adding password for user zhang1[root@localhost ~]#5.修改SVN目录访问权限:[root@localhost conf]# pwd/svnpro/cme/trunk/conf[root@localhost conf]# vi authzadministrator = dwzhangit = zhang1[/]@administrator = rw* =在/etc/httpd/modules目录下生成mod_dav_svn.so、mod_authz_svn.so两个模块。
(完整)Linux安装SVN服务器

Linux安装SVN服务器1.先在linux上安装subversion服务器端a)yum -y install subversion2.创建SVN资源库目录/svndata,用来存放svn项目a)mkdir /svndata3.生成SVN资源目录,(newsproject为自定义项目名目录)a)svnadmin /svndata/newsprojectb)cd /svndata/newsprojectc)ls 查看生成的目录:conf db format hooks locksd)e)cd /svndata/newsproject/conff)vi /svndata/newsproject/conf/authzg)在底部添加[/] zhang=rw wang=rwh)i)这里的[\]表示对根目录下的所有的子项目设置权限;[\news]只针对news项目4.配置SVN项目用户a)vi /svndata/newsproject/conf/passwdb)添加zhang=1234 [用户名=密码]c)d)anon-access=readauth-access=writepasswd—db=passwdauthz—db=authze)5.启动SVN(注意:下面启动命令中的目录一定要和第3步保持一致,否则客户端访问会提示不存在)a)svnserve —r /svndata/newsproject (-r表示后台执行—d表示守护进程)b)ps -ef|grep svnserve :查看是否启动c)killall svnserve:停止SVNd)也可以使用service svnserve stop,但一定不能使用service来启动SVN6.默认情况下通过windows客户端无法直接访问svn服务器,因为需要开端口a)可以先直接停掉防火墙(service iptables stop),通过客户端测试i.svn://192。
Linux下安装SVN服务端小白教程

Linux下安装SVN服务端⼩⽩教程安装使⽤yum安装⾮常简单:yum install subversion配置2.1. 创建仓库我们这⾥在/home下建⽴⼀个名为svn的仓库(repository),以后所有代码都放在这个下⾯,创建成功后在svn下⾯多了⼏个⽂件夹。
[root@localhost /]# cd /home[root@localhost home]# mkdir svn[root@localhost home]# svnadmin create /home/svn[root@localhost home]# ls svnconf db format hooks locks README.txt我们这⾥特别关注⼀下conf⽂件夹,这个是存放配置⽂件的[root@localhost home]# cd svn/conf[root@localhost conf]# lsauthz passwd svnserve.conf其中:authz 是权限控制⽂件passwd 是帐号密码⽂件svnserve.conf 是SVN服务配置⽂件接下来我们依次修改这3个⽂件。
2.2. 配置passwd[root@localhost conf]# vi passwd[users]test1=123456test2=123456上⾯的例⼦中我们创建了2个⽤户,⼀个test1,⼀个test22.3. 配置authz[root@localhost conf]# vi authz[/]liuxianan=rwtest1=rtest2=r*=上⾯配置的含义是,liuxianan对/home/svn/下所有⽂件具有可读可写权限,test只有只读权限,除此之外,其它⽤户均⽆任何权限,最后⼀⾏*=很重要不能少。
2.3.1. 拓展:使⽤⽤户分组这个我⼀般不⽤,但是记录下来。
还是这个⽂件:[root@localhost conf]# vi authz[groups]group1 = liuxianangroup2 = test1,test2[/]@group1 = rw@group2 = r* =上⾯配置中创建了2个分组,分组1的⽤户可读可写,分组2的⽤户只读。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux SVN 搭建(ubuntu 10.04)
1、安装subversion软件
sudo apt-get install subversion
2、建立一个目录作为SVN代码库管理的根目录(例:/home/svnadmin/svnsources/),只是一个普通目录,实际上是通过svnserve –d –r /home/svnadmin/svnsources/启动服务后暴露给网内其它机器的一个服务接入点:
mkdir /home/svnadmin/svnsources/
3、在SVN代码库管理的根目录下(/home/svnadmin/svnsources/)下建立一个代码库(repo),名称为testrepo:
svnadmin create /home/svnadmin/svnsources/testrepo
4、启动svn自带的svnserve服务供网内其它计算机使用:
svnserve -d -r /home/svnadmin/svnsources
此时便可以在局域网中通过svn://192.168.0.142/testrepo来访问testrepo这个代码库的内容了注:可以加--listen-port参数来指定端口(默认为3690),如:
svnserve -d --listen-port 3691 -r /home/svnadmin/svnsources启动服务
然后在局域网中通过svn://192.168.0.142:3691/testrepo来进行访问
5、建立一个目录(例:/home/gli/projectImport),把代码放置到主干(trunks)下,如project 为一份需要管理的代码:
projectImport
|--branches
|--tags
|--trunks
|--project
注:这个并不是必须的,只是采用这种结构管理代码是比较合理的一种方式
6、然后将这个目录(/home/gli/projectImport)导入到testrepo中去管理:
svn import -m"init testrepo" /home/gli/projectImport/ file:///home/svnadmin/svnsources/testrepo/
7、拉出一个分支来进行开发(svn copy source destination):
svn copy -m"init from trunks" file:///home/svnadmin/svnsources/testrepo/trunks/project file:///home/svnadmin/svnsources/testrepo/branches/project
注:其中source可以是本地工作副本,destination为代码库中的URL
8、当开发到一个稳定版本后或某个阶段后,需要打一些标签(tags)以方便管理:
svn copy -m"init from trunks" file:///home/svnadmin/svnsources/testrepo/branches/project file:///home/svnadmin/svnsources/testrepo/tags/project
9、若有另一个项目需要管理,可重复步骤5到8来进行开发管理。
10、在本地或网内签出代码(假设服务器的IP为192.168.0.142,名为ubuntu):
本地:svn checkout file:///home/svnadmin/svnsources/testrepo/branches/project /home/gli/project 网内:svn checkout svn://192.168.0.142/testrepo/branches/project /home/gli/project 或svn checkout svn://ubuntu/testrepo/branches/project /home/gli/project
11、以上的开发体系结构可用下图表示,特性见图中说明:
11、可供采用的其他体系结构如下(供参考):
12、用户权限的管理(以下配置只对通过svnserve提供的服务有效):
①、首先修改svnserve.conf,将注释打开如下:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
注:anon-access 未认证用户(简配为none,否者认证用户查看日志还需增加一些设置)auth-access 经认证用户
password-db 指定用户及密码的配置文件,可以是相对路径
authz-db指定用户权限的配置文件,可以是相对路径
②、配置passwd文件:
在[users]字段下增加用户及密码,例:
[users]
gli = 123456
sli = 123456
szhang = 123456
注:空格不能省略
③、配置authz文件:
[aliases]
joe = DC=red-bean, Joe A verage
[groups]
manager = gli
developer = sli
[/]
* =
$anonymous =
$authenticated = r
szhang = r
&joe = r
@developer = r
@manager = rw
[testrepo:/]
* =
$anonymous =
$authenticated = r
szhang = r
&joe = r
@developer = r
@manager = rw
注:[aliases]字段为别名
[groups]将用户归类到组
[testrepo:/]指定具体目录的用户权限,可以为组,也可以为单独用户;组前以@开头,别名用户以&开头,单独用户不需要加前缀;*表示其他用户,$authenticate代表验证通过的
用户,$anonymous代表未验证通过的用户。
权限有rw、r和空,空表示没有任何权限。
这里的路径[/]表示版本库根目录(svnserve时指定的路径),然后具体的版本库需写明路径,如[testrepo:/],需注意的是testrepo是一个版本库,其位于svn版本库根目录下,不可以写成[/testrepo:/]或[./testrepo:/],及版本库名之前为具体的linux下存放路径(如另一个版本库[mtk/mt6575:/]),另外由于版本库里面的内容目录结构是受SVN数据库管理的,不同于linux 直接的文件目录,故需加[:/],例如需对testrepo版本库里的trunks分支增加权限控制,应写成[testrepo:/trunks/]
注:当[anon-access = read]将导致认证用户无法获取日志,此时设为[anon-access = none]即可。
导致认证用户无法获取日志可能是由于先检测到anon-access为可读,所以就以anon-access 身份读取日志,但authz配置里又没有给anon-access权限,所以读取日志是权限不够
13、查看SVN库下的具体内容:
本地:svn list file:///home/svnadmin/svnsources/testrepo/
网内:svn list svn://192.168.0.142/testrepo/
或svn list svn://ubuntu/testrepo/
14、。