CENTOS6.8安装配置svn
来源:互联网 发布:00截断原理 php 编辑:程序博客网 时间:2024/05/22 13:42
环境 :centos6.8 、 svn1.6.11
安装svn本来是很简单的事,但由于安装好windows客户端访问出现服务器没有应答的问题,困顿了一段时间,所以记录下问题。
安装svn
官网提供的安装方法:
#yum install subversion mod_dav_svn
我的安装方法:
#检查是否安装了SVN# rpm -qa subversion#卸载旧版本SVN# yum remove subversion#安装SVN,输入官网提供的命令:# yum install subversion mod_dav_svn#若安装有问题,尝试将mod_auth_mysql安上(yum install mod_auth_mysql)#确认已安装了svn模块# cd /etc/httpd/modules# ls | grep svnmod_authz_svn.somod_dav_svn.so
安装完成后查看信息,如图,到此版本控制器安装完成。
最后一句,Cyrus SASL认证可用,说明在配置svn时可选用此认证方法,后文见。
配置仓库
#服务器上创建svn版本仓库:#mkdir /svndata #svnadmin create /svndata#我在服务器上创建了一个svndata目录,作为版本库,目录自己指定。
命令执行完成后,在该目录下将会生成conf、db、hooks、locks等文件夹和format、README.txt文件。版本仓库的配置全在conf文件夹中,进入conf文件夹,有三个文件:authz | passwd | svnserve.conf。
编辑authz文件
为访问次仓库的人分配权限。文件中可以为每个人单独定义,一行定义一个;可以分配到组中,比如开发人员全部定义到一个组(coder)中 #vim authz
单独定义
noel=rw
noel用户具有读些权限分组定义,以
[groups]
代表节点开始。定义了三类人员,一类是程序员,一类是办公人员,还有一个老板。每个组的人用逗号分隔。
[groups]coder=noel,harry,joestaff=jin,sallyother=boss
然后为人员分配访问权限,可以组分配权限,可以单独为每个人分配权限。
Boss可以访问整个仓库,切具有读些权限,职员jin也具有读写权限访问整个仓库。匿名用户使用&指定。
[/]@other=wrjin=wr&jim=r
程序员们只能访问仓库中的code文件夹,且其他人没有权限
[/code]@coder=wr*=
以上权限分配方法记得灵活使用,权限有r=读,w=写,无权限为空。
编辑passwd文件
用于存放用户登录svn使用的密码。
格式是 用户名=密码
,一个用户一行
编辑svnserve.conf文件
这是访问SVN的控制文件,此配置文件只对于通过svn://访问的方式有效,http:// | file://等方式访问无效。每个配置指令配置文件都有说明。
我的设置如下,仅供参考:
[general]anon-access=none 匿名无法访问auth-access=write 认证的用户具有写权限authz-db=authz 授权的访问者,就是之前配置的authz文件password-db=passwd 指定访问者的密码存放位置,就是之前修改的passwd文件[sasl]#use-sasl=true
Sasl配置节点是可选节点,如果想用Cyrus SASL认证,svn的Cysus SASL就要可用,默认不使用此认证,即使配置了,svn不支持,那么此配置也会被忽略。
到此,svn版本仓库的配置完成,接下来就要启动服务供authz文件中的用户访问。
配置防火墙
#vim /etc/sysconfig/iptables
加入内容,因为svn提供的默认访问端口就是3690:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
或者直接使用命令,将防火墙规则追加到规则表:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存重启防火墙:
#service iptables restart
启动和停止svn服务:
svnserve -d -r /svndata #指定仓库位置,并启动后后台运行svn服务Killall svnserve #停止svn服务
查看svn的状态:
ps -ef|grep svn|grep -v grep#输出类似结果:root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /svndatanetstat -ln |grep 3690#输出类似结果:tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
到此,可以通过svn客户端访问仓库了。
出现的问题
在做了以上配置后,windows svn客户端访问输出:
svn Error: Can't connect to host *.*.*.*': 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败
解决思路:
1、 查看服务器端的svn状态 ps -ef|grep svn|grep -v grep
查看svn是否在运行
2、 检查svn服务端,端口是否在监听 netstat -ln |grep 3690
3、 如果没有监听,或在启动的时候指定访问端口: svnserve -d -r /svndata –listen-port 3690
4、 检查防火墙是否开放3690端口
5、 客户端能否正确链接对应端口 telnet IP 3690
我通过telnet发现输出信息:telnet: connect to address *.*.*.*: No route to host
然后执行如下命令,删除表链中的所有规则: iptables -F
参考链接:
1、http://blog.163.com/modingfa_002/blog/static/1109254662010021112412843/
2、https://my.oschina.net/junn/blog/164041
Cyrus SASL 是 SASL(Simple Authentication Security Layer简单认证安全层,功能主要是用于SMTP认证) 的一个实现:
1、 wiki
2、开源社区
- CENTOS6.8安装配置svn
- CentOS6.5安装配置SVN
- CentOS6.5安装配置SVN
- CentOS6.5安装配置SVN
- CentOS6.5安装配置SVN
- CentOS6.5安装配置SVN
- Centos6.5安装配置SVN
- CentOS6.5安装配置SVN
- centos6.4 svn server安装及配置
- CentOS6.5安装配置SVN+Apache
- CentOS6.5 yum安装svn以及配置
- CentOS6.8 安装SVN服务器
- centos6.0 配置SVN
- centos6.0 配置SVN
- centos6.0 配置SVN
- 阿里云centos6.8安装svn
- Centos6.4 安装svn
- Centos6 安装svn
- shell中awk 使用
- JMeter学习-004-WEB脚本入门实战
- My97DatePicker
- Codeforces Round #209 (Div. 2) A.Table
- java list<map> 排序
- CENTOS6.8安装配置svn
- String,StringBuffer,StringBuild区别(个人总结笔记)
- 使用文件共享实现IPC
- html5 meta详解
- yum出错Error: Cannot find a valid baseurl for repo: base
- .NET框架学习:浅谈ASP.NET的Postback
- unity 动态合并材质达到减少Draw Calls的方法
- 深度增强学习方向论文整理
- maven创建web项目