SVN服务器的简单配置

SVN服务器的简单配置一般来说,使用SVN建立服务器还是相对简单的。这个配置表示SVN服务器可以匿名checkout,但是需要提交时必须使用用户名和密码,用户名和密码的配置文件是passwd。领域realm的名字为repos,具有相同realm的版本库也具有相同的验证方式。另外,虽然启动SVN服务器时可以使用直接指定版本库的方法,用起来可以直接用光秃秃的URL(不加后面的path)。建立一个/path/SVNROOT/目录,在其下建立N个版本库,之后启动SVN服务器时指定目录为/path/SVNROOT,就可以使用在URL后面加上对应版本库的文件夹名字来指定特定的版本库了。

yangfanlengdie2007-3-21 05:42
一个实例介绍

在linux下搭建svn服务器步骤

                  1. 安装软件

下载相关的压缩包

   下载: subversion-1.2.0.tar.gz

   地址: [url]http://subversion.tigris.org/servlets/NewsItemView?newsItemID=1159[/url]

   下载: libxml2-2.5.3.tar.gz

   地址: [url]http://cosoft.org.cn/html/osl/projects.php?group_id=4981[/url]

   下载: neon-0.24.7.tar.gz

   地址: [url]http://www.webdav.org/neon[/url]

   下载: db-4.3.28.NC.tar.gz

   地址: [url]http://www.sleepycat.com/download/index.shtml[/url]

   下载: Apache Web Server 2.0.49 or newer

   地址: [url]http://httpd.apache.org/download.cgi[/url]

添加软件包

   应用程序 ->系统设置->添加/删除应用程序

  把里面的程序全部选中.更新.这时就会让你插入磁盘,在Red Hat Enterprise Linux 4 点击settings ->CD-ROM在Use Iso中选择所需磁盘 ,进行更新

   这里有点慢,耐心等待.现在你可以看看解压的一些相关命令,它们都是什么意思.

解压安装

安装libxml2-2.5.3,在终端输入:

             tar -zxf libxml2-2/[1/].5.3.tar.gz

cd libxml2-2.5.3

./configure

make

make install

make clean 安装Neon library 0.24.7在终端输入:

              tar -zxf neon-0.24.7.tar.gz

cd neon-0.24.7

./configure

make

make install

make clean

安装Berkeley DB 4.3.28在终端输入:

              tar -zxf db-4.3.28.NC.tar.gz

cd docs

../dist/configure

make

make install

make clean

安装Apache 2.0在终端输入:

              tar -zxf httpd-2.0.54.tar.gz

./configure --enable-dav --enable-so --enable-maintainer-mode

make

make install

make clean安装Subversion在终端输入:

tar -zxf subversion-1.2.0.tar.gz

./configure --with-apxs=/usr/local/apache2/bin/apxs

make

make install

make clean

  

2 在安装的apache中编写配置文件

查看自动添加语句

打开/usr/local/apache2/conf/httpd.conf ,查看是否有系统自动添加的以下语句

LoadModule dav_svn_module  module/mod_dav_svn.so

LoadModule authz_svn_module  module/mod_authz_svn.so

手工添加语句

在/usr/local/apache2/conf/httpd.conf文件中添加以下语句:

<Location  /svn>

     DAV  svn

     SVNPath  /var/www/svn

     AuthType  Basic

     AuthName  “Subversion repository”

     AuthUserFile  /etc/svn-auth-file

     AuthzSVNAccessFile  /etc/accessfile

     Require valid-user

</Location>

3 Svn的使用

自动创建svn文件

建立svn文件,在var/www/svn下输入:

     svnadmin create svn

     之后查看svn文件夹中是否有系统自动生成的svn的文件创建svn的用户:

htpasswd –c /etc/svn-auth-file xxx (准备添加的svn用户名)

new password: (在这里输入用户xxx的密码)

Re-type new password : (再次输入用户xxx的密码)

出现Adding password for user xxx则表示创建svn用户成功

关于-c的解释:

      第一次创建svn的用户时,语句中要有-c,之后再建立用户的时候就没有-c了,比如: 创建第二个用户时htpasswd /etc/svn-auth-file yyy.就可以了.若在语句中添加了-c那么yyy用户会覆盖xxx用户.,

对svn用户进行分组设权限:

    在etc/accessfile输入

    [group]

   PM= xxx

   [svn:/]

   @PM = rw

开启apache和svn服务

运行自己安装的apache:

          在usr/local/apache2/bin下输入 apachectl start

开启svn服务

           在终端下输入svnserve –d –r /var/www/ --listen – host 10.28.2.xx(虚机的ip).

运行konqueror

运行IE

应用程序à互联网àkonqueror.在位置窗口输入[url]http://10.28.2.xx/[/url] (虚拟机的ip).界面显示出Red Hat Enterprise Linux Test Page则证明apache成功运行.

验证svn登陆是否成功

之后输入[url]http://10.28.2.xx/svn/[/url] 若弹出输入用户名的和密码的界面.则证明svn成功

4创建svn目录:

在终端输入:svn mkdir [url]http://10.28.2.xx/svn/personal[/url] -m “mkdir personal”

输入用户名和密码.创建成功.

之后,就可以用svn来进行版本控制了.安装svn完成.5 问题解决:

出现Not found界面

若apache界面可以显示,而svn界面显示为Not found 则进行如下改动:

    更换apache,将apache换为虚机自带的apache.将usr/local/apache2/modules中的 mod_authz_svn.so和mod_dav_svn.so拷贝到etc/http/modules中,之后在 etc/httpd/conf/httpd.conf中添加配置语句.在很多的LoadModule后面添加如下两句

    LoadModule dav_svn_module  modules/mod_dav_svn.so

    LoadModule authz_svn_module   modules/mod_authz_svn.so

  最后添加刚才在/usr/local/apache2/conf/httpd.conf文件中添加的语句  <Location  /svn>……….. </Location> 重启apache在终端输入apachectl start

.现在svn用户界面会弹出来,输入xxx和xxx的密码,将会正确进入svn界面

创建svn目录出现svn:Can't create directory错误

创建svn目录报如下错误

  svn:Can't create directory '/var/www/svn/db/transactions/0-1.txn':权限不够

  则在终端输入:chown –R apache.apache /var/www/svn

  重启apache之后,问题解决.

yangfanlengdie2007-3-21 05:50
实例2

Linux下的svn服务器的搭建

1       环境:

服务器放在redhat9。0上,客户端在windows 2000。

2       软件包

2.1    服务器:

subversion-1.3.2-1.rh90.i386.rpm。可能还会用到其他依赖组件,在我的配置中要用到:apr-0.9.5-0.2.i386.rpm  , neon-0.24.7-1.i386.rpm,apr-util-0.9.5-0.1.i386.rpm。

2.2    客户端:

TortoiseSVN-1.3.2.5840-svn-1.3.0

3       安装服务器

[root@localhost root] #rpm –ivh apr-0.9.5-0.2.i386.rpm

[root@localhost root]#rpm –ivh neon-0.24.7-1.i386.rpm

[root@localhost root]#rpm –ivh apr-util-0.9.5-0.1.i386.rpm

[root@localhost root]#rpm –ivh subversion-1.3.2-1.rh90.i386.rpm

安装完成以后,要测试是否已经安装成功,则要输入以下命令:

[root@localhost root]#svnserve –version

若显示如下,安装成功:

svnserve, version 1.4.0 (r21228)

  compiled Oct 12 2006, 10:18:56

Copyright (C) 2000-2006 CollabNet.

Subversion is open source software, see [url]http://subversion.tigris.org/[/url]

This product includes software developed by CollabNet ([url]http://www.Collab.Net/).[/url]

The following repository back-end (FS) modules are available:

* fs_fs : Module for working with a plain file (FSFS) repository.

4       Svn配置

4.1    建立版本库目录

[root@localhost root] #mkdir –p /home/svnrepos;svnrepos

是我自己建立的目录,各人根据具体情况设计名字

4.2    建立一个用户,用与管理这个版本库目录

[root@localhost root] #useradd  -m  -s /bin/bash svn_leader;svn_leader是我建立的用户名,可以根据习惯改

4.3    用建立的用户管理我们刚建的版本库目录

[root@localhost root] #chown –R svn_leader.svn_leader  /home/svnrepos

用svn_leader来管理我们的版本库目录/home/svnrepos

4.4    启动服务器

用用户svn_leader来管理版本库目录/home/svnrepos,则须转为svn_leader,命令如下:

[root@localhost root] #su svn_leader

启动svn服务

[root@localhost root] #svnserve -d -r /home/svnrepos/;

-d表示以daemon方式(后台运行)运行

-r/home/svnrepos/指定根目录是/home/svnrepos/

检查服务器是否启动正常:

[svn_leader@localhost root]$ ps –ef|grep svnserve

如果显示如下,即为启动成功:

svn    6941   1 0 15:07 ?    00:00:00 svnserve -d --listen-port 9999 -r /home/svnrepos

5       建立版本库

[root@localhost home]# cd /home/svnrepos/

[root@localhost svnrepos]# svnadmin create test;test可以改,在test目录下会有下面目录:conf  dav  db  format  hooks  locks  README.txt

6       配置允许访问test的用户

进入到conf,命令为:

[root@localhost safety]# cd conf

出现三个文件:authz  passwd  svnserve.conf

6.1    修改svnserve.conf

[root@localhost conf]# vi svnserve.conf

出现:

[general]

………………………

# anon-access = read

# auth-access = write

………………………

# password-db = passwd

………………………

# authz-db = authz

内容修改为:

[general]

………………………

anon-access = none

auth-access = write

………………………

password-db = passwd

………………………

authz-db = authz

6.2    修改passwd

[root@localhost conf]# vi passwd

文件格式如下:

[users]

<用户1> = <密码1>

<用户2> = <密码2>

 其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例:

[users]

alan = password

king = hello

这个里面的user表示当前test版本库的成员.

6.3    修改authz

[root@localhost conf]# vi authz

用户组格式:

[groups]

<用户组名> = <用户1>,<用户2>

其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。用户必须要在passwd文件里能找到,它是给那个里面的user赋权限.

版本库目录格式:

[<版本库>: /目录]

@<用户组名> = <权限>

<用户名> = <权限>

示例:

[groups]

admin = alan

[/]

@admin = rw

[test:/]

king = rw,表示king能够读写test目录下的所以信息

到此svn服务器的的安装和配置就已经完成了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值