linux 安装独立的svn服务器
svn服务搭建有两种方式
1.通过apache整合svn,http协议访问
2.直接svn服务,svn:// 访问
安装apache挺麻烦的,今天尝试安装独立的svn服务
一,下载解压
wget http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz
svn的官方网址是http://subversion.tigris.org
上面二个压缩文件解压后会放到同一个文件下,不要另建文件夹
二、安装svn
1.tar zxvf subversion-1.6.1.tar.gz 2.tar zxvf subversion-deps-1.6.1.tar.gz 3.cd subversion-1.6.1/ 4../configure --prefix=/usr/local/svn 5.make && make install
如要和apache整合,所用的模块在/usr/lib/httpd/modules 目录中
三、安装结果测试:
/usr/local/svn/bin/svnserve --version
如果看到版本信息,那么恭喜你安装成功!
四、添加环境变量
vi /etc/profile
PATH=$PATH:/usr/local/svn/bin
export PATH
source /etc/profile (重新编译下才生效)
五、创建数据仓库并配置svn
1,建个svn的根目录,因为项目不只一个
mkdir -p /home/svn/project #-p的意思是说如果没有父目录建之
2,建个仓库
mkdir -p /home/svn/project/code
svnadmin create /home/svn/project/code/
3,导入数据
svn import ./svntest file:///home/svn/project/code -m "Initial repository test"
Adding svntest/test.html
Committed revision 1.
4,修改svnserve.conf
vi svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
5,目录控制文件authz
vi authz
[groups]
managers = admin
develps = test1,test2
[code:/]
@managers = rw
@develps = rw
* = r
6,修改用户密码文件passwd
vi passwd
[users]
zhangsan = ********
六、启动并测试
1.启动svn
/usr/local/svn/bin/svnserve -d -r /home/centos/project --listen-port 80 (80端口监听,默认端口是3690)
如果执行
svnserve -d -r /home/centos/project --listen-port 80
启动svnserve --version 得到的版本是1.1x的,客户端访问会出现
Expected version '3' of repository; found version '5' 的问题
原因:
从Subversion 1.4开始,fsfs的版本库进行了格式上的升级,使得存储同样的东西占用的空间更小,同时,版本标识也从原先的3升级为5。
当版本库文件是1.4的格式,而服务器端的程序是1.3.x时,因为旧版本最高支持的格式仅为3,识别不了格式为5的版本库,所以报这个错误。
解决方法:
1、升级svn服务器端程序(简单),将1.3.x的程序升级为1.4.x
参考:http://wiki.iusesvn.com/index.php/Expected_version_'3'_of_repository%3B_found_version_'5'
2.测试
svn co svn://127.0.0.1/