linux下搭建svn服务器(doc 8页)
Linux下SVN部署安全及权限配置,实现web同步更新
![Linux下SVN部署安全及权限配置,实现web同步更新](https://img.taocdn.com/s3/m/b6a795fc102de2bd960588a6.png)
[examPro:/]
@g_vip=rw
@g_fronter=r
@g_doc=r
[examPro:/protected/modules]
@g_vip=rw
@g_fronter=
*=
[examPro:/protected]
@g_doc=
对于以上代码的配置的详细说明,可以参考本文的参考文章[1]SVN权限配置,里面介绍的比较详细,这里就不多说,有疑问的请留言或mail;
Linux下SVN部署/安全及权限配置,实现web同步更新:
本文包含以下内容:
SVN服务器安装
SVN权限管理
SVN使用SASL加密
SVN上传时同步其它目录
需求
在WEB线上版本管理的基础上,能够在代码上传之后,立刻通过WEB访问,查看修改效果;同时,保证数据的安全性;
#export LANG=zh_CN.UTF-8
export LANG=en_US.UTF-8
2.设置SVN更新时需要同步更新的目录
svn update /alidata/www/examplePro --username yoursname --password yourpwd
以上这行表明,当svn服务器版本有更新时,则同步更新到/alidata/www/examPro目录下的对应文件;yoursname 和yourpwd是你在sasl中设置的用户名和密码;(这里还是涉及到了明文存放,对此,你可以分配一个用户对svn版本库只有全局的读权限)
现在,SVN就实现了版本管理的功能,同时,同步更新的目录有利于测试人员集成测试;
开发人员需要保证的是,任何时候签入到svn库中的版本是可运行的代码。
linux下搭建SVN手册
![linux下搭建SVN手册](https://img.taocdn.com/s3/m/30ca54e8f705cc1755270937.png)
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支持的格式。
Svn Linux安装方法
![Svn Linux安装方法](https://img.taocdn.com/s3/m/5e90e2d950e2524de5187e94.png)
Svn 安装方法1.创建 svn linux 用户:a)使用root 用户登录后,创建svn 组 gsvn, 创建用户 svn .b)创建组命令: groupadd gsvnc)创建用户命令: useradd –s svn -p svn -r svn –g gsvnd)修改密码: passwd svn2.安装java 运行环境 : jdk1.6a)Jdk linux 安装文件jdk-6u23-linux-x64.binb)安装jdk命令: ./jdk-6u23-linux-x64.binc)配置环境变量:在 /ect/profile 文件中添加如下变量:export JAVA_HOME=/svnserver/jdk1.6.0_23export JRE_HOME=/svnserver/jdk1.6.0_23/jreexport CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH3.安装svn 服务器: CollabNetSubversionEdge-1.3.1_linux-x86_64.tar.gza)安装文件CollabNetSubversionEdge-1.3.1_linux-x86_64.tar.gz.b)安装命令:tar -zxfCollabNetSubversionEdge-1.1.0_linux-x86.tar.gz 4.启动svn 服务器:o Svn 解压后会生成一个csvn 文件夹 ,移动到csvn 文件夹下: cd csvno启动命令: bin/csvn start5.管理台a)安装完成后页面,登录用户名/密码: admin/adminb)启动完成后登录管理台进行服务器设置:http://localhost:3343/csvn/ c)设置svn 端口号:。
Linux下多项目SVN配置方法
![Linux下多项目SVN配置方法](https://img.taocdn.com/s3/m/ffc5f6fbba0d4a7302763a33.png)
1. 安装SVN服务器软件2. 在home下创建svn根目录mkdir /home/svnroot3. 在/home/svnroot下创建Project1 , Project 2, Project3 三个项目文件夹,这三个文件夹要存放不同项目的SVN版本库。
4. 同样在/home/svnroot中创建CodeAuth 文件夹,该文件夹将保存passwd 和authz文件,在第6步中实现。
5. 创建项目cd /home/svnrootsvnadmin create Project1svnadmin create Project2svnadmin create Project3分别创建了三个项目的版本库,版本库目录conf中存在passwd 、authz、和svnserve.conf 文件passwd - 用于存放本svn库的用户名和密码authz - 存放本svn库的访问授权信息svnserve.conf 文件为存放本svn库的全局访问控制信息6. 将passwd 、authz文件拷贝到/home/svnroot/CodeAuth中,将三个项目下conf目录中的passwd 和authz文件删除7. 修改三个项目中conf目录下的svnserve.conf 文件,最快的办法是修改一个项目下的svnserve.conf 文件,使用它覆盖其他两个项目下的svnserve.conf 文件。
svnserve.conf 修改为[general]anon-access = none auth-access = writepassword-db = /CodeAuth/passwdauthz-db = /CodeAuth/authz 8. 修改/home/svnroot/CodeAuth下的passwd文件为[users] admin=admin0019. 修改/home/svnroot/CodeAuth下的Authz文件为[groups] admin_group=admin[Project1:/]@admin_group=rw*=[Project2:/]@admin_group=rw*=[Project3:/]@admin_group=rw*=10. 启动SVN服务svnserve -d -r /home/svnrootOK,服务器端配置完毕!。
CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)
![CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)](https://img.taocdn.com/s3/m/9088130abed5b9f3f90f1c98.png)
CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)在CentOS linux下安装SVN,我们可以进行以下步骤:第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发工具”里)和Web服务器(Apache)。
我用的是CentOS 6.4版本,只需要安装DVD1这个iso文件即可。
这个DVD文件中有我们下面用到的许多配置文件和模块文件,像mod_dav_svn等文件,都不需要用yum 命令进行额外下载安装(光盘中的文件的版本都是进行严格匹配的)。
第一次启动CentOS时,你就可以运行命令svn --version,查看是否提示SVN版本信息。
[root@svn ~]# svn --versionsvn,版本1.6.11 (r934486)编译于 Jun 232012,00:44:03版权所有 (C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅 / 站点。
此产品包含由 CollabNet(/) 开发的软件。
可使用以下的版本库访问模块:* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。
-处理“http”方案-处理“https”方案* ra_svn : 使用 svn 网络协议访问版本库的模块。
-使用 Cyrus SASL 认证-处理“svn”方案* ra_local : 访问本地磁盘的版本库模块。
- 处理“file”方案【准备工作】1.关闭防火墙、做好网络配置。
此时,我们要关闭防火墙,执行命令service iptables stop。
同时执行命令setup,选择“网络配置”,去掉DHCP,设置192.168.2.20(客户端也在192.168.2.x同一个网段内),子网掩码255.255.255.0。
linux搭建svn服务器的方法步骤
![linux搭建svn服务器的方法步骤](https://img.taocdn.com/s3/m/4fd1a103f08583d049649b6648d7c1c708a10ba9.png)
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服务器
![linux下搭建svn服务器](https://img.taocdn.com/s3/m/8817db146edb6f1aff001f29.png)
自己摸索了几天,今天终于小有成就!从零基础逐渐壮大,收获还是颇丰的!系统环境:虚拟机中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](https://img.taocdn.com/s3/m/8e1decdbce2f0066f5332226.png)
一、准备关联包:1.apr-1.3.8.tar.gz。
下载页面:/download.php?id=25589&ResourceID=470直接复制:/distfiles/apr-1.3.8.tar.gz2.apr-util-1.3.9.tar.gz:下载页面:/download.php?id=25276&ResourceID=472直接复制:/distfiles/apr-util-1.3.9.tar.gz3.Apache,系统已默认安装,其版本可用apachectl–v 查看,我的是Apache/2.2.3。
建议重新安装,因各种包找不到。
下载httpd-2.2.17.tar.gz:下载页面:/download.cgi#apache22直接复制:/apache-mirror//httpd/httpd-2.2.17.tar.gz4.Svn,可能会有版本冲突,现尝试下载1.5.0版本subversion-1.5.0.tar.gz:下载页面:/index.php?q=node/73直接复制:/downloads/subversion-1.5.0.tar.gzSub version-deps-1.5.0-rc5.tar:直接复制:/downloads/subversion-deps-1.5.0-rc5.tar.gz 若只不下载deps,可能会出错:提示你neno没有安装zlib找不到二、安装:1.安装apr:a)解压:tar –xvf apr-1.3.8.tar.gzb)编译:./configure (路径应该是/usr/local/apr)c)安装:make && make install2.安装apr-util:a)解压:tar –xvfapr-util-1.3.9.tar.gzb)编译:./configure --with-apr=/usr/local/aprc)安装:make && make install3.安装apache:a)先去/usr/local下创建apache目录命令:mkdir /usr/local/apacheb)解压下载的apache,计入目录并安装,(一各回车一个命令)tar –xvfhttpd-2.2.17.tar.gzcd httpd-2.2.17./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config--with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-dav--enable-maintainer-mode --enable-rewritemakemake install./configure //配置源代码树--prefix=/usr/local/apache2 //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。
linux下搭建SVN
![linux下搭建SVN](https://img.taocdn.com/s3/m/239c59055e0e7cd184254b35eefdc8d376ee14ce.png)
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详解
![linux下安装svn详解](https://img.taocdn.com/s3/m/d05bef13964bcf84b9d57b24.png)
前言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是其中的一个仓库。
svn服务端使用教程
![svn服务端使用教程](https://img.taocdn.com/s3/m/c886f2862dc58bd63186bceb19e8b8f67d1cef62.png)
svn服务端使用教程1. 下载和安装SVN服务器软件:通过访问SVN官方网站,下载适合您操作系统的SVN服务器软件,并按照安装向导进行安装。
2. 创建一个版本库:打开SVN服务器软件,选择“新建”或“创建”选项,并设置一个新的版本库。
注:版本库是存储所有项目源代码的地方。
3. 添加用户和设置权限:在SVN服务器软件中,选择“添加用户”或“新建用户”选项,并输入用户的相关信息。
您可以为每个用户设置不同的权限,如读写权限或只读权限。
4. 导入项目源代码到版本库:选择“导入”或“添加项目”选项,并选择您要导入的项目源代码所在的文件夹。
然后,将项目源代码导入到您创建的版本库中。
5. 配置访问权限:在SVN服务器软件中,选择“访问权限”或“权限管理”选项,并设置每个用户对每个项目的访问权限。
您可以选择允许某些用户只读访问,而其他用户具有读写权限。
6. 客户端连接到服务器:在您的开发工具或SVN客户端中,输入SVN服务器的地址、端口、用户名和密码,然后点击连接按钮,成功连接到SVN服务器。
7. 更新和提交代码:在您的SVN客户端中,可以从服务器上更新最新的代码到您的本地环境中。
同时,您也可以将您的本地代码提交到SVN服务器中。
8. 解决冲突:当多个人同时修改同一段代码时,可能会导致冲突。
在这种情况下,您需要使用SVN客户端提供的合并工具解决冲突,并确保代码的一致性。
9. 查看修订历史:您可以通过SVN客户端查看修订历史,包括每次提交的作者、日期和注释。
这可以帮助您跟踪代码的更改历史和开发进度。
10. 管理分支和标签:SVN允许创建分支和标签,以便在不同的开发阶段或版本之间进行代码管理。
您可以使用SVN客户端中提供的分支和标签功能来创建和管理它们。
11. 备份和恢复:定期备份您的SVN服务器以确保代码的安全性。
如果需要恢复之前的某个版本,您可以使用SVN客户端中提供的版本回退功能。
请注意,这里的“新建”、“添加”、“设置”等词汇只是示意,可能与您的SVN服务器软件的实际操作有所不同,具体操作步骤请参考您所使用的SVN服务器软件的官方文档。
SVN服务器搭建和配置
![SVN服务器搭建和配置](https://img.taocdn.com/s3/m/203b42391611cc7931b765ce050876323112743c.png)
SVN服务器搭建和配置一、SVN服务器搭建1、安装Subversion(2)安装Subversion将subversion-1.2.3.tar.gz和zlib-1.2.3.tar.gz文件上传至服务器,在命令行窗口执行以下命令:# tar zxvf zlib-1.2.3.tar.gz# cd zlib-1.2.3# ./configure# make# make install# tar zxvf subversion-1.2.3.tar.gz# cd subversion-1.2.3# ./configure --with-zlib=/usr/local/zlib-1.2.3# make# make install上述步骤完成后,Subversion已经成功安装到服务器上。
2、搭建Subversion服务器(1)创建版本库创建一个名为repos的版本库,使用以下命令:# svnadmin create /data/svn/repos上述命令会生成以下文件夹:/data/svn/repos/ archivesconf db hooks locks README.txt(2)配置svnserve.conf[general]anon-access = noneauth-access = writepassword-db = passwdrealm = My First Repository(3)配置passwd文件vi /data/svn/repos/conf/passwd,输入以下内容:[users]username = password(4)启动svnserve使用以下命令启动svnserve:# svnserve -d -r /data/svn/repos此时,Subversion服务器已经搭建完成,可以使用它进行版本控制了。
二、SVN服务器配置1、Apache + SVN(1)配置ApacheApache的安装及配置不在本文讨论范围内,读者可以参照我们其他文章。
linux环境svn使用方法
![linux环境svn使用方法](https://img.taocdn.com/s3/m/5b72f06fcec789eb172ded630b1c59eef8c79ae9.png)
linux环境svn使用方法摘要:1.SVN简介与安装2.配置SVN客户端3.创建与克隆仓库4.提交与更新代码5.合并与解决冲突6.团队协作与权限管理7.常见问题与解决方法8.实战案例分享正文:一、SVN简介与安装1.SVN(Subversion)是一个开源的版本控制系统,用于管理分布式团队之间的源代码。
2.安装SVN:在Linux环境下,可以通过软件包管理器(如apt、yum 等)安装SVN。
二、配置SVN客户端1.设置SVN代理:在客户端机器上配置SVN代理,以便访问远程仓库。
2.配置SVN用户名和密码:在客户端机器上设置SVN用户名和密码,以备后续使用。
三、创建与克隆仓库1.创建本地仓库:在本地机器上创建一个新的SVN仓库。
2.克隆远程仓库:通过SVN客户端克隆远程仓库到本地机器。
四、提交与更新代码1.提交代码:将本地仓库的修改提交到远程仓库。
2.更新代码:从远程仓库拉取最新代码到本地仓库。
五、合并与解决冲突1.合并代码:将不同团队成员的修改合并到同一个分支。
2.解决冲突:在合并过程中遇到冲突时,学会使用SVN的冲突解决机制。
六、团队协作与权限管理1.创建分支:为不同团队成员创建单独的分支,以便并行开发。
2.权限管理:通过SVN对仓库和分支进行权限控制,保障团队协作的安全性。
七、常见问题与解决方法1.无法连接远程仓库:检查网络连接、SVN服务器配置等问题。
2.代码冲突:使用SVN的冲突解决机制,或切换到其他分支进行开发。
八、实战案例分享1.以实际项目为例,分享SVN在团队协作中的具体应用。
2.介绍SVN在不同场景下的优势和劣势。
通过以上步骤,您可以更好地在Linux环境下使用SVN进行版本控制和团队协作。
linux下svn的安装
![linux下svn的安装](https://img.taocdn.com/s3/m/cecbc72ce2bd960590c6772c.png)
linux下svn的安装一、准备好相关的几个安装包我下的是最新的Apr : apr-1.3.8.tar.gz 和apr-util-1.3.9.tar.gzApache : httpd-2.2.13.tar.gzSubversion: 我不知道apr和apache最新的能和哪个subversion搭配就在官网上找一个发布时间跟apr、apache差不多的版本(放心我安装成功了,你可大胆的跟我做)subversion-1.5.6.tar.gz 和subversion-deps-1.5.6tar.gz二、安装和配置步骤:1.安装apr-1.3.8.tar.gztar –zvxf apr-1.3.8.tar.gz (解压)cd apr-1.3.8 (进入apr…所在的目录)./configure /* (安装不指定路径时默认安装到/usr/local/apr)make ; make install (安装)2. 安装apr-util-1.3.9.tar.gztar –zvxf apr-util-1.3.9.tar.gzcd apr-util-1.3.9./configure - -with-apr=/usr/local/aprmake ; make install3. 安装httpd-2.2.13.tar.gzcd /usr/localmkdir apache(不手动建的话,等哈很麻烦的)回到刚才的目录tar –zvxf httpd-2.2.13.tar.gzcd httpd-2.2.13./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config--with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-dav--enable-maintainer-mode --enable-rewritemake ; make install安装之后重新启动apache服务/usr/local/apache/bin/apachectl –k start / restart用浏览器查看http://192.168.18.110(Linux系统IP地址),得到it works,说明apache 已经配置成功了。
Linux部署SVN详解(含备份与还原)
![Linux部署SVN详解(含备份与还原)](https://img.taocdn.com/s3/m/a85d15fa4693daef5ff73d05.png)
Linux部署SVN详解1安装操作系统安装系统采用CentOS-6.2/Database Server2安装配置apache与SVN1)数据包安装顺序:(安装包在CentOS-6.2盘的Packages目录下均可找到)a)apr-1.3.9-3.el6_1.2.i686.rpmb)apr-util-1.3.9-3.el6_0.1.i686.rpmc)httpd-2.2.15-15.el6.centos.i686.rpm依赖文件:httpd-tools-2.2.15-15.el6.centos.i686.rpm与apr-util-ldap-1.3.9-3.el6_0.1.i686.rpmd)sqlite-3.6.20-1.el6.i686.rpme)subversion-1.6.11-2.el6_1.4.i686.rpm依赖文件:neon-0.29.3-1.2.el6.i686.rpmneon依赖文件:pakchois-0.4-3.2.el6.i686.rpm与libproxy-0.3.0-2.el6.i686.rpm安装libproxy命令:三个包同时安装rpm -ivh libproxy-0.3.0-2.el6.i686.rpm libproxy-bin-0.3.0-2.el6.i686.rpm libproxy-python-0.3.0-2.el6.i686.rpmf)mod_dav_svn-1.6.11-2.el6_1.4.i686.rpm安装后将生成文件:/etc/httpd/conf.d/subversion.conf2)修改apache(即httpd)配置文件#vi /etc/httpd/conf/httpd.conf执行上述命令后,对文件进行以下修改:ServerName localhost:80localhost表示自己的IP地址(找到上面一行并做类似修改后保存退出)#service httpd start#chkconfig httpd on文件修改完成后,启动http服务并使用chkconfig命令设置开机自启动。
linux下svn的配置及svn常用命令
![linux下svn的配置及svn常用命令](https://img.taocdn.com/s3/m/46d08e02580102020740be1e650e52ea5518ce65.png)
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的安装(整理)
![关于Linux下svn的安装(整理)](https://img.taocdn.com/s3/m/49aff911a300a6c30c229fd0.png)
关于Centos6.4 Linux下svn的安装(整理)#源码包清单:(后缀都是要加上.gz的,我懒。
其他的方法,网上有一些,大家多试试吧)0.centos 6.4(虚拟机安装)1.apr-1.4.8.tar2.apr-util-1.5.2.tar3.httpd-2.4.4.tar4.pcre-8.33.tar5.sqlite-amalgamation-3.7.15.tar6.subversion-1.8.0.tar7.zlib-1.2.8.tar#其实我找的都是最新的包#装酱紫个的东西,把我坑了一下。
因为网络上的东西比较老。
所以进行了很多次的尝试#有点提示的,就是最下面安装的主目录,去手动创建#mkdir [path/filename]1.Apr1.1 tar -zvxf apr-1.4.8.tar.gz #解压1.2 cd apr-1.4.8 #进入安装目录1.3 ./configure prefix=/opt/java/par #配置安装路径具体,可以看vim RE+tab *2 1.4 make && make install #编译&& 安装2.Apr-util2.1 tar -zvxf apr-util-1.5.2.gz2.2 cd apr-util-1.5.22.3 ./configure prefix=/opt/java/par-util2.4 make && make install3.Pcre3.1 tar -zvxf pcre-8.33.tar.gz3.2 cd pcre-8.333.3 . /configure--prefix=/opt/java/pcre--with-apr=/opt/java/apr/ #配置apr依赖路径--with-apr-util=/opt/java/apr-util/ #配置apr-util3.4 make && make install4.Httpd4.1 tar4.2 cd4.3 ./configure--prefix=/root/soft/apache--with-apr=/root/soft/apr--with-apr-util=/root/soft/apr-util/--with-pcre=/root/soft/pcre/ (#这里不需要网上的enable-so)#这个需要关联apr & apr-util 使用--with4.4 make && make install注:在这里可能会需要你安装gcc编译器命令见最下面#需要测试/opt/java/apache/bin/apachectl –k start / restart#可以查看更多帮助#使用浏览器打开#http://you r ip#出现it works ---OK!5.Subvsercion#首先去/opt/java/下面去创建svn(一定:mkdir /opt/java/svn)5.1 tar5.2 cd5.3 ./configure--prefix=/opt/java/svn/--with-apxs=/opt/java/apache/bin/apxs--with-apr=/opt/java/apr/bin/apr-1-config--with-apr-util=/opt/java/apr-util/bin/apu-1-config--with-ssI #个人认为这个可以不要,但是没有试过,有试过的,大家回馈一下--with-zlib=/opt/java/zlib/--enable-maintainer-mode#(同样(这里不需要网上的enable-so))5.4 会提示错误5.4.1 #第一个就是sqlite 方法见65.4.2 #上面一个解决了就是zlib 见75.5 #解决完了上面两个,也就没问题了,至于那个db,也就是数据库的,无视吧5.5.1 make clean #清除已编译的5.5.3 #重新配置一次就是那个./configure .......5.5.2 make & make installOk 成功了6.Sqlite6.1 tar6.2 cd6.3 #这里是把解压的文件中4个文件sqlite3.h sqlite3.c sqlite3ext.h shell.c(其实,我找的网上的教程都是一个文件,但是我发现还是报错,于是乎,把其他3个都加了进去,好了)#全部复制到subversion的安装根目录下的sqlite-amalgamation(这个文件夹是需要自己创建的#mkdir sqlite-amalgamation 复制cp 源文件路径目标路径)#其他的没用了7.Zlib7.1 tar7.2 cd7.3 ./configure --prefix=7.4 make & make install8.#上面都没有error就是ok9.#后面的设定大家百度吧。
linux下安装SVN支持http
![linux下安装SVN支持http](https://img.taocdn.com/s3/m/b28cee5133687e21af45a9dc.png)
svn:SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。
说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
SVN简介:SVN服务运行模式与访问方式:SVN档案库数据格式:SVN集中式版本管理系统,工作流程:开发者利用SVN版本管理系统工作过程:安装配置SVN服务:[root@localhost ~]# cat /etc/redhat-releaseCentOS Linux release 7.0.1406 (Core)[root@localhost ~]#[root@localhost ~]# uname -r3.10.0-123.el7.x86_64[root@localhost ~]#CentOS/RHEL 7更改主机名:在CentOS/RHEL 7中,有个叫hostnamectl的命令行工具,它允许你查看或修改与主机名相关的配置:[root@localhost ~]# hostnamelocalhost.localdomain[root@localhost ~]# hostnamectlStatic hostname: localhost.localdomainIcon name: computerChassis: n/aMachine ID: b0d695b2202142e7892ff83d84769deeBoot ID: 716ba915a763452f848d5aa1d38b20eaVirtualization: vmwareOperating System: CentOS Linux 7 (Core)CPE OS Name: cpe:/o:centos:centos:7Kernel: Linux 3.10.0-123.el7.x86_64Architecture: x86_64[root@localhost ~]#只查看静态、瞬态或灵活主机名,分别使用“--static”,“--transient”或“--pretty”选项。
linux下安装配置svn独立服务器
![linux下安装配置svn独立服务器](https://img.taocdn.com/s3/m/f2a697b765ce0508763213da.png)
在linux下安装配置svn独立服务器2008-7-21晚PATH=$PATH:/opt/svn/binexport PATHsource/etc/profile,重载配置文件3.svn测试svnserve--version如果显示如下,svn安装成功:svnserve,version1.4.5(r25188)compiled Jul192008,21:31:54Copyright(C)2000-2006CollabNet.Subversion is open source software,see /This product includes software developed by CollabNet(/). The following repository back-end(FS)modules are available:*fs_fs:Module for working with a plain file(FSFS)repository.二、svn服务器配置1.建立svn版本库目录可建多个:(这里我建立2个)mkdir-p/opt/svndata/repos1mkdir-p/opt/svndata/repos22.建立svn版本库svnadmin create/opt/svndata/repos1svnadmin create/opt/svndata/repos23.修改svn版本库配置文件版本库1:vi/opt/svndata/repos1/conf/svnserve.conf内容修改为:[general]anon-access=noneauth-access=writepassword-db=/opt/svn/conf/pwd.confauthz-db=/opt/svn/conf/authz.confrealm=repos1(注意:把文件中上面各项前面的#号去掉,然后去掉他前面的空格。
linux svn客户端安装及使用
![linux svn客户端安装及使用](https://img.taocdn.com/s3/m/b46d2afc770bf78a65295455.png)
测试是否已经可以在用户目录下使用svn:
svn help 如果出现命令列表,则表示已经链接成功。
5. 使用chmod命令,使 list checkout commit这三个命令脚本有执行权限:
chmod 777 list checkout commit
cp list checkout commit /usr/bin
# svn up 更新本地工作目录
D)删除库上一个文件夹(demo) 进入DemoProject/src/目录
# svn up 更新本地工作目录
# svn del demo 删除demo文件夹
# commit demo 将删除提交到库
3、 本地与库之间的操作
A) 查看库上目录结构(查看DemoProject目录结构)
# svn st
如果你的 hello.cpp修改后还没有提交,则使用svn st会在第一列显示hello.cpp的状态为M,表示项目已经修改但没有提交到库。
B) 查看svn命令的帮助
# svn help update 查看update命令的帮助.
C) 提交时冲突(没有更新本地工作目录而修改文件导致冲突)处理:
B) 提交修改过的整个文件夹到库(修改了文件夹include
# svn up
# commit include
# svn up
C) 新增一个文件夹到库(DemoProject/lib)
进入DemoProject目录:
# svn mkdir lib 创建lib包
# commit lib 提交到库
D)checkout下来库的老版本
首先查看你需要checkout下来的DemoProject老版本,然后再checkout下来:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
linux下搭建svn服务器(doc 8页)Linux下搭建SVN服务器环境(svnserve方式)环境:redhat5(apr.apr-util.zlib.subversion的压缩文件都是放在/usr/linuxsvn目录下,下面的解压命令tar zvxf解压出来的文件就直接是放在这个目录下,文件名跟压缩文件的名字是一样的)一、安装apr、apr-util跟zlib1、下载apr、apr-util与zlibapr-1.3.3.tar.gzapr-util-1.3.4.tar.gzzlib-1.2.3.tar.gzopenssl-0.9.8k.tar.gzhttpd-2.2.9.tar.bz2libxml2-2.7.3.tar.gz2、解压tar zvxf apr-1.3.3.tar.gz打开浏览器输入http://服务器ip 如果出现It Works! Apache安装成功如果出现这个错误Invalid command 'AuthDigestProvider', perhaps misspelled or defined by a module not included in the server configuration/usr/local/apache2/conf/extra/httpd-dav.conf 提示这个文件31行有问题,那么你就Vi /usr/local/apache2/conf/extra/httpd-dav.conf 找到31行,把这个注释掉# AuthDigestProvider file这样就ok了!cd openssl-0.9.8k./config --prefix=/usr/local/ssl/makemake installcd libxml2-2.7.3vi INSTALL./configure --help./configuremakemake installcd openssl-0.9.8k./config./config -tmake dependmakemake testmake installcd zlib-1.2.3./configure --prefix=/usr/local/zlib //装在/usr/local/zlib目录下make && make installcd /usr/local/src/zlib-1.2.3cat INDEX (看看而已)cd /usr/local/src/ln -s zlib-1.2.3cd /usr/local/cdmkdir -p /home/svnadmin/access/usersmkdir -p /home/svnadmin/access/controlmkdir -p /home/svnadmin/reposcd /home/svnadmin/cd /usr/local/apache2/bin/cd /home/svnadmin/access/rm -rf controlrm -rf users/touch controltouch usersvi users (建立了就有用户)cd ..svnadmin create /home/svnadmin/repos/networks (建立新库)cd repos/lscd /usr/local/apache2/conf/cp httpd.conf httpd.conf.0818vi httpd.conf(在最后加入以下东西):<Directory "/home/svnadmin">order allow,denyallow from all</Directory><Location /svn>DA V svnSVNParentPath /home/svnadmin/repos/ //此处配置你的版本库根目录Satisfy AnyAuthType BasicAuthName "96333 Subversion Server" //提示对话框标题AuthUserFile /home/svnadmin/access/users /访问版本库用户的文件,须用apache 的 htpasswd命令生成AuthzSVNAccessFile /home/svnadmin/access/control//用户权限配置文件Require valid-user</Location>跟备份之前的对比,看看53行有没有这两行LoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.soInclude conf/extra/httpd-dav.conf //将这行的注释去掉.二、安装subversion1、下载subversion-1.5.2.tar.bz2subversion-1.5.0.tar.gz, subversion-deps-1.5.2.tar.bz2 2、安装tar -jvxf subversion-1.5.2.tar.bz2tar -jxvf subversion-deps-1.5.2.tar.bz2cd subversion-1.5.2rm -rf aprrm -rf apr-util/./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs--with-apr=/usr/local/apr/bin/apr-1-config--with-apr-util=/usr/local/apr/bin/apu-1-config--with-openssl=/usr/local/ssl --enable-maintainer-mode make cleanmakemake installsvnserve –version 测试是否安装成功, 出现以下,就证明成功了svnserve,版本1.3.2 (r19776)编译于Jul 13 2006,04:22:38Copyright (C) 2000-2006 CollabNet.Subversion is open source software, see /The following repository back-end (FS) modules are available:* fs_base : 模块与伯克利数据库(Berkeley DB)档案库一起工作。
* fs_fs : 模块与纯文本文件(FSFS)档案库一起工作。
3、建立用户测试cd /usr/local/apache2/bin/./htpasswd -b /home/svnadmin/access/users test 123456 建立用户cd /home/svnadmin/access/lsvi userscp /usr/local/apache2/conf/httpd.conf /home//usr/local/svn/bin/svn –dcd /usr/local/apache2/bin/./htpasswd -b /home/svnadmin/access/users huangyucai 96333 再次建立用户cd /home/svnadmin/access/lsvi users (查看是否有用户)vi control (建立权限,加入以下内容)###user define[groups]admin = admin,huangyucai,test (添加用户要在这里添加)a = huangyucai, a组的人c = chanpin c组的人###group define[/] (目录)admin = rw (根目录只有admin有RW权限) [networks:/]@admin = rw (network admin组跟a组有RW 权限)@a = rw[networks:/chanpin]@c = rw* = r (所有人都有R权限)huangyucai = rw[networks:/trunk/ri_zu_ui]@c = rw* = r4、收尾工作vi /etc/sysconfig/i18n (看看是否支持中文显示)source /etc/sysconfig/i18nuseradd svnadmingroupadd svnadmincd /usr/local/apache2/conf/vim httpd.conf 看看是否正常/usr/local/apache2/bin/apachectl stopcd /usr/local/svn/lib/setenforcesestatusvi /etc/selinux/restorecond.conf 添加/etc/localtime/etc/lvm/.cache/var/log/faillog/var/log/tallylog/var/log/wtmpvi /etc/selinux/semanage.confvi /etc/selinux/targeted/seusers 有下面就okroot:root:s0-s0:c0.c1023__default__:user_u:s0vi /etc/selinux/configsetenforce 0cd /usr/local/apache2/bin/./htpasswd -b /home/svnadmin/access/users youcai youcai/usr/local/apache2/bin/apachectl stop/usr/local/apache2/bin/apachectl startvi /home/svnadmin/access/control (添加youcai这个用户)cd /home/chown -R svnadmin:svnadmin svnadmin (给svnadmin文件加组别权限)(如果你要再创建库,新建一个文件,那么要再一次付给svnadmin权限,例如:svnadmin create /home/svnadmin/repos/travel 新建一个库然后chown -R svnadmin:svnadmin travel/ 给权限)cd svnadmin/chmod -R 777 repos/ (给所有人对repos具有777的权限)netstat -antlgetenforcevi /etc/sysconfig/selinux/usr/bin/setstatus -vsetstatus -vsetenforce 0/usr/local/apache2/bin/apachectl startvi /etc/rc.d/rc.local (添加)/usr/local/apache2/bin/apachectl startdatentpdate 211.100.37.140datecrontab –e (添加)*/30 * * * * /usr/sbin/ntpdate 211.100.37.140 >/dev/null 2>&1完成下面是网上的参考三、s vn配置1、创建资料库首先要创建一个资料库,使用svnadmin增加资料库(首先在/usr/data/svn下建个空repository的父资料库,设目录的权限为755)cd /usr/local/subversion/bin./svnadmin create /usr/data/svn/ repository/test到test下看是不是多了文件,多了说明创建成功了。