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其它早就存在的数据仓库,也是成功的。
解决方案:
-
右键点击本地副本,TortoiseSVN -> Settings -> Saved Data,
-
点击个个“Clear”按钮,把本地缓存都清除了,点击“确定”;
-
再重新checkout,大功告成!