一、介绍

  本文介绍的是CentOS7上搭建基于Apache、SVN Server、iF.svnadmin实现web后台可视化管理SVN。

  iF.SVNAdmin应用程序是Subversion授权文件基于Web的GUI。该应用程序不需要数据库后端,它完全基于Subversion授权和用户认证文件。

二、 软件准备

  安装相关软件包

  1.安装apache

# yum install httpd -y

  2.安装svn服务器(其中,mod_dav_svn是apache服务器访问svn的一个模块)

# yum install mod_dav_svn subversion -y

  3.安装完成后可以通过如下命令查看是否安装成功

# httpd -version
# svnserve --version
# ls /etc/httpd/modules/ | grep svn

  4.在apache下配置svn

# vi /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 /svn>
  DAV svn
  SVNParentPath /var/www/svn #svn的根目录
  SSLRequireSSL #SSL访问权限
  AuthType Basic #Basic认证方式
  AuthName "Authorization SVN" #认证时显示的信息
  AuthUserFile /var/www/svn/passwd #用户文件&密码
  AuthzSVNAccessFile /var/www/svn/authz #访问权限控制文件
  Require valid-user #要求真实用户,不能匿名
</Location>

  5.Apache使用ssl模块配置HTTPS

  a、安装OpenSSL

# yum install mod_ssl openssl

  安装完毕后,会自动生成 /etc/httpd/conf.d/ssl.conf 文件。

  b、生成一个自签名证书

  下面的命令可以被用来产生一个自签名的证书。

  首先,生成2048位的加密私钥

# openssl genrsa -out server.key 2048

  然后,生成证书签名请求(CSR),这里需要填写许多信息,如国家,省市,公司等

# openssl req -new -key server.key -out server.csr

  最后,生成类型为X509的自签名证书。有效期设置3650天,即有效期为10年

# openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

  创建证书后,将文件复制到对应的目录。

# cp server.crt /etc/pki/tls/certs/
# cp server.key /etc/pki/tls/private/
# cp server.csr /etc/pki/tls/private/

  c、配置Apache Web服务器

  首先,修改下面的配置文件。仅需配置SSLCertificateFile和SSLCertificateKeyFile

# vi /etc/httpd/conf.d/ssl.conf

### overwrite the following parameters ###
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/server.key ### The following parameter does not need to be modified in case of a self-signed certificate. ###
### If you are using a real certificate, you may receive a certificate bundle. The bundle is added using the following parameters ###
SSLCertificateChainFile /etc/pki/tls/certs/example.com.ca-bundle

  然后,重新启动httpd服务使更改生效。

  三、建立SVN Server仓库

  通过如下命令建立svn仓库,其中/var/www/svn是准备放仓库的目录,这个目录可以放置多个代码仓库。

# mkdir /var/www/svn
# svnadmin create /var/www/svn/test-project
# ls /var/www/svn/test-project # chown -R apache.apache /var/www/svn

  创建用户文件passwd和权限控制文件authz

# touch /var/www/svn/passwd
# touch /var/www/svn/authz
# chmod -R 777 /var/www/svn/passwd
# chmod -R 777 /var/www/svn/authz

  四、配置安装PHP&IF.SVNadmin

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

# yum install php -y

  安装配置if.svnadmin(http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download)

# unzip svnadmin-1.6.2.zip
# mv iF.SVNAdmin-stable-1.6.2/ /var/www/html/svnadmin
# cd /var/www/html
# chown -R apache.apache svnadmin
# cd /var/www/html/svnadmin
# chmod -R 777 data

  五、启动服务

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

# firewall-cmd --zone=public --add-port=80/tcp --permanent
# firewall-cmd --reload

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

# vi /etc/sysconfig/svnserve

OPTIONS="-r /var/svn"    

  通过如下命令来启用服务

# systemctl start httpd.service

  如下命令使其开机自启动

# systemctl enable httpd.service

  重启Apache

# systemctl restart httpd.service

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

配置完成会提示默认的账户为admin/admin。

六、iF.SVNAdmin使用

设置项目

设置用户

设置权限

查看项目用户

centos7基于SVN+Apache+IF.svnadmin实现SVN的web管理的更多相关文章

  1. centos7搭建SVN+Apache+IF.svnadmin支持https实现web管理SVN

    阅读目录 1. 介绍 2. 软件准备 3. 建立SVN Server仓库 4. 配置安装PHP&IF.SVNadmin 5. 启动服务 1.介绍 公司最近想把Windows server平台的 ...

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

    一,软件准备 .安装apache [root@localhost ~]# yum install httpd -y .安装svn服务器(其中,mod_dav_svn是apache服务器访问svn的一个 ...

  3. Centos7 基于SVN+Apache+IF.svnadmin实现web管理

    1.简单介绍: iF.SVNAdmin应用程序是您的Subversion授权文件的基于Web的GUI.它基于PHP 5.3,需要安装一个Web服务器(Apache).该应用程序不需要数据库后端或任何类 ...

  4. centos7搭建SVN+Apache+IF.svnadmin实现web管理SVN

    阅读目录 1. 介绍 2. 软件准备 3. 建立SVN Server仓库 4. 配置安装PHP&IF.SVNadmin 5. 启动服务 1.介绍 公司最近想把Windows server平台的 ...

  5. svn+apache快速安装

    1.[安装基本软件包],  yum -y install httpd subversion mod_dav_svn 2.[验证svn安装是否成功及httpd 的mod_dav模块是否加载] svn - ...

  6. CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等)

    CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址.服务启动等) 原 一事能狂便少年 发布于 2016/12/27 11:16 字数 1113 阅读 1.3K  收藏 0 ...

  7. centos7+apache+svn配置 踩坑,注意权限问题。apache应用目录checkout应用 必须用这个命令:svn co file:///home/svn/test/ test ,通过svn add * &&commit 及任意修改都是不行的

    阅读帮助 命令提示符 [root@server-002 ~]# 表示当前服务root用户执行的命令 [svn@server-002 ~]$ 表示普通用户svn执行的命令 [root@localhost ...

  8. CentOS7 基于 subversion 配置 SVN server

    由于 Window Server 环境下,VisualSVN Server Community 版本只支持 15 个同时在线用户,所以彻底放弃 Windows Server,在 Linux Serve ...

  9. Centos7 搭建Svn+Apache服务器

    Svn客户端搭建 1.yum install subversion 2.查看安装版本 svnserve --version 3.创建SVN版本库目录 mkdir -p /opt/svn 4.创建版本库 ...

随机推荐

  1. C#中关键字 'User' 附近有语法错误

    关键字 'User' 附近有语法错误 你有没有出现过在编写一个小的系统的登录界面时出现“关键字 'User' 附近有语法错误”,下面是原因和解决方案: 原       因:user是关键字,不能用作表 ...

  2. CSS3_伸缩盒模型_弹性布局_等分布局_flex 布局

    伸缩盒模型 CSS3 引入的布局模式 Flexbox 布局 主要思想: 让容器有能力让其子项目能够改变其宽度,高度,以最佳方式填充可用空间. 特点: display: flex;    只能控制其子元 ...

  3. Java课程寒假之回答问题:如何将你的兴趣化为可以立足于社会的资本

    在学校的时候干过几次兼职,算是无聊时候的外快吧,有一次是去辅导机构,在考试期间监考学生,前后大概四个小时,最后拿了四十五并且管了一顿饭,不得不说,小学生是真的皮,考试的时候有的爱讲话,有的是写完之后开 ...

  4. Tinker 热修复

    集成方式: 第一步:在project  build.gradle 文件中添加: dependencies { // Tinker classpath("com.tinkerpatch.sdk ...

  5. 总结:极光推送java服务端(1)

    遇到的问题: 1.怎么用极光推送 2.极光推送发送失败报错 返回{ } 3.透传和推送区别以及怎么设置 我的解决方案: 问题1.极光推送类里面有不同的方法,需要发给那些人就调用相应的方法.有安卓.io ...

  6. 第一次c++作业小结

    之前从未接触过c++,上完第一节课后也还是懵懵懂懂.当知道有作业要完成时,也是无从下手.在仔细阅读教材以及同学的帮助下,我了解了如何编写最简单的程序,也算是踏入c++的大门.希望自己的第一次作业能够符 ...

  7. export和export default

    在  vue中 export  变量名不能识别,只能export default 变量,import 随便取名,不需要{}

  8. 测试自动化学习3-python3简单操作

    1.列表操作 增 stu = []stus.append('lili') #在list的末尾增加一个元素 stus.insert(9,'yjk') #在指定的位置插入元素, 查 print('单个取, ...

  9. sql进阶

    --1.变量的声明和赋值   declare @Start DateTime, @End DateTime set @Start = '1999-9-9' set @End = '2000-1-1' ...

  10. python之dict

    一.字典的定义 在python中,字典数据类型使用{}来定义,在大括号中,存储的是键值对,即key:value的形式,并且key不能有重复值,如果有重复,后面的值会覆盖前面的:值可以重复 # 字典的定 ...