linux服务器(centos) 搭建svn服务;并修改为 http方式访问

转载并修改:

环境为centos7

1.首先 看看机器上安装了svn了没有 
rpm -qa |grep svn

2.如果没有安装 执行
yum -y install subversion 

3.安装好了之后 新建一个svn目录,这里就是建立为一个文件夹; 
mkdir  /home/svn

4.新建一个版本仓库 ----建立后,可以认为算是一个svn管理的顶层文件夹(如果只有一个的话)
svnadmin create /home/svn/repo

红色部分是版本仓库名 在配置文件中会使用的

5.将你需要放在svn上的工程 放进repo目录中
6.初始化一下你的版本仓库 (如下操作未实践,)
svn import    需要放到svn上的文件夹/ file:///home/svn/repo -m “版本说明” --username xx --password xx

这里需要注意的是  如果后边不加用户名和密码 可能导致 客户端在使用的时候 update时
不需要输入用户名和密码就可以update

7.添加用户
要添加SVN用户非常简单,

只需在/home/svn/repo/conf/passwd文件添加一个

形如“username=password”的条目就可以了。为了测试,我添加了如下内容:(密码都是明文)

[users]
# harry = harryssecret
# sally = sallyssecret
root = root123
8.修改用户访问策略 ( 权限相关的管理等)
/home/svn/repo/conf/authz记录用户的访问策略,以下是参考:

[groups]
project_p = root

#[project:/] 如果你的仓库下边就一个版本的话 就不需要使用xxx 直接一个斜杠就完事

#[project:/xxx] 如果你的仓库下边有多个版本的话xxx就是那个文件夹的名字

#上边这2个根据自己情况选一个
@project_p = rw
* =

说明:以上信息表示,只有project_p用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。这个很重要,一定要加上!

9.修改svnserve.conf文件,让用户和策略配置升效.
svnserve.conf内容如下:

[general]
anon-access = none
auth-access = write
password-db = /home/svn/repo/conf/passwd
authz-db = /home/svn/repo/conf/authz
10.启动服务器  (指向文件夹就行)
# svnserve -d -r   /home/svn    
注意:如果修改了svn配置,需要重启svn服务,步骤如下:

# ps -aux|grep svnserve
# kill -9 ID号
# svnserve -d -r    /home/svn
11.测试服务器

# svn co svn://192.168.x.x/repo
12.到此为止 独立svn服务器就建立好了  
需要注意的是  如果客户端想要使用的话

url地址一定是这个样子的   svn://192.168.x.x/repo看好了  不是http 或 https 的开头; 

这里从公司的内网访问足够了; 端口默认的是3690

==========================================================================================

下面介绍支持http訪問配置

1  前提条件:
请先关闭防火墙或者selinux,当然你也可以进行相应的配置,让某些端口通过

我比较暴力,采用关闭处理

systemctl disable firewalld
systemctl stop firewalld
disable是让其不下次开机启动,stop是结束它。

对于selinux

改/etc/selinux/config文件的”SELINUX=enforcing”为”SELINUX=disabled”

然后执行”setenforce 0″不用重启地关闭selinux

一、安装相应的软件
#apache服务器,让我们的svn 服务器支持http协议访问,而不仅是svn://协议
yum install httpd
#apache操作svn模块
yum install mod_dav_svn
二、修改配置文件

修改/etc/httpd/conf.d/subversion.conf(没有则新建),內容为
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location /repo>
DAV svn
SVNListParentPath on
SVNParentPath  /home/svn/repo
AuthType Basic
Satisfy Any
AuthName "Subversion repos"
AuthUserFile /home/svn/passwd
AuthzSVNAccessFile   /home/svn/authz
Require valid-user
</Location>
如上的粗体文字中,是指定的之前svn://XXXX 访问模式下的,用户密码文件。但是对于http访问方式的,需要进行修改,

http方式和之前的不同,是要加密的; 

三   将默认的passwd文件改名,创建htpasswd 格式的用户名密码文件 passwd

mv passwd passwd.default
htpasswd -cm passwd yourname
htpasswd -m passwd myname

authz 文件可以不该,基本一致;

四、 让apache用户对”/home/svn/repo″目录拥有写权限。(之前用的root用户操作的,如下操作直接复制来)

#将用户apache加入root组
usermod -a -G root apache
#让group对/home/svn/repo目录也有写权限
chmod -R g+w /home/svn/repo
 

五、测试

systemctl  start    httpd.service    ###启动httpd服务; 

或 

systemctl  restart    httpd.service    ###重启httpd服务; 

现在就可以通过”http://ip/repo″来访问我们的svn 服务器了

 

对于外网的可以通过natapp方式进行内网穿透的方式进行。 该httpd方式默认的80端口; 

Linux中的80端口不要被占用; 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值