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 --》弹出登陆框如果不弹出登陆框则配置失败/***********************************/最后:我安装过程中错误千奇百怪的,一点一点上网搜资料,慢慢的就完善了!也预祝你们顺利!。
- 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、。