1. 检查当前系统是否已经安装
yum list subversion*
或者
检查
ls /usr/bin/svn*
如果存在svnserve 文件说明已经安装
ps aux|grep svn #检查svn服务是否运行,如果发现svn相关进程,说明正在运行
确定是否为最新版本
svnserve --version #当前最新版本为 1.7.2
2. 下载最新版本的subversion tar 包
本地下载目录路径定义为 /zsofts/,下文的所有下载均相对于此目录。
cd /zsofts/
wget http://labs.renren.com/apache-mirror/subversion/subversion-1.7.2.tar.gz
3. 解压缩安装包
tar zxvf subversion-1.7.2.tar.gz
4. 查看配置参数
cd subversion-1.7.2
./configure --help
其中:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
5. 检查并安装依赖包
./configure
检查依赖包
如果没有安装c编译器,请执行
yum install gcc gcc-c++
如果没有安装 apr 或者 apr-util ,请到 http://mirror.bit.edu.cn/apache//apr/ 下载并安装,需要1.3.x以上版本
1). 安装 berkeleydb 【如果不需要此库支持,可跳过】
访问 http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html,选择下载
Berkeley DB 5.1.29.tar.gz, with AES encryption
此下载需要登录,请下载后上传至服务器安装
tar zxvf db-5.1.29.tar.gz
cd db-5.1.29
cd build_unix/
../dist/configure
make
make install
cd /usr/lib/
ln -s /usr/local/BerkeleyDB.5.1/lib/libdb-5.1.so
ldconfig
其它处置:【摘自手册】
To rebuild Berkeley DB, enter:
make clean
make
If you change your mind about how Berkeley DB is to be configured,
you must start from scratch by entering the following command:
make realclean
../dist/configure
make
To uninstall Berkeley DB, enter:
make uninstall
需要提醒的是,新版本的DBD不一定很好的支持。目前测试在 1.4.1 版本的apr-util下,不支持5.3.
另外,貌似5.1的tar包解压缩时有问题,也许是我的下载问题。
如果确实存在问题,我的方法是在windows下用winrar解压缩之后生成zip包,用uzip解压缩。
之后执行一次 chmod 755 ../dist/configure .
2). 安装 apr ,默认安装路径 /usr/local
wget http://labs.renren.com/apache-mirror//apr/apr-1.4.5.tar.gz
tar zxvf apr-1.4.5.tar.gz
cd apr-1.4.5
./configure
make
make install
3). 安装 apr-util ,默认安装路径 /usr/local
wget http://labs.renren.com/apache-mirror//apr/apr-util-1.4.1.tar.gz
tar zxvf apr-util-1.4.1.tar.gz
cd apr-util-1.4.1
# 启用BerkeleyDB支持采用这句
./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-berkeley-db=/usr/local/BerkeleyDB.5.1/
#不启用BerkeleyDB支持采用这句
./configure --with-apr=/usr/local/apr/bin/apr-1-config
make
make install
4). 安装sqlite,版本要求不低于3.7.6.3,默认安装路径 /usr/local
wget http://www.sqlite.org/sqlite-autoconf-3071000.tar.gz
tar zxvf sqlite-autoconf-3071000.tar.gz
cd sqlite-autoconf-3071000
./configure
make
make install
5). 安装 zlib 开发包
yum install zlib zlib-devel
6. 执行安装
./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config
make
make install
7. 检查安装是否成功
svnserve --version
显示下述信息证明安装成功
svnserve, version 1.7.2 (r1207936)
8. 启动服务并设置路径
1) 创建仓库路径
mkdir -p /home/svnroot/repository
2) 创建测试仓库
/usr/local/bin/svnadmin create /home/svnroot/repository/test
3) 检查是否创建成功
ls /home/svnroot/repository/test/
如果有内容,则说明创建成功
4) 创建统一的用户和权限配置文件
mkdir -p /home/svnroot/repository/conf
cp test/conf/authz conf/auth.conf
cp test/conf/passwd conf/pwd.conf
5) 添加新用户
vim pwd.conf
在[users]段加入
admin = admin@345
此时加入一个用户名为 admin 密码为 admin@345 的新用户
一个用户独占一行
6) 添加用户组
vim auth.conf
在 [groups] 段加入
gp_admin = admin
此时加入一个用户组名为 gp_admin 成员为 admin 的新用户组,成员之间用英文逗号(,)进行分割
一个用户组独占一行
7) 仓库权限配置
vim auth.conf
[/]
@gp_admin = rw
# 针对仓库跟路径赋予管理组全部成员 读写权限
[test:/]
admin = rw
# 针对单个成员赋予test仓库读写权限,当设置 / 可写是,将获得/的全部权限,大于单个项目的权限
8) 设置项目权限
[general]
# 权限为 none read write ,依次为 禁止读写 只读 读写
# 未认证的用户
anon-access = none
# 已认证的用户
auth-access = write
# 用户密码配置文件位置
password-db = /home/svnroot/repository/conf/pwd.conf
# 认证配置文件
authz-db = /home/svnroot/repository/conf/auth.conf
# 建议与项目同名
realm = test
# 用户名大小写验证 upper lower none
force-username-case = none
8) 启动服务,监听多个项目
/usr/local/bin/svnserve -d -r /home/svnroot/repository/
9) 加入自启动
vim /etc/rc.local
加入
/usr/local/bin/svnserve -d -r /home/svnroot/repository/
– 完结 –