码迷,mamicode.com
首页 > 其他好文 > 详细

[转载+整理]centOS 6.3 上配置SVN服务器

时间:2015-08-31 00:49:45      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:

1,该文章出处博客园: http://www.cnblogs.com/zhoulf/archive/2013/02/02/2889949.html

 

 

zhoulf 2013-02-02 原创

安装说明

 

系统环境:CentOS-6.3
安装方式:yum install (源码安装容易产生版本兼容的问题)
安装软件:系统自动下载SVN软件

 

检查已安装版本

#检查是否安装了低版本的SVN
[root@localhost /]# rpm -qa subversion

#卸载旧版本SVN
[root@localhost modules]# yum remove subversion

安装SVN

[root@localhost modules]# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql

确认已安装了svn模块

[root@localhost /]# cd /etc/httpd/modules
[root@localhost modules]# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so

验证安装

检验已经安装的SVN版本信息 
[root@localhost modules]# svnserve --version

svnserve,版本 1.6.11 (r934486)
编译于 Jun 23 2012,00:44:03

版权所有 (C) 2000-2009 CollabNet。 
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。 
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。

下列版本库后端(FS) 模块可用:

* fs_base : 模块只能操作BDB版本库。 
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。

Cyrus SASL 认证可用。

代码库创建

SVN软件安装完成后还需要建立SVN库 
[root@localhost modules]# mkdir -p /opt/svn/repositories
[root@localhost modules]# svnadmin create /opt/svn/repositories
执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

配置代码库

进入上面生成的文件夹conf下,进行配置 
[root@localhost modules]# cd /opt/svn/repositories/conf

用户密码passwd配置

[root@localhost password]# cd /opt/svn/repositories/conf
[root@admin conf]# vi + passwd
修改passwd为以下内容:

[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456

权限控制authz配置

[root@admin conf]# vi + authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

#设置[/]代表根目录下所有的资源 
[/]
zhoulf=rw

服务svnserve.conf配置

[root@admin conf]# vi + svnserve.conf

追加以下内容:

[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限 
auth-access=write
#密码数据库的路径 
password-db=passwd
#访问控制文件 
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 
realm=/opt/svn/repositories

配置防火墙端口

[root@localhost conf]# vi /etc/sysconfig/iptables
添加以下内容: 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙 
[root@localhost conf]# service iptables restart

启动SVN

svnserve -d -r /opt/svn/repositories

查看SVN进程

[root@localhost conf]# ps -ef|grep svn|grep -v grep
root     12538     1  0 14:40 ?        00:00:00  -d -r /opt/svn/repositories

检测SVN 端口

[root@localhost conf]# netstat -ln |grep 3690
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN

停止重启SVN

[root@localhost password]# killall svnserve    //停止 
[root@localhost password]# svnserve -d -r /opt/svn/repositories  // 启动

测试

SVN服务已经启动,使用客户端测试连接。 
客户端连接地址:svn://192.168.15.231
用户名/密码: zhoulf/123456
测试创建文件夹等操作。

 

 

 

 

BUT:我遇到了问题一直报

Can‘t connect to host ‘192.168.1.121‘: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

解决办法:1,我找了很久发现是centOS 防火墙问题 

service iptables stop  

关闭防火墙,就可以正常迁入迁出文件.

2,这点真是日了狗了,我按照上面博主的教程,一直报错,防火墙也是这样设置的,后来我发现是插入语句:-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT 放的位置有问题。

现在我的虚拟机 /etc/sysconfig/iptables 文件打开是这样子

技术分享

只要将 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT 放到--reject 也就是commit上面两行的后面就会一直取不到,我放到空格处,就不会报错会可以正常更新。

 

 

//自动启动svn服务

 

二,我们已经可以配置自己的库了,但是每次开机都要手动启动svn服务台繁琐,我们设置linux开机启动服务。

   解决方法1:将启动命令写到  svnserve -d -r /opt/svn/repositories  放在  /etc/rc.d/rc.local最后一行

实际上rc.local里面英文的大致意思就是:等其他初始化脚本执行完了就会执行该脚本.这个很容易理解 这里面可以直接执行shell命令,当然也可以执行其他shell脚本。

 

格式为  程序名  程序路径

例如  a.sh  /home/a.sh 将该命令加入到rc.local最后一行

2:自己手写启动脚本(实际上就是将svnserve -d -r /opt/svn/repositories 放到脚本里面),并且设置为服务,开机启动,这个有点冗长:我已经试过了成功:

链接一:http://blog.sina.com.cn/s/blog_5f54f0be0101b3bs.html

链接二: http://blog.csdn.net/jiedushi/article/details/6767445/ 这个有点小问题,读者自己摸索

 

 

//to-do 配置多个库

 

三,    解决方法 1,同一目录下创建两个svn目录,最后启动服务的时候,以父目录为标准

具体请看:http://blog.sina.com.cn/s/blog_8882a6260101a4ox.html

        解决方法2,http://mw-fang.iteye.com/blog/1787766  方法2这个我尝试了,有问题,若有朋友测试成功麻烦请告诉我

 

小结:实际上centOS上一次只能启动一个svn服务(我自己都感觉不妥当,端口设置不同的可以开启多个???)

上面第一种方法确实可以创建多个库,但是实际上还是两个库的根目录作为 svn总的库房··

 

和建立一个库,先取出来  然后新建两个文件夹  各自分类管理的 效果是一模一样···

 

就此作罢!

 

 

  

[转载+整理]centOS 6.3 上配置SVN服务器

标签:

原文地址:http://www.cnblogs.com/dongguapifly/p/4771908.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!