csvn,svn安装配置

本文以,CollabNetSubversionEdge以及subversion为例
CollabNetSubversionEdge:自带一个web管理后台界面 操作方便(推荐)
csvn
环境 :jdk1.7  64位     centerOs6.5    CollabNetSubversionEdge-5.1.0_linux-x86_64.tar.gz
必须使用svn用户解压和启动服务
jdk安装 请点击
CollabNetSubversionEdge-5.1.0_linux-x86_64.tar.gz 下载地址:http://pan.baidu.com/s/1eRxVYH8

1,以root权限执行建立svn用户组和成员svnuser,并为svnsuer设置密码

[root@localhost]# groupadd svn
[root@localhost]# useradd -g svn svnuser
[root@localhost]# passwd svnuser

2,创建存放CollabNetSubversionEdge安装文件的目录

[root@localhost]# mkdir /home/subversion

3,压缩CollabNetSubversionEdge-5.1.0_linux-x86_64.tar.gz文件

[root@localhost]# cd home/subversion
[root@localhost]# tar -zxf CollabNetSubversionEdge-5.1.0_linux-x86_64.tar.gz

4 ,使用root用户 为svnuser赋予权限

[root@localhost]# cd csvn
[root@localhost]# chown svnuser:root -R csvn/

5,使用 svnuser用户启动

[root@localhost]# sudo su - svnuser
[root@localhost]# cd csvn/bin
[root@localhost]# ./csvn start

访问地址 :http://localhost:3343/csvn

配置SVN服务随csvn启动而一起启动

6.配置开机启动[可选]

[root@localhost]# sudo bin/csvn-httpd install #svn服务端
[root@localhost]# sudo -E bin/csvn install #web页面
[root@localhost]# cd csvn
[root@localhost]# sudo bin/csvn install //为了让svn随系统的启动而自动运行,我们执行此安装命令。并需要配置“data/conf/csvn.conf”文件下的JAVA_HOME和RUN_AS_USER这2个参数值。JAVA_HOME=/usr/java/jdk1.6.0_21; RUN_AS_USER=svnuser
[root@localhost]# bin/csvn start //启动svn,必须确定当前是svnuser用户而不是超级用户root
[root@localhost]# bin/csvn console //如果第5步不能启动,尝试该操作sudo:抱歉,您必须拥有一个终端来执行 sudo
网上搜了一下,解决办法是编辑 /etc/sudoers 文件,将Default requiretty注释掉。
[root@localhost]# sudo vi /etc/sudoers
Default requiretty #注释掉 Default requiretty 一行
具体操作:
[root@localhost]# sudo sed -i ‘s/Defaults requiretty/#Defaults requiretty/g’ /etc/sudoers
[root@localhost]# sudo cat /etc/sudoers | grep requiretty

 

subversion安装

1.检查是否已安装

[root@localhost]rpm -qa subversion

如果要卸载旧版本:

[root@localhost]yum remove subversion

2.安装

[root@localhost]yum install subversion
PS:yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql(这是安装配合Apache的模块,我暂时还没做,做了再补上,你可以只装subversion,多装了也无所谓)

3.检查是否安装成功

[root@localhost]svnserve --version

如果成功会输出版本号

4.创建仓库目录
例如:

[root@localhost]mkdir /home/svn/game

5.创建项目

[root@localhost]svnadmin create /home/svn/game

6.检查是否创建成功

[root@localhost]@cd /home/svn/game

[root@localhost]#ll

如果成功,game目录下会多出几个文件夹

7.进入conf目录会看到3个配置文件,生成的文件中都有英文注释说明
示例

authz:用户权限配置
示例:
[groups]
#管理组
manager = boss
[game:/]
@manager=rw
passwd:用户密码
[users]
boss=123456
svnserve.conf:服务配置
#匿名访问者权限
anon-access = none
#验证用户权限
auth-access = write
#密码文件地址
password-db = /home/svn/game/passwd
#权限文件地址
authz-db = /home/svn/game/authz
#项目名称(UUID)
realm =game

8.开放svn端口
默认是3690端口,你也可以用别的。已开启的跳过这一步

修改
[root@localhost]iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
保存
[root@localhost]/etc/rc.d/init.d/iptables save
重启
[root@localhost]service iptables restart
查看
[root@localhost]/etc/init.d/iptables status

9.启动SVN服务

[root@localhost]svnserve -d -r /home/svn

-d:守护进程
-r:svn根目录
假设服务端IP为192.168.1.100,那么如下设置后game的访问目录就为:

svn://192.168.1.100/game

# 在home/www目录下建立多个仓库
[root@localhost]svnadmin create home/www/svn1
[root@localhost]svnadmin create home/www/svn2
[root@localhost]svnadmin create home/www/svn3

#建立后每个仓库下都有conf目录,可分别配置账户、权限等
#只需要启动home/www目录

[root@localhost]svnserve -d -r home/www

svn的url分别是

svn://127.0.0.1/svn1
svn://127.0.0.1/svn2
svn://127.0.0.1/svn3

在checkout数据仓库aaa时,出现如下错误:

Error  Unable to connect to a repository at URL ‘https://172.18.0.254:861/svn/aaa’
Error  Access to ‘https://172.18.0.254:861/svn/aaa ‘ forbidden

 

比较诡异的是,在Web页面上访问数据仓库aaa,是成功的;

如果说SVN服务器有问题,可是checkout其它早就存在的数据仓库,也是成功的。

解决方案:

  1. 右键点击本地副本,TortoiseSVN -> Settings -> Saved Data,

  2. 点击个个“Clear”按钮,把本地缓存都清除了,点击“确定”;

  3.  再重新checkout,大功告成!