Centos 6.8 安装 SvnServe 1.6,并设置开机启动

本篇文章主要介绍安装SVN Server 和配合使用的http服务
主体思路就是,首先安装svn的2个仓库doc仓库和project库,并由conf文件统一管理仓库的用户密码和权限设置。然后安装http服务来支持http://地址ip/自定义端口/svn 的方式进行访问,最后在讲解一下如何使用htpasswd方式创建用户密码,进行授权。

一、安装SVN

1.1检查是否安装了低版本的SVN,如果存在就卸载

# 检查
rpm -qa subversion
# 卸载
yum remove subversion

1.2安装SVN

# 安装
yum -y install subversion
# 查看版本
svnserve --version                  //或者 svn --version

二、配置SVN

2.1创建SVN版本库

# 创建目录
mkdir -p /opt/svn/svnrepos/conf						//多个库之间,统一的配置文件目录
mkdir -p /opt/svn/svnrepos/document					//第一个库:文档目录
mkdir -p /opt/svn/svnrepos/project              	//第二个库:项目目录
# 创建SVN版本库
svnadmin create /opt/svn/svnrepos/document
svnadmin create /opt/svn/svnrepos/project

2.2修改SVN版本库的配置文件
这里面主要移动的是document里的authz和passwd文件,project里的可以直接删除
修改内容包括authz.conf、passwd.conf、httppwd.conf、svnserve.conf

2.2.1移动passwd.conf
复制一份passwd密码文件到conf文件夹里,然后对passwd.conf文件授权

mv /opt/svn/svnrepos/document/conf/passwd /opt/svn/svnrepos/conf/passwd.conf
chmod 755 /opt/svn/svnrepos/conf/passwd.conf

# 新建测试用户
vi /opt/svn/svnrepos/conf/passwd.conf
# 追加用户
[users]
test = test

2.2.2移动authz.conf
复制一份authz授权文件到conf文件夹里,然后对authz.conf文件授权

mv /opt/svn/svnrepos/document/conf/authz /opt/svn/svnrepos/conf/authz.conf
chmod 755 /opt/svn/svnrepos/conf/authz.conf

# 给测试用户授权
vi /opt/svn/svnrepos/conf/authz.conf
追加权限
[groups]
manage = test
[/]
@manage = rw

2.2.3新建httppwd.conf
新建一个httppwd.conf文件,后面配置Http访问的时候用到

cd /opt/svn/svnrepos/conf/
vi httppwd.conf
chmod 755 /opt/svn/svnrepos/conf/httppwd.conf

2.2.4修改svnserve.conf
注意:document库和project库都需要修改svnserve.conf文件,只有realm仓库位置不一致,其他都一样

修改文件,2个都需要修改
chmod 755 /opt/svn/svnrepos/document/conf/svnserve.conf
chmod 755 /opt/svn/svnrepos/project/conf/svnserve.conf
vi /opt/svn/svnrepos/document/conf/svnserve.conf
vi /opt/svn/svnrepos/project/conf/svnserve.conf

#修改内容
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#使授权用户有写权限 
auth-access = write
#密码数据库的路径 
password-db = /opt/svn/svnrepos/conf/passwd.conf
#访问控制文件 
authz-db = /opt/svn/svnrepos/conf/authz.conf
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 
realm = /opt/svn/svnrepos/document
#2个文件不一样的地方
realm = /opt/svn/svnrepos/project

2.3启动、关闭SVN
注意:如果想让外界访问,就需要配置防火墙

svnserve -d -r /opt/svn/svnrepos/    			#注意目录,不包含project或者document
ps aux | grep svnserve            				#查看服务是否启动
killall svnserve                    			#关闭svn服务
netstat -ln | grep 3690                      	#检测SVN端口
netstat -tnlp

2.4测试SVN服务器,必须先关闭防火墙或者配置防火墙策略

svn://IP地址/project

三、配置防火墙

3690是SVN的默认端口,3691在后面配置Http访问用到,也可以不配置

# 编辑iptables文件
vi /etc/sysconfig/iptables
# 追加防火墙策略
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3691 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
#重启防火墙
service iptables restart

四、配置Apache支持HTTP

4.1安装所需环境
一般情况下,linux服务器是有httpd服务的,你可以检查下,如果没有则安装。
检查方法:
vi /etc/httpd/conf.d/subversion.conf
安装完svn后看是否有该目录&文件,如果存在则不需要安装httpd了。

yum -y install httpd
yum -y install mod_dav_svn

4.2验证安装环境

cd /etc/httpd/modules
ls | grep svn

4.3修改subversion.conf文件内容

vi /etc/httpd/conf.d/subversion.conf

<Location /svn/> #访问时的路径
   DAV svn
   SVNListParentPath on
   SVNParentPath /opt/svn/svnrepos/   
   AuthType Basic
   AuthName "Subversion repos"
   AuthUserFile /opt/svn/svnrepos/conf/httppwd.conf     
   AuthzSVNAccessFile /opt/svn/svnrepos/conf/authz.conf 
   Require valid-user
</Location>

4.4修改httpd.conf文件的端口(非必需)
默认http端口为80,建议修改

vi /etc/httpd/conf/httpd.conf

#找到 Listen
Listen 80 改为 3691

4.5对2.2.3章节新建httppwd.conf增加用户密码,增加权限

cd /opt/svn/svnrepos/conf/
# 新建用户
# 注意:创建用户,注意第一次新建用户有C
htpasswd -bc httppwd.conf test1 test1
# 注意:追加用户,没有c
htpasswd -b httppwd.conf test2 test2

# 给用户授权
vi /opt/svn/svnrepos/conf/authz.conf
追加权限
[groups]
manage = test,test1,test2
[/]
@manage = rw

4.6开启httpd服务
注意:开启httpd服务之前需要先配置防火墙规则,默认80,如果自定义3691就需要配置3691,详细配置方法,参照第三章节《配置防火墙》

service httpd restart

在重启httpd服务的时候遇见了2个问题,特此记录:
问题一:httpd: apr_sockaddr_info_get() failed for centosServer

解决办法:
编辑:vi /etc/hosts
追加:192.168.199.200 centosServer // IP地址 主机名

问题二:(13)Permission denied: make_sock: could not bind to address 0.0.0.0:3691

解决办法:
编辑:vi /etc/selinux/config
修改:SELINUX=disabled
然后:reboot
参考网址:https://blog.csdn.net/ljm_503909378/article/details/41244659

五、设置SVN开机启动

设置开机启动有两种方式,一种是修改配置文件,一种是通过添加启动项。这里我们都演示一下。

# 第一种:
[root@centosServer ~]# chkconfig --list | grep svnserve
svnserve       	0:off	1:off	2:off	3:off	4:off	5:off	6:off
[root@centosServer ~]# chkconfig svnserve on
[root@centosServer ~]# chkconfig --list | grep svnserve
svnserve       	0:off	1:off	2:on	3:on	4:on	5:on	6:off
# 第二种:
# 编辑rc.local文件
vi /etc/rc.d/rc.local
# 加入svn启动命令
/usr/bin/svnserve -d -r /opt/svn/svnrepos/

在这里插入图片描述

六、Httpd服务开机启动

# 首先查看一下httpd服务是否开机启动,如果是就不需要配置
[root@centosServer ~]# chkconfig --list | grep httpd
httpd          	0:off	1:off	2:off	3:off	4:off	5:off	6:off
# 很明显目前并不是开机启动,那么就设置成开机启动
[root@centosServer ~]# chkconfig httpd on
#再次查看,2345已经变成on了,设置成功
[root@centosServer ~]# chkconfig --list | grep httpd
httpd          	0:off	1:off	2:on	3:on	4:on	5:on	6:off

七、htpasswd参数

这里只展示了常用的几个,如果想看更详细的请百度。

#使用htpasswd创建用户,首次创建用户  
htpasswd -bc httppwd.conf new-user new-password  
#添加用户  
htpasswd -b httppwd.conf new-user new-password  
#删除用户  
htpasswd -D httppwd.conf user

八、参考网址

搭建参考
https://www.cnblogs.com/vijayfly/p/5711962.html
https://www.cnblogs.com/eczhou/p/7830936.html
https://blog.csdn.net/wanglei0622/article/details/48134393
https://blog.csdn.net/u010904188/article/details/80939740
基础知识
http://www.zsythink.net/archives/1305

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值