首页 > 运维 > linux运维 > 正文

SVN+Apache+IF.svnadmin支持https实现web管理SVN

大家讲道理
发布: 2017-05-28 10:28:20
原创
3938 人浏览过

阅读目录

  • 1. 介绍

  • 2. 软件准备

  • 3. 建立SVN Server仓库

  • 4. 配置安装PHP&IF.SVNadmin

  • 5. 启动服务

1.介绍                                                          

公司最近想把Windows server平台的SVN迁移到Linux平台;这边经过测试成功,所以写个随笔记录一下

今天写的是CentOS7上搭建基于Apache,http访问的SVN Server;和IF.svnadmin实现web后台可视化管理SVN

 

iF.SVNAdmin

iF.SVNAdmin应用程序是您的Subversion授权文件的基于Web的GUI。它基于PHP 5.3,需要安装一个Web服务器(Apache)。该应用程序不需要数据库后端或任何类似的,它完全基于Subversion授权和用户认证文件。(+包含用户和组的LDAP支持)

2. 软件准备                                                   


安装相关软件包

<span style="font-size: 14px"><span style="color: #000000">安装过程如下:</span><span style="color: #800080">1</span><span style="color: #000000">.安装apache

[root@localhost ~]# yum install httpd </span>-<span style="color: #000000">y</span><span style="color: #800080">2</span><span style="color: #000000">.安装svn服务器(其中,mod_dav_svn是apache服务器访问svn的一个模块)

[root@localhost ~]# yum install mod_dav_svn subversion </span>-<span style="color: #000000">y<br><br></span>3.安装完成后可以通过如下命令查看是否安装成功</span>
登录后复制
<span style="font-size: 14px">[root@localhost ~]# httpd -version</span><br><br><span style="font-size: 14px">[root@localhost ~]# svnserve --version</span>
登录后复制



<span style="font-size: 14px">[root@localhost ~]# ls /etc/httpd/<a href="http://www.php.cn/code/8212.html" target="_blank">module</a>s/ | grep svn</span><br><br><span style="font-size: 14px">mod_authz_svn.so </span>
登录后复制
mod_dav_svn.so
登录后复制


<span style="font-size: 14px"><span style="color: #800080">3</span><span style="color: #000000">.在apache下配置svn <br/><br/></span></span>
登录后复制
[root@localhost ~]# vim /etc/httpd/conf.d/subversion.conf
登录后复制


<span style="font-size: 14px">LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/svn   #svn的根目录<br/>SSL<a href="http://www.php.cn/wiki/136.html" target="_blank">Require</a>SSL                #SSL访问权限
AuthType Basic               #Basic认证方式
AuthName "Authorization SVN"   #认证时显示的信息
AuthUser<a href="http://www.php.cn/wiki/1313.html" target="_blank">File</a> /var/www/svn/passwd      #用户文件&密码
AuthzSVNAccessFile /var/www/svn/authz  #访问权限控制文件
Require valid-user            #要求真实用户,不能匿名
</Location></span>
登录后复制


3. 建立SVN Server仓库

通过如下命令建立svn仓库

其中/var/www/svn是准备放仓库的目录,这个目录可以放置多个代码仓库


[root@localhost ~]# mkdir /var/www/svn

[root@localhost ~]# svnadmin create /var/www/svn/sungeek
[root@localhost ~]# ls /var/www/svn/sungeek             --->  conf  db  format  hooks  locks  README.txt
[root@localhost ~]# chown -R apache.apache /var/www/svn

创建用户文件passwd和权限控制文件authz
[root@localhost ~]# touch /var/www/svn/passwd 

[root@localhost ~]# touch /var/www/svn/authz
登录后复制


4. 配置安装PHP&IF.SVNadmin

由于iF.SVNAdmin使用php写的,因此我们需要安装php


[root@localhost ~]# yum install php -y

安装配置if.svnadmin

[root@localhost ~]# wget http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download[root@localhost ~]# cd /usr/src/[root@localhost src]# unzip iF.SVNAdmin-stable-1.6.2[root@localhost iF.SVNAdmin-stable-1.6.2]# cp -r iF.SVNAdmin-stable-1.6.2/ /var/www/html/svnadmin
[root@localhost ~]# cd /var/www/html
[root@localhost html]# chown -R apache.apache svnadmin
[root@localhost html]# cd /var/www/html/svnadmin
[root@localhost html]# chmod -R 777 data
登录后复制


5.启动服务

如果开启了防火墙, 需要开启httpd访问权限


[root@localhost ~]# firewall-cmd --permanent --add-service=http
[root@localhost ~]# firewall-cmd --permanent --add-service=https
[root@localhost ~]# firewall-cmd --reload 
登录后复制


通过查看文件/usr/lib/systemd/system/svnserve.service, 了解到svnserver的配置文件是/etc/sysconfig/svnserve
修改/etc/sysconfig/svnserve


[root@localhost ~]# vim /etc/sysconfig/svnserve
OPTIONS="-r /var/svn"     ======> OPTIONS="-r /var/www/svn" 
登录后复制


通过如下命令来启用服务


[root@localhost ~]# systemctl start httpd.service
登录后复制


如下命令使其开机自启动


[root@localhost ~]# systemctl enable httpd.service
登录后复制


重启Apache


[root@localhost ~]# systemctl restart httpd.service
登录后复制


启动webserver服务后,浏览器地址输入http://ip/svnadmin出现配置界面,输入下图中配置信息,输入每个配置信息可以点击旁边的Test测试是否输入正确,最后保存配置

保存后,会提示默认的账户为admin/admin。

登陆后我们可以在“Repositories”下“add”,添加项目目录;

在"Users"下添加用户

在“Access-Paths”下关联对应项目的用户,并分配相关读写权限。

 

以上是SVN+Apache+IF.svnadmin支持https实现web管理SVN 的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板