您的位置:首页 > 其它

SVN服务器的简单配置

2008-12-02 17:51 232 查看
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
地址: http://subversion.tigris.org/servlets/NewsItemView?newsItemID=1159
下载: libxml2-2.5.3.tar.gz
地址: http://cosoft.org.cn/html/osl/projects.php?group_id=4981
下载: neon-0.24.7.tar.gz
地址: http://www.webdav.org/neon
下载: db-4.3.28.NC.tar.gz
地址: http://www.sleepycat.com/download/index.shtml
下载: Apache Web Server 2.0.49 or newer
地址: http://httpd.apache.org/download.cgi
添加软件包
应用程序 ->系统设置->添加/删除应用程序
把里面的程序全部选中.更新.这时就会让你插入磁盘,在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.在位置窗口输入http://10.28.2.xx/ (虚拟机的ip).界面显示出Red Hat Enterprise Linux Test Page则证明apache成功运行.
验证svn登陆是否成功
之后输入http://10.28.2.xx/svn/ 若弹出输入用户名的和密码的界面.则证明svn成功
4创建svn目录:
在终端输入:svn mkdir http://10.28.2.xx/svn/personal -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 http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
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服务器的的安装和配置就已经完成了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: