Linux
下
SVN
服务器安装配置
第一章
安装
1.
采用源文件编译安装。源文件共两个,为:
subversion-1.6.1.tar.gz
(
subversion
源文件)
subversion-deps-1.6.1.tar.gz
(
subversion
依赖文件)
注意文件版本必须一致
,
否则很容易产生各种奇怪的问题
.
2.
上传以上两个文件到服务器上,解压。解压命令为:
tar xfvz subversion-1.6.1.tar.gz
tar xfvz subversion-deps-1.6.1.tar.gz
指令简介:
tar
为解压命令,
xfvz
为
tar
命令的参数,用于解压
tar.gz
格式压
缩的文件。
3.
解压后生成
subversion-1.6.1
子目录,两个压缩包解压后都会自动放到此
目录下,不用手动更改。
4.
进入解压子目录:
cd subversion-1.6.1
5.
执行
./configure --prefix=/usr/local/svn
./configure
时会出现以下错误:
configure: error: We require OpenSSL; try
–
with-openssl configure failed for serf
。
这是因为没有安装
openssl
相关包
openssl
官方网址:
http://www.openssl.org/
linux
下
openssl
的安装:
wget
http://www.openssl.org/source/openssl-1.0.0g.tar.gz
tar xvzf openssl-1.0.0g.tar.gz
cd openssl-1.0.0g
然后:
./config --prefix=/usr/local/ssl shared zlib-dynamic enable-camellia
更多详细帮助请运行
./config --help
然后执行:
make depend
Make
Make test
make install
编辑
/etc/ld.so.conf, add to paths /usr/local/ssl/lib
(可以直接在
/etc/ld.so.conf.d
文件夹下再创建一个
.conf
文件,
把
/usr/local/ssl/lib
拷
贝到里面,另外也可以在现有的
.conf
文件中添加
/usr/local/ssl/lib
这个路
径,反正
ld.so.conf
中包含了这个文件夹下的所有
.conf
文件)
安装之后会在
/usr/local
下生成一个
ssl
目录,
设置环境变量,
在
/etc/profile
的
PATH
中增加如下内容:
PATH=/usr/local/ssl/bin:/sbin/:$PATH:/usr/sbin
export PATH
6.
再进到
subversion-1.6.1
再执行
./configure --prefix=/opt/subversion
进行配置设定并指明安装目录
.
注意
prefix
前是两个减号
.
默认不带
BDB
包
,
所以默认使用的是
FSFS
模式
.
若想使用
BDB
模式需另外下载
BDB
包
.
建议使用
FSFS
模式
.
指令简介:
configure
命令用于检查安装平台和目标特征,
prefix
用于指定路径。
configure
完成可能会出现
:
You
don’t
seem
to
have
Berkele
y
DB
version
4.0.14
or
newer installed
and
linked
to
APR-UTIL. We
have
created
Makefiles
which will
build without the Berkeley DB back-end; your repositories will use FSFS as the default back-end. You can find the latest version
of Berkeley DB here:
http://www.oracle.com/technology/software/products/berkeley-db/index.html
你似乎没有
Berkeley DB
版本
4.0.14
或更新版本安装并链接至四月
- util
的。我们已创建
Makefile
文件的将建立一个没有了
Berkeley DB
后端,
你的版本库作为默认后端使用
FSFS
格式。你可以找到最新版本
Berkeley DB
的位置。
这个提示可以跳过
,
因为不使用
BDB
存储。
7.
执行
make
编译
.
8.
执行
make install
安装
.
9.
添加环境变量
:
vi /etc/profile
在文件最后加入
:
SVNPATH=$PATH:/usr/local/svn/bin
export SVNPATH
10.
测试
SVN
是否安装成功
,
执行
:
svnserve --version
如果显示版本信息
,
则安装成功
.
(如果没有安装
svnserve
,
请先安装
apt-get
install subversion
)
第二章
配置
本系统采用为每个项目单独建一版本库的策略。
配置文件,
密码文件,
访问控制
文件等都放在版本库的
conf
目录下。所以每次开始一个新项目都必须新建一个
版本库,
并重新配置各配置文件。
还有很重要的一条,
要求各组员重新配置客户
端,包括服务器版本库路径,本地路径等信息。
1.
建立版本库目录,
建立好的版本库目录与安装目录不在同级目录下
(
可建立多
个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录
,
以下讲
的都是版本库目录
)
mkdir
–
p /opt/svndata/repos
2.
建立
svn
版本库
(
与上面目录对应
)
svnadmin create /opt/svndata/repos
执行此命令后
svn
自动在
repos
目录下添加必须的配置文件
.
注意
:
版本库不同于一般的文件夹
,
直接在操作系统上新建文件无法被
SVN
识别
,
必须使用
import
等命令将文件导入版本库
.
此为
svn
内部指令,
create
用于新建版本库。请使用
svn help
查看详细说明。
3.
修改版本库配置文件
vi /opt/svndata/repos/conf/svnserve.conf
各参数功能在配置文件的注释中有说明
,
此处配置如下
:
[general]
anon-access = none #
使非授权用户无法访问
auth-access = write #
使授权用户有写权限
password-db = /opt/svndata/repos/conf/passwd #
指明密码文件路径
authz-db = /opt/svndata/repos/conf/authz #
访问控制文件
realm = /opt/svndata/repos #
认证命名空间,
subversion
会在认证提示里
显示,并且作为凭证缓存的关键字。
其它采用默认配置
.
各语句都必须顶格写
,
左侧不能留空格
,
否则会出错
.
指令简介:这是
svn
配置文件的格式,请按照以上格式书写。
4.
配置用户
passwd
文件
输入以下内容:
[users]
<
用户
1> = <
密码
1> admin = admin
<
用户
2> = <
密码
2> username2 = password2
可以添加多个,此为用户名密码对。
5.
配置权限
authz
文件
指令简介:
此配置文件采用“基于路径的授权”策略,
中括号里指定路径,
以下
列出对各用户的授权。包括只读
r
,读写
rw
。没有列出的用户,则不允许访问。
还可以对用户分组,具体请参考
svn
手册,以下是简单例子:
用户组格式:
[groups]
<
用户组名
> = <
用户
1>,<
用户
2>
其中,
1
个用户组可以包含
1
个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<
版本库
>:/
项目
/
目录
]
@<
用户组名
> = <
权限
>
<
用户名
> = <
权限
>
其中,方框号内部分可以有多种写法
:
/,
表示根目录及以下。根目录是
svnserve
启动时指定的,我们指定
/opt/svndata
。这样,
/
就是表示对全部版本库设置权限。
repos1:/,
表示对版本库
1
设置权限
repos2:/abc, ,
表示对版本库
2
中的
abc
项目设置权限
repos2:/abc/aaa, ,
表示对版本库
2
中的
abc
项目的
aaa
目录设置权限
权限主体可以是用户组、用户或
*
,用户组在前面加
@
,
*
表示全部用户。权限可
以是
w
、
r
、
wr
和空,空表示没有任何权限。
示例:
[groups]
MDS4000II_group = admin,zhangl
[/]
admin = rw
viewer = r
[/dev]
admin = rw
viewer = r
* =
[/baseline]
admin = rw
* =
[/prj]
admin = rw
* =
[/dev/01 MDS4000II]
@MDS4000II_group = rw
* =
注意:配置
auth
、
passwd
和
svnserve.conf
一定要心细,否则客户端访问时会认证失败,如不能访问,
百度和谷歌上有很多资料可供参考。
三、启动
svn