linux安装subversion

原文链接:https://segmentfault.com/a/1190000017131094
用惯了svn,但你知道怎么在linux上搭建svn服务器吗,本文将介绍如何在linux上创建一个svn服务器

安装

zypper in subversion

我的服务器是openSUSE,所以安装命令是zypper,如果是centos,那么是yum,不同的linux发行版有不同的安装命令,请自行查阅。
完了之后,看看是否安装成功:

rpm -qi subversion

clipboard.png

事情进展得很顺利,接下来就要搞事情了,首先,我们得创建一个仓库,用于存放我们的项目

创建svn仓库

比如我要为72mask这个项目创建一个仓库:

clipboard.png

完了之后,我们发现仓库里面已经有了一些东西了,如下:

clipboard.png

这和windows上通过本地创建create repository here作用是一样的

配置

有了仓库,但不能任何人都能访问吧,我们还得给其设定一些条件,用于限定访问权限等。进入到conf文件夹,如下:

clipboard.png

里面有三个文件很重要,作用如下:

  • passwd:负责账号和密码的用户名单管理
  • authz:负责账号权限的管理,控制账号是否读写权限
  • svnserve.conf:svn服务器配置文件

首先,用vi进入passwd,加入一个用户larry,给其设定密码

clipboard.png

再进入authz,将larry的权限设置为rw

clipboard.png

[/]中用于限定用户的权限目录范围,这里配置/表示72mask这个仓库下的所有资源larry这个用户都有读写权限。
假设除72mask仓库外,服务器上还有一个仓库hrAdmin,该仓库中有一个用户moddx,但想限制moddx只能访问hrAdmin仓库下的web目录,无法访问app等其他目录,可以这样设置:

clipboard.png

或这样:

clipboard.png

这样,用户moddx就只有hrAdmin仓库中web目录下的权限了,其他目录的权限就没有了。
最后,修改svnserve.conf文件

clipboard.png

clipboard.png

这个文件需要注意以上五项,其中各项功能如下:

  • anon-access: 控制非鉴权用户访问仓库的权限
  • auth-access: 控制授权用户访问仓库的权限
  • password-db: 指定用户名口令文件名
  • authz-db: 指定权限配置文件名
  • realm: 指定版本库的认证域,即在登录时提示的认证域名称(可以随便填,最好起一个有意义的名字,比如72mask等,在登录密码和管理密码中方便查找)

开启服务

万事俱备只欠东风,用svnserve命令将服务开启,如下

clipboard.png

然后,在本地用svn连接一下吧,在svn的url中输入svn://yourip/72mask

图片描述

弹框会让你输入用户名和密码,完成后进入到仓库,可以看见仓库是空的,我们把这个空仓库checkout下来,就可以在其中提交了。

项目结构(推荐)

最后,存放代码的目录下,通过create folder创建trunk,tags,branches的三个目录,开发代码放在trunk上,预览和线上版本可以放在tags目录下,bug修复等可以放在branches中,如下:

clipboard.png

参考

svnserver配置文件详解

展开阅读全文

Subversion服务器的安装与配置

03-05

以下安装,是配置的局域网的代码管理环境。rnrnrnrnrnSubversion 是新一代的开源版本控制系统,用以取代CVS。有关Subversion最详尽的资料就是官方的Subversion Book了。它是由开源社区编写的自由图书,已通过O'Reilly Media出版。下面简单介绍一下Subversion在Debian下的安装和配置过程。rn安装rndebian:~# apt-get install subversion subversion-toolsrn如果已经安装了svn服务器,则跳过这一步rn创建一个新的储存库rndebian:~# svnadmin create /home/bruce/SVNROOT/(projectname)rn其中,/home/bruce/SVNROOT/(projectname)是SVN代码库的路径。目前的系统中统一存放在/home/bruce/SVNROOT下rn导入源码rndebian:~# svn import (sourcepath) file://(destpath)rn将源目录的文件导入到库中rnSourcepath是原始源代码库的绝对路径rndestpath是上一步创建的新库的绝对路径rnrn导入过程会要求写日志文件,注意日志文件虽然有没有并不影响系统运行,但是这个过程必须要写完,而且要保存到合适的位置,不要乱放(或者随便放在一个可以看到的位置,回头删掉它)rn服务器配置rn修改配置文件(destpath)/conf/svnserve.confrn代码rnrn#去掉#[general]前面的#号rn[general]rn#匿名访问的权限,可以是read,write,none,默认为readrnanon-access = none #这是禁止匿名访问rn#认证用户的权限,可以是read,write,none,默认为writernauth-access = writern#密码数据库的路径,去掉前面的#rnpassword-db = passwd #指定密码文件的位置,不带路径则表示是当前目录,建议使用rnAuthz_db = authz #指定授权文件的位置,不带路径则表示是当前目录,建议使用rn注意:所有的行都必须顶格,否则报错。rnrn修改授权文件rn修改authz文件rnrn### This file is an example authorization file for svnserve.rn### Its format is identical to that of mod_authz_svn authorizationrn### files.rn### As shown below each section defines authorizations for the path andrn### (optional) repository specified by the section name.rn### The authorizations follow. An authorization line can refer to arn### single user, to a group of users defined in a special [groups]rn### section, or to anyone using the '*' wildcard. Each definition canrn### grant read ('r') access, read-write ('rw') access, or no accessrn### ('').rnrn[groups]rn# harry_and_sally = harry,sallyrnA6_Team = brucernrn# [/foo/bar]rn# harry = rwrn# * =rn[/]rn* = rrnbruce = rwrnrn# [repository:/baz/fuz]rn# @harry_and_sally = rwrn# * = rrn修改密码文件rn### This file is an example password file for svnserve.rn### Its format is similar to that of svnserve.conf. As shown in thern### example below it contains one section labelled [users].rn### The name and password for each user follow, one account per line.rnrn[users]rn# harry = harryssecretrn# sally = sallyssecretrnbruce = 123456rnrn注意:rn1、密码是明文rn2、当前采用的方式是:一个SVN根目录/home/bruce/SVNROOT,下面可以装若干个工程。每个工程有独立的用户名和密码授权。所有的工程共用授权和密码库的情况下,总授权文件的编写就会非常麻烦rnrn启动svn服务rn用netstat –l |grep svn查看SVN服务器是否已经在运行。这条命令执行过程可能要两分钟才能执行完。如果有输出,则表示SVN服务器已经启动,否则就要用下述的命令来启动rnsvnserve -d -r (SVN根目录) --listen-host (服务器的IP地址)rnSVN根目录在我们的设定中是/home/bruce/SVNROOTrnrn服务器的其他操作参考svnadmin使用手册rnrn客户端的安装和使用rn客户端安装rnhttp://tortoisesvn.tigris.org/ 下载最新的客户端和文字资源文件,安装后重启计算机rn客户端的使用rn1、 新建用来存放工程文件的目录rn2、 在目录上点击右键,选中“checkout”rn3、 地址中输入svn://(服务器IP地址)/A6Proj格式的字串。A6Proj是工程的名字rn然后就可以执行chechout了。对于有授权要求的服务器,还需要输入用户名和密码。需要咨询SVN管理员来获取。rn 论坛

fedora8中安装subversion

10-27

vmware+fedora8中subversion如何安装rn我先从官网上下载了httpd-2.2.10.tar.gz,将apache安装到了/usr/local/apache2rn再重官网下载了subversion-1.5.4.tar.gz以及subversion-deps-1.5.4-tar.gzrn然后将这两个压缩包解压到同一个文件夹../subversion-1.5.4/下,该文件夹下有以下内容:rnalcocal.m4 build.conf configure.ac HACKING README WWW apr rnbuild-outputs.mk contrib INSATLL serf CHANGES zlib apr-util COPYING Makefile.in subversion autogen.sh doc neon tools COMMITTERS BUGS config.nice notes build configure rngen-make.py TRANSLATING gen-make.opts packages win-tests.pyrnrn进入解压缩后文件夹中,运行以下命令:rn#./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-modern提示以下错误:rn checking zlib.h usability...norn checking zlib.h presence...norn checking for zlib.h...norn configure:zlib header not foundrn.....rnchecking for pkg-config.../usr/bin/pkg-configrnchecking for openssl pkg-config data... nornchecking for library containing RSA_new... not foundrnconfigure: error: could not find library containing RSA_newrnconfigure failed for neonrnrn我将解压出来的zlib和neon分别安装到/usr/local/*下后用--with-neon=和--with-zlib指定路径后还是不能配置成功???rn且按安装文件里提示在安装前运行$ sh ./autogen.sh提示buildcheck:libtool not found.rnYou need libtool version 1.4 or newer installedrn可我已经在网上下了libtool1.4.3.tar.gz安装到了/usr/local/libtoolrn中了。。。。rn我安装的berkeley-db用--with-berkeley-db参数载configure中也显示找不到Bekeley DB....rn请问大家我是哪方面出错了 论坛

没有更多推荐了,返回首页