热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Windows下部署基于Apache的SVN服务器

参考自http:www.cnblogs.comblueskycarticles1376982.htmlhttp:blog.csdn.netzhuxiaowenlinda

参考自

http://www.cnblogs.com/blueskyc/articles/1376982.html

http://blog.csdn.net/zhuxiaowenlinda/article/details/4320094

http://www.blogjava.net/hadeslee/archive/2008/03/12/185788.html

http://blog.csdn.net/kimizhou_blog/article/details/7481959


一.安装Apache

   安装windows版的Apache,我用的2.0.55版(apache_2.0.55-win32-x86-no_ssl.msi), 浏览器输入http://localhost  出现正确提示证明Apache安装完毕,我的Apache主目录(D:\Program Files (x86)\Apache Group\Apache2)


二. 安装Subversion (svn-1.2.3-setup.msi),(D:\Program Files (x86)\Subversion)

安装的时候选择绑定Apache2.0.0,同时将Subversion主目录下的bin目录中的mod_dav_svn.so、mod_authz_svn.so拷贝到Apache主目录下的modules目录中。

*注意Apache的版本应该和Subversion版本匹配,否则会出现各种问题,我的这两个版本测试通过,还有我还试了一个搭配为,Apache2.2.25和Subverion1.8.5, httpd-2.2.25-win32-x86-no_ssl.msi, Setup-Subversion-1.8.5.msi


三. Apache与Subversion集成

 1.  修改Apache主目录下的conf下的httd.conf

#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so

修改为:
LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModule dav_module modules/mod_dav.so

 在LoadModule属性最后添加

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

* 此刻可以先重启Apache服务,即restart命令,看Apache是否识别出刚才拷贝的so文件,Apache2.2版本可能会无法识别so文件,可能是要和subversion的版本对应的关系。假如Apache服务无法启动,请查看其主目录下logs文件夹下的error.log,看看其具体错误日志。


 2.同时在此文件中配置Apache中与SVN中的交互

 #意味着可以通过像这样的URL(http://myIP/svn)来访问Subversion版本库
DAV svn # 告诉Apache哪个模块负责服务像那样的URL--在这里就是Subversion模块
SVNParentPath C:\svn_repo #告诉Subversion在目录C:\svn_reop下寻找版本库,即svn数据仓库,此刻就是普通一文件夹,自己创建
AuthType Basic #启用基本的验证,使用用户名/密码验证
AuthName "test123" #数据仓库的现实名称
AuthUserFile c:\svn_repo\passwd #passwd问密码和用户文件,用来验证用户的用户名及密码,此文件命名随意(passwd),后面创建
AuthzSVNAccessFile C:\svn_repo\svnaccessfile #权限控制文件,限定各个用户或组在版本库中目录的访问权限,此文件命名也是随意的,后面创建
Require valid-user #限定用户只有输入正确的用户名及密码后才能访问这个路径

  3. 创建passwd和svnaccessfile文件

  切换到Apache主目录下的bin

bin\htpasswd -c passwd 

比如: bin\htpasswd -c c:\svn_repo\passwd admin
命令分析:
c:\svn_repo\passwd 表示会在:c:\svn_repo目录下创建一个passwd文件
admin 表示用户名
当要增加一个新用户叫 test
bin\htpasswd -m c:\svn_repo\passwd test
即不覆盖刚才创建的passwd,而只是在文件后面多添加一条用户记录


 自身创建一个普通文件命名为svnaccessfile,输入以下内容

#组配置  组 = 用户名

[groups]

super_admin = admin

user = test



# 为所有库指定默认访问规则

# 根目录下,超级管理员具有读写权限,其他人没有任何权限

[/]
@super_admin = rw
* =


# 为test1版本库制定权限

#admin组拥有读写权限

#user组只有读取权限
#为了便于理解,故意命名为test1,这样浏览器也可以通过http://myIP/svn/test1 访问svn仓库,test1文件夹后面会创建,冒号后面代表test1版本库(仓库)的根目录,当然也可以对仓库的任意子目录设置权限比如[test1:/childTest1],对于test1仓库下的childTest1子目录设置权限对于childTest1子目录的创建不需要在服务器上创建,有权限的客户端checkout后,再创建这个子目录再次commit后即可。

[test1:/]#子目录权限继承父目录的权限,此处超级管理员仍然具有读写权限。

@user = r

具体版本库权限设置参加另一篇博客: http://topinking.iteye.com/blog/342831



4. 创建c:\svn_repo\test1文件夹

  cmd进入Subversion中的bin下,注意是Subversion的子目录, svnadmin create c:\svn_repo\test1


重启apache服务,浏览器输入http://myIP/svn/test1 ,输入正确的用户名密码,看是否能看到svn仓库中的文件


四. 安装TortoiseSVN,svn的客户端(1.6.12.20536,64bit)

TortoiseSVN的使用参见  http://wenku.baidu.com/link?url=JuN_8wcDRdCKtspro_q3uLjbrDnbddqhH5PjREvgquJXxZrLZtYJAtlpjj6MDXTWOKNwnnmopwAyNjfF1Ghg_kqEa-nW68mp_kL8g51I7Mm



附录:

另一种Apache和svn的配置如下

Apache的conf/httd.conf

#直接指向子目录
DAV svn
SVNListParentPath on#通过浏览器访问时是否显示父目录,即..
SVNPath c:/svn_repo/test1#直接指向test1版本库的目录

AuthzSVNAccessFile c:/svn_repo/test1/conf/svnaccessfile
#Satisfy Any #最好不要加上
Require valid-user

AuthType Basic
AuthName "Subversion repositories"
AuthUserFile c:/svn_repo/test1/conf/passwd
Require valid-user

svn的权限控制文件  svnaccessfile:

[groups]        

super_admin = admin

user = test


# 为test1版本库制定权限

[/]#此处根目录为版本库test1的根目录

@super_admin = rw

@user = r







推荐阅读
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • 本文详细介绍了在Centos7上部署安装zabbix5.0的步骤和注意事项,包括准备工作、获取所需的yum源、关闭防火墙和SELINUX等。提供了一步一步的操作指南,帮助读者顺利完成安装过程。 ... [详细]
  • PG12新增的VACUUM命令的SKIP_LOCKED选项
    PG12版本的VACUUM命令新增了SKIP_LOCKED选项,该选项使得vacuum命令在遇到被lock住的table时可以跳过并被视为成功执行。之前的版本中,vacuum命令会一直处于等待状态。本文还提到了PostgreSQL 12.1版本的相关信息。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
author-avatar
简瞳之殇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有