服务器:redhat版本为6.4
1.安装svn
yum install subversion
sudo apt-get install subversion
2.创建svn管理用户
groupadd svn
useradd -g svn svn
passwd svn
3.创建一个仓库
mkdir -p repository/test
svnadmin create repository/test
4.初始化版本仓库
4.1.导入源代码
cd /home/svn/repository
mkdir -p import/{trunk,branches,tags}
(就可以创建新的文件目录层次出来即import目录下面再包含三个子目录出来,trunk表示主干,branches则为项目的分支,tags存放某个版本的快照)
4.2初始化
svn import /home/svn/repository/import
file:///home/svn/repository/test/ -m "Init repository"
5.配置subversion
chmod -R svn:svn home/svn/repository
subversion的配置文件全部都在仓库的conf目录下面
5.1 修改svnserve.conf配置文件
cd /home/svn/repository/test
vim conf/svnserve.conf
添加以下信息
[general]
anon-access = none # 使非授权用户无法访问,不能是read,会导致权限问题
auth-access = write # 使授权用户有写权限
authz-db = authz # 访问控制文件
password-db = passwd # 指明密码文件路径
保存svnserve.conf后开始配置authz和passwd
5.2 配置authz
vim conf/authz
[groups]
svn = svn # <用户组名> = <用户1>,<用户2>其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
[repository/test:/] 或 [/]
@svn = rw # @<用户组名> = <权限>
svn =rw # <用户名> = <权限>
[repository/test:/trunk]
@svn = rw
svn =rw
[repository/test:/branches]
@svn = rw
svn =rw
[repository/test:/tags]
@svn = rw
svn =rw
5.3 修改用户密码文件passwd
vim conf/passwd
[users]
svn = svn123 # <用户1> = <密码1>
6.运行
svnserve -d -r /home/svn
-d:守护进程
-r:svn根目录
检查端口
基于svnserve的,默认端口为3690,
基于Apache的,默认端口为Apache的默认端口80。
# netstat -ntlp|grep 3690
修改端口号
svnserve -d -r /home/svn/repository --listen-port 2222
服务器端的文件存在/home/svn/repository/test/db/revs
7.测试
svn info svn://localhost/repository/test
显示信息则配置成功
client下载项目
svn co svn:ip://仓库
ps:svn+apache的搭建见下章