当前位置: 首页 > news >正文

文件服务器 之 Debian下配置使用Subversion版本控制服务器

作者: achaoge
来自:www.linuxsir.org
摘要:就像大多数软件的安装和配置一样,Debian下面配置和使用Subversion也是非常的方便。现以使用apache2+mod_svn的方式加以说明。

假定条件:
我们将我们所有的项目都放在/var/lib/svn目录下,
我们要创建foo这个项目,
项目的使用人员有张三(zhangs)和李四(lis),
张三(zhangs)是领导,只负责审查审查(只读),不用修改,
李四(lis)是苦工,什么都要干(读写)。

1,首先当然是安装apache2和subversion。

apt-get install libapache2-svn apache2-mpm-prefork subversion

(这儿选用apache2-mpm-prefork的理由是当前在Debian中只有这个版本可以使用php4)

2,创建一个项目

svnadmin create /var/lib/svn/foo

因为我们是要由apache2来提供服务,所以将目录权限改成是apache2运行时用户www-data:

chown www-data.www-data /var/lib/svn/foo -R

3,配置apache2
编辑/etc/apache2/mods-available/dav_svn.conf,使之如下:

# dav_svn.conf - Example Subversion/Apache configuration
#
# For details and further options see the Apache user manual.
# <Location URL> ... </Location>
# URL controls how the repository appears to the outside world.
# In this example clients access the repository as http://hostname/svn/repos
<Location /svn>
  # uncomment this to enable the repository
   DAV svn
  # set this to the path to your repository
   SVNParentPath /var/lib/svn
   SVNIndexXSLT "/svnindex.xsl"
  # The following allows for basic http authentication. Basic authentication
  # should not be considered secure for any particularly rigorous definition of
  # secure.
  # to create a passwd file
  # # rm -f /etc/apache2/dav_svn.passwd
  # # htpasswd2 -c /etc/apache2/dav_svn.passwd dwhedon
  # New password:
  # Re-type new password:
  # Adding password for user dwhedon
  # #
  # Uncomment the following 3 lines to enable Basic Authentication
   AuthType Basic
   AuthName "Subversion Repository"
  # AuthLDAPEnabled on
  # AuthLDAPURL ldap://localhost/ou=Users,dc=sczfcpa,dc=com?uid?one
   AuthUserFile /etc/apache2/dav_svn.passwd
  # Uncomment the following line to enable Authz Authentication
   AuthzSVNAccessFile /etc/apache2/dav_svn.authz
  # Uncomment the following three lines allow anonymous read, but make
  # committers authenticate themselves
  # <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  # </LimitExcept>
</Location>

修改访问权限的配置文件/etc/apache2/dav_svn.authz(/etc/apache2/mods-available/dav_svn.conf指定的),使之如下:

[foo:/]
* =
zhangs = r
lis = rw

然后在添加用户到 /etc/apache2/dav_svn.passwd

htpasswd2 -c /etc/apache2/dav_svn.passwd zhangs
(输入密码)
htpasswd2 -c /etc/apache2/dav_svn.passwd lis
(输入密码)

apache2的监听端口在 /etc/apache2/ports.conf 里面设置,我设置的81,这样可以不影响现有的apache 1.3

现在可以试试用 http://localhost:81/svn/foo 来访问了。

参考文档:
Subversion book 的中文翻译文档 http://freebsd.sinica.edu.tw/~plasma/svnbook ,感谢对岸的同胞为中文的贡献
subversion book 的英文文档 (暂时找不到了,安装subversion后在/usr/share/doc/subversion/book/book.html)

相关文章:

  • 浏览器缓存机制(转)
  • C#网络编程系列文章索引
  • iOS Web应用开发:运用HTML5、CSS3与JavaScript
  • Makefile 中:= ?= += =的区别
  • centos7zabbix-agen安装
  • vue-i18n beforeDestroy不能调用this.$t
  • 验证码识别并复制到剪切板
  • cheerp 简介
  • CSS 三角实现
  • 第十二章 Java内存模型与线程
  • 从源码分析如何优雅的使用 Kafka 生产者
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • 阿里云重庆大学大数据训练营落地分享
  • Android Studio多渠道打包实战
  • 传统企业触网的战略--借助电商外包
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • android 一些 utils
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • CODING 缺陷管理功能正式开始公测
  • Docker 笔记(2):Dockerfile
  • ES2017异步函数现已正式可用
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • happypack两次报错的问题
  • HTTP 简介
  • Java方法详解
  • js 实现textarea输入字数提示
  • js作用域和this的理解
  • PHP面试之三:MySQL数据库
  • React系列之 Redux 架构模式
  • Redash本地开发环境搭建
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • SAP云平台里Global Account和Sub Account的关系
  • scala基础语法(二)
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • vue-loader 源码解析系列之 selector
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 基于 Babel 的 npm 包最小化设置
  • 试着探索高并发下的系统架构面貌
  • 无服务器化是企业 IT 架构的未来吗?
  • 详解移动APP与web APP的区别
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 阿里云ACE认证之理解CDN技术
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​一些不规范的GTID使用场景
  • #### go map 底层结构 ####
  • #、%和$符号在OGNL表达式中经常出现
  • #vue3 实现前端下载excel文件模板功能
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (09)Hive——CTE 公共表达式
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (汇总)os模块以及shutil模块对文件的操作
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...