为Subversion搭建基于SSL的 Apache服务器

linux+svn+apache+ssl+ftp配置安全易于管理的svn服务器 1.准备工作 所有程序包都放在/usr/yxw/source/下 下载linux操作系统下的相关程序包:httpd-2.2.15.tar.gz、openssl-0.9.8b.tar.gz、subversion-1.6.11.tar.gz、subversion-deps-1.6.11.tar.gz、vsftpd-2.2.2.tar.gz,都可以很方便的在网上找到。最好是先装apache在装svn,这样svn的安装程序就会自动修改apache的配置文件与之集成。其他软件没有先后之分。2.安装apache服务器  阅读详情

http://xinsync.xju.edu.cn/index.php/archives/1628#more-1628

为Subversion搭建基于SSL的 Apache服务器
本文来源于 冰山上的播客 http://xinsync.xju.edu.cn , 原文地址:http://xinsync.xju.edu.cn/index.php/archives/1628

利用Subversion创建的仓库可以借助apche发布出去,让更多的开发人员访问;借助apache自身的用户管理,我们可以为Subversion进行用户和权限管理,使得只有相应权限的人才能访问我们资源;此外,为了更加安全,我们可以借助apache对于SSL的支持,使得开发人通过https访问仓库资源。下面分别介绍之。
1 需要准备的程序
Apache
可以到官方网站上下载:http://httpd.apache.org/download.cgi 
注意:
不是版本越高越好,只有2.0系列的支持;
如果要搭建基于SSL的服务器,最好安装集成了openssl的版本;
作者使用版本:apache_2.0.59-win32-x86-openssl-0.9.7j.msi
Subversion

2安装软件
注意:
1)
要先安装Apache,再安装Subversion,这样subversion会自动为我们拷贝一些modules到apache中,避免了手动拷贝。
2)
在安装subversion时,在一个面版中要选择Apache modules,如下图:


3) 若apache安装成功,可以在浏览器中访问之: http://localhost.;
4)
若subversion安装成功可以在命令行中输入svn version察看版本信息. 现在就可以利用subversion创建仓库, 具体的使用办法可以参阅相关文档.
3
配置apache, 发布仓库资源.
打开apche配置文件夹下的httpd.conf文件(在… /apache/Apache2/conf下):
在其中添加如下代码:
<Location /svn>

DAV svn
#give the repository path
SVNPath /absolute/path/to/repository
# allow all access

Satisfy Any
</Location>
好了, 重启apache,我们就可以通过浏览器察看或subversion等工具访问仓库资源了。你可以打开浏览器输入: http://localhost/svn 。体验下成功的喜悦吧。
介绍下,各个的作用
<Location /svn>
中的svn就是我们要输入的地址;
SVNPath给出了仓库的位置,为绝对地址;
Satisfy Any表示允许任何人访问。

现在,现在还有些不完备,比如我们可能要求只有注册的用户才能访问,不同的用户访问具有访问不同文件权限。这个的实现有多种方式,apache自身就提供了用户和权限管理的功能;此外,为了更好的进行用户管理,我们可以借助数据库,常用的有开源的MySQL。在此,我们介绍apache自带的管理。
4
创建用户
Apache的 ../apache/Apache2/bin文件下自带的程序:htpasswd.exe 即可完成用户创建。
C:/Apache Group/Apache2/bin>htpasswd –cm /path/to/passwd/fileName admin
好了,这样就在指定的路径处创建了一个指定名字的用户文件,并创建了一个用户名admin。其中c表示要创建新的文件,m表示要创建账户。这时候,会提示输入密码,并要求验证:
New password: *****
Re-type new password: *****
Adding password for user admin
好了,一个账号建好了。可以接着建用户:
C:/Apache Group/Apache2/bin>htpasswd –m /path/to/passwd/fileName kevinl
New password: ******
Re-type new password: ******
Adding password for user kevinl
注意,因为第一次已经创建了文件,此处只需要-m 即可,不需要c了。

Ok,现在用户文件建好了。打开apache的httpd.conf文件,将<Location /svn>…< Location>改为:
<Location /svn>

DAV svn
#give the repository path
SVNPath /absolute/path/to/repository
AuthType Basic
AuthName “Xi’an server of NA mirror”
AuthUserFile /path/to/passwd/fileName
Require valid-user

</Location>

好了,重启apache,访问,看是不是要输入密码了.如果我们还要求对各个用户对具体文件的权限管理的话,就进行下面的权限管理。

5  权限管理
这同样需要一个权限管理文件。首先在httpd.conf中指定这个文件.
AuthzSVNAccessFile / path/to/auth_access_police_file
下面我们来讨论如何写权限管理文件.
这之中权限有三个等级:读写,读,无,分别为(rw, r, 空)
权限文件中以空行分开多个单位。每个单位定义对一个文件的权限管理。此外,为了方便管理我们可以将用户分组。分组用一个单位,一般位于文件的前面。如下:
[groups]
calc-developers = harry, sally, joe
paint-developers = frank, sally, jane
admin = joe, frank, sally, jane
形式如下:
[calc:/trunk/]
harry = rw
sally = r
@=rw
设置calc工程中/trunk的权限.其中harry对其有读和写权限,sally有读的权限,组admin有读写权限(注意,组名前面有一个@符号).
上面定义针对多个库的情况,若只有一个可写为:
[ /trunk/]
harry = rw
sally = r
若要设置所有用户对根目录的权限,为:
[/]
*=r
权限管理的工作原理:默认情况下对所有文件夹是有读写权限的;对于父文件的权限会被子文件夹和文件继承;对于子文件权限的定义会覆盖由父文件继承来的权限 规则。当某用户访问某一文件夹时,首先会寻找是否对此文件夹下此用户进行了设置,若设置了就采用该规则;否则,就找他的父文件夹,若还是没有对该文件夹定 义,则继续向上。直到根目录。若仍没有,就采用默认。
Ok。如果我们向增加安全性,可以让apache采取SSL方式发布,需要两步,首先是制作证书,然后是配置管理文件.
6  制作证书.
有两种方式,使用openssl和使用第三方工具opesnVPN.
A 使用openssl。
你需要准备openssl.exe和openssl.cnf。
openssl.exe在../apache/Apache2/bin下(注意只有支持SSL的apache安装后才有,也可下载http://hunter.campbus.com/);openssl.cnf下载http://tud.at/programm/openssl.cnf并拷贝到../apache/Apache2/bin下.
好了,开始制作了,在命令行下定位到../apache/Apache2/bin,运行:
$openssl req -config openssl.cnf -new -out active.csr
然后回答相关问题来制作一个证书active.csr.这个证书实际就是一个用公私密钥加密的文本文件,它需要被第三方机构授权.
$openssl rsa -in privkey.pem -out active.key
得到密钥.
$openssl x509 -in active.csr -out active.cert -req -signkey active.key -days 4000
得到使用密钥加密了的证书,有效期为4000天.
$openssl x509 -in active.cert -out active.der.crt -outform DER
Der形式的证书。
好了,现在,我们有文件:
l        active.der.crt(certificate of DER style)
l        active.csr
l        active.key(private key)
l        .rnd,
l        privkey.pem
l        active.cert(certificate of PEM style)
7 配置文件
把文件active.der.crt和active.key拷贝到../Apache Group/Apache2/conf/ssl
打开文件httpd.cnf,将下面行前的注释去掉:
LoadModule ssl_module modules/mod_ssl.so
打开文件../Apache Group/Apache2/conf/ssl.cnf,确保以下行是没有注释掉的.
DocumentRoot “../Apache Group/Apache2/htdocs”
ServerName www.active.com:443
ServerAdmin eric.du@active.com
ErrorLog logs/error_log
TransferLog logs/access_log
SSLMutex default
SSLRandomSeed startup builtin
SSLSessionCache   none
(SSLSessionCache确保其他行是注释的)
做以下两个更改:
SSLCertificateFile conf/ssl.crt/server.crt
-à SSLCertificateFile conf/ssl/active.der.crt
SSLCertificateKeyFile conf/ssl.key/server.key
–> SSLCertificateKeyFile conf/ssl/active.key
去掉或注释以下两行:
<IfDefine SSL>
</IfDefine>
好了,重启apache,测试访问:https://localhost和https://localhost/svn.
现在我们可以通过http和https两种方式访问.如果我们强制要求使用https或对http自动重定向为https.就需要参考下面:
8 强制SSL和自动重定向
打开httpd.conf,进行配置.
如果只是要求subversion库使用此策略,则就将下面的命令放在<Location /svn>…< Location>中,若是整个apache,则放在<Directory />…</Directory>中.
1) 强制
SSLRequireSSL
2) 自动重定向
RewriteEngine        on
RewriteCond          %{REMOTE_ADDR} !^172/.31/.224/.[0-9]+$
RewriteCond          %{HTTPS} !on [NC]
RewriteRule          .* - [F]
本文来源于 冰山上的播客 http://xinsync.xju.edu.cn , 原文地址:http://xinsync.xju.edu.cn/index.php/archives/1628

ACL访问控制列表详解:原理、配置与应用 如果发现ACL规则没有达到预期效果,需要检查ACL规则配置是否正确,是否在正确的接口和方向上应用,以及规则顺序是否合理(ACL规则按顺序匹配,匹配到即停止)。其中,rule-id是规则的编号,用于确定规则的匹配顺序;例如,应该先配置针对特定主机和特定端口的规则,再配置针对整个网段的规则,最后配置允许所有流量的规则,这样才能确保ACL按照预期工作,避免因规则顺序不当导致的访问控制失效。例如,应该先配置针对特定主机的规则,再配置针对整个网段的规则,最后配置允许所有流量的规则,这样才能确保ACL按照预期工作。 阅读详情

相关推荐

从TM1到TM9:手把手教你用Wireshark抓包分析LTE下行调度与传输模式切换

本文详细解析了如何使用Wireshark抓包分析LTE下行调度中的传输模式切换,从TM1到TM9的动态调整过程。通过实战案例,包括小区边缘移动、高速场景和多用户调度,揭示eNodeB如何基于信道质量指标(如RSRP、SINR)动态切换传输模式,并提供关键信令解析和优化建议,助力网络工程师提升LTE网络性能。

weixin_42651748的博客 315

apache+subversion+ssl配置

配置环境:ubuntu 12.04 步骤: 【1】安装apache2 #aptitude install apache2 【2】安装subversion #aptitude install subversion#aptitude install libapache2-svn 【3】配置Subversion #mkdir /svn_data/svn_roo...

weixin_34025151的博客 193

机器人C++开源库The Robotics Library (RL)使用手册(三)

进入VS工程,我们先看看这些功能函数及其依赖库的分布关系:rl命名空间下,主要有八大模块。搞定VS后将逐个拆解。

qq_34839823的博客 1736

HIFI+Hi-C联合组装原理与hifiasm参数实战指南

基因组组装中,HIFI长读提供高精度序列基础,Hi-C技术则揭示染色质三维空间结构,二者协同可突破重复区域与单倍型解析瓶颈。其核心原理在于将Hi-C接触频率转化为图结构的边权重约束,实现unitig构建阶段的原生融合,而非传统三步式后校正。这种双模态数据驱动的组装范式显著提升scaffold连续性与单倍型分型准确性,尤其适用于植物、哺乳动物等高重复、高杂合基因组。hifiasm作为支持Hi-C-guided primary assembly的关键工具,其`--h1`/`--h2`、`--nogap`、`--

weixin_34161064的博客 337

KEPServerEX与三菱iQ-R系列PLC通讯

KEPServerEX与三菱iQ-R系列PLC通讯Mitsubishi Ethernet北京东方鼎晨科技有限公司目 录1. 前言2. 三菱PLC端相关设置3. Kepware端相关设置KEPServerEX是美国PTC Kepware公司生产的具有行业性的连接平台,KEPServerEX支持150多种通讯协议,用于向您的所有应用程序提供单一来源的工业自动化数据。该平台的设计使用户能够通过一个直观的用户界面来连接、管理、监视和控制不同的自动化设备和软件应用程序。KEPServerEX利用OPC(自动化产业的互

qq_28768521的博客 8095

STM32CubeIDE中文注释变乱码终极解决方案:3步设置永久解决锟斤拷问题!

你是否在STM32CubeIDE中遇到过这样的崩溃场景?——精心编写的中文注释在重新生成代码后变成“锟斤拷”乱码,不仅影响代码可读性,反复修改更是浪费大量时间!作为STM32开发者,我曾被这个问题困扰许久,试过修改软件设置、工程编码却始终治标不治本。直到发现这个基于Java环境变量的终极解决方案,才彻底解决了中文乱码难题。

smart_boy__的博客 2955

Apache2/SSL+Subversion+PAM认证服务器配置

概要:服务器使用 apache2+ssl+svn+auth_pam 构建,具有如下特点:    * 建立在 debian/apache2 的基础上    * subversion 1.1    * mod_dav_svn 使得 subversion 可以通过web访问    * 使用 openssl 保障系统的安全性    * 使用 mod_pam 和 mod_sys_group,使用系统的用户名

634

拯救者R7000用户实测:用华为电脑管家11.0版搞定MatePad Pro多屏协同(附驱动与显卡避坑指南)

本文详细介绍了如何在非华为笔记本联想拯救者R7000上安装华为电脑管家11.0版,实现与MatePad Pro的多屏协同功能。从驱动优化到显卡配置,提供了全面的避坑指南和实用技巧,帮助用户解决连接失败等常见问题,提升跨设备生产力体验。

weixin_30788619的博客 398

CentOS6搭建证书验证的SVN服务器

本人搭建SVN服务器,通过https协议发布到互联网中的。我需要的服务有apache(httpd)网站服务器、subversion版本库服务器、ssl证书。 一、通过yum安装环境 安装httpd网站服务器:yum install -y httpd安装版本库服务器:yum install -y subversion 安装网站SSL模块到服务器: yum install -y mod_ssl 安装...

weixin_33796205的博客 136

【100%通过率】2023华为od机试C卷【螺旋数组矩阵】C++ 实现

给出数字个数n和行数m(1 < n,m < 999),从左上角的1开始,按照顺时针螺旋向内写方式,依次写出2,3...n,最终形成个一m行矩阵。疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。输入一行,两个整数,空格隔开,依次表示n、m。4.数字不够时,使用单个*号占位。3.填充数字时优先填充外部。1:模拟整个过程打印即可。1.每行数字的个数一样多。小明对这个矩阵有些要求。2.列的数量尽可能少。

MISAYAONE的博客 1245

uniapp:解决微信小程序包体积超过2M的优化方案+详解分包问题,编译小程序体积大于2M不能上传和预览提示体积太大的处理教程,uniApp微信小程序主包过大问题如何解决(排查可疑点+分包+最小改动)

uniapp微信小程序开发,如何解决打包太大无法预览发布的问题,uniApp微信小程序包体积超过2M的优化方法,uni-app打包微信小程序主包超2M终极解决方案,使用uniapp开发微信小程序使用uni_modules导致主包文件过大,无法发布的解决方法,UniApp开发的微信小程序主包过大问题及解决方案 编译小程序时Node-modules被打入主包,小程序体积大于2M不能上传和预览,怎么处理,解决微信小程序主包太大问题,微信小程序中主包和分包过大,详解分包问题,uni-app 微信小程序发布时,主包超

✅ 精选推荐文章 5066

ububuntu server 安装 subversion + apache + ssl +权限控制

操作系统:ubuntu server 11.10 64位系统,全部使用apt安装 sudo apt-get install apache2 sudo apt-get install subversion sudo apt-get install libapache2-svn sudo a2enmod auth_basic sudo a2enmod ssl  先配置一下apache ...

beiersi 165

【城市数据集】世界城市数据库和访问门户工具WUDAPT

简介世界城市数据库和访问门户工具WUDAPT

WW、forever的博客 1284

用apache和subversion搭建安全的版本控制环境

<br /> 用Apache和Subversion搭建安全的版本控制环境<br />注:本文转载http://www.easyjf.com/news.ejf?cmd=show&id=1310985 <br /><br /><br />Subversion 简介<br /><br /><br />在开源软件的开发过程当中,由于开发方式自由和开发人员分散这些特性,版本控制问题一直是关系到项目成败的重要问题。没有版本控制系统的支持,开源软件的开发过程就是混乱和不可控制的。<br />长期以来,CVS 作为一种普遍

jlchen88的专栏 477

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

树莓派Pico定时器采样消抖:旋转编码器稳定读取方案

在嵌入式开发中,旋转编码器是旋钮交互场景的核心输入设备,其机械触点产生的抖动常导致读数跳变、方向误判。要解决这一问题,需理解AB相正交编码原理与机械抖动成因。相比硬件RC滤波和阻塞延时消抖,基于定时器的周期采样方案能有效平衡响应速度与抗干扰能力,通过状态机判定合法状态转移,实现稳定计数。该方案广泛应用于音量调节、菜单选择、舵机控制等工程实践。本文以树莓派Pico和MicroPython为例,详细讲解定时器配置、上拉设置、状态机方向判断及参数调优经验,为开发者提供一套可直接落地的旋转编码器消抖代码与排查思路。

congji3817的博客 486

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

linux下apache+svn+ssl的环境搭建(申请免费的SSL证书)

1.安装apache2和svn server $sudo apt-get install apache2 $sudo apt-get install subversion $sudo apt-get install libapache2-svn 2.创建版本库 $sudo mkdir /data/svn $sudo svnadmin create /data/svn/repos

theshen 1532

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Centos+Apache+ldap+ssl+svn

第一步:安装apache subversion  yum install httpd  yum install  httpd-devel        //用于开发Apache模块  yum install  subversion  yum install  mod_dav_svn   //Subversion与Apache之间的接口(通过它,Apache就可以访问版本库,可以让客户端也使

zhuxiang203的专栏 715

Install SVN WebDAV + SSL on Ubuntu (Apache)

Environment: Ubuntu: 10.04   1) install svn, apache and modules: sudo apt-get update sudo apt-get install subversion sudo apt-get install apache2  #default user and group is www-data (use comman

ljsspace的专栏 6652

[转!]Redhat E5上安装Subversion 1.6

FROM:http://space.itpub.net/725190/viewspace-608874 1、安装openssl ./config  --prefix=/usr/local/openssl make make install 0、安装apache2 #重新编译apache时,加上特别的参数 --with-apr,如果是第一次安装,可以不需要这个参数 #如果不加上dav等参数,无法load mod_dav_svn.so等 #如果不加上ssl,也不可启用

Chatopera 1292

持续集成之二:搭建SVN服务器(整合Apache+Subversion)

安装环境   Red Hat Enterprise Linux Server release 7.3 (Maipo)  jdk1.7.0_80   rhel-server-7.3-x86_64-dvd.iso 作为本地镜像yum源   apr-1.6.5.tar.gz、apr-util-1.6.1.tar.gz、apr-iconv-1.2.2.tar.gz(http://apr.apache....

weixin_30352645的博客 282

Subversion 1.7.2 Apache 2.2

首先下载 (svn-win32-1.7.2.zip): http://sourceforge.net/projects/win32svn/files/1.7.2/ 解压缩到D盘。(D:\Subversion1.7)       再下载(httpd-2.2.21-win32-x86-openssl-0.9.8r.msi)   http://httpd.apache.org/downl...

那一夜未眠 240

RHEL5上部署SVN服务--支持SSL

先安装apr-1.4.2.tar.gz 、 apr-util-1.3.9.tar.gz ./configure--prefix=/usr/local/apr./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr 安装apache 2.2.16 ./configure--enable-...

weixin_34019144的博客 98

VisualSVN-Server资源下载介绍:搭建SVN服务器的利器

VisualSVN-Server资源下载介绍:搭建SVN服务器的利器 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 VisualSVN-Server 是一款功能强大的SVN(Subversion)服务器搭建软件。通过简洁的图形界面和向导式操作,用户可以快速地在本地或服务器上搭建和维护SVN版本控制系统。这款软件不仅提供了稳定的版本控制服务,而且操作简单,大大降低了搭建...

gitblog_06762的博客 288

centos7 svn 安装

https://blog.csdn.net/zjh_746140129/article/details/81192469 https://www.cnblogs.com/loadL/p/centos7_svn.html

yyongsheng的博客 186
上一篇: 为Subversion搭建基于SSL的 Apache服务器
下一篇: Flex 使用中文设备字体 解决办法
fengfengjava
博客等级 码龄19年 4粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值