Subversion服务器的安装与配置

brucegong 2007-03-05 02:17:34
以下安装,是配置的局域网的代码管理环境。




Subversion 是新一代的开源版本控制系统,用以取代CVS。有关Subversion最详尽的资料就是官方的Subversion Book了。它是由开源社区编写的自由图书,已通过O'Reilly Media出版。下面简单介绍一下Subversion在Debian下的安装和配置过程。
安装
debian:~# apt-get install subversion subversion-tools
如果已经安装了svn服务器,则跳过这一步
创建一个新的储存库
debian:~# svnadmin create /home/bruce/SVNROOT/(projectname)
其中,/home/bruce/SVNROOT/(projectname)是SVN代码库的路径。目前的系统中统一存放在/home/bruce/SVNROOT下
导入源码
debian:~# svn import (sourcepath) file://(destpath)
将源目录的文件导入到库中
Sourcepath是原始源代码库的绝对路径
destpath是上一步创建的新库的绝对路径

导入过程会要求写日志文件,注意日志文件虽然有没有并不影响系统运行,但是这个过程必须要写完,而且要保存到合适的位置,不要乱放(或者随便放在一个可以看到的位置,回头删掉它)
服务器配置
修改配置文件(destpath)/conf/svnserve.conf
代码

#去掉#[general]前面的#号
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none #这是禁止匿名访问
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd #指定密码文件的位置,不带路径则表示是当前目录,建议使用
Authz_db = authz #指定授权文件的位置,不带路径则表示是当前目录,建议使用
注意:所有的行都必须顶格,否则报错。

修改授权文件
修改authz文件

### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to a
### single user, to a group of users defined in a special [groups]
### section, or to anyone using the '*' wildcard. Each definition can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').

[groups]
# harry_and_sally = harry,sally
A6_Team = bruce

# [/foo/bar]
# harry = rw
# * =
[/]
* = r
bruce = rw

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
修改密码文件
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
# harry = harryssecret
# sally = sallyssecret
bruce = 123456

注意:
1、密码是明文
2、当前采用的方式是:一个SVN根目录/home/bruce/SVNROOT,下面可以装若干个工程。每个工程有独立的用户名和密码授权。所有的工程共用授权和密码库的情况下,总授权文件的编写就会非常麻烦

启动svn服务
用netstat –l |grep svn查看SVN服务器是否已经在运行。这条命令执行过程可能要两分钟才能执行完。如果有输出,则表示SVN服务器已经启动,否则就要用下述的命令来启动
svnserve -d -r (SVN根目录) --listen-host (服务器的IP地址)
SVN根目录在我们的设定中是/home/bruce/SVNROOT

服务器的其他操作参考svnadmin使用手册

客户端的安装和使用
客户端安装
http://tortoisesvn.tigris.org/ 下载最新的客户端和文字资源文件,安装后重启计算机
客户端的使用
1、 新建用来存放工程文件的目录
2、 在目录上点击右键,选中“checkout”
3、 地址中输入svn://(服务器IP地址)/A6Proj格式的字串。A6Proj是工程的名字
然后就可以执行chechout了。对于有授权要求的服务器,还需要输入用户名和密码。需要咨询SVN管理员来获取。
...全文
594 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bloodyknight 2007-09-20
  • 打赏
  • 举报
回复






接分







brucegong 2007-03-05
  • 打赏
  • 举报
回复





若想让系统启动后自动运行SVN服务器,则修改/etc/inetd.conf,添加:
svn stream tcp nowait (username) /usr/bin/serve svnserve –i –r (svn root path)
username 有权启动svn服务的用户名,用root一般没错
svn root path指svn根目录,例如/home/bruce/SVNROOT





3,286

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 实用资料发布区
社区管理员
  • 实用资料发布区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧