Ubuntu apt-get方式安装Subversion
按照官方文档 http://subversion.apache.org/packages.html
使用apt-get安装方式:
1.安装Subversion:
sudo apt-get install subversion
2.安装libapavhe2-svn
sudo apt-get install libapache2-svn
提示:
No apache MPM package installed
需要安装一个apache的mpm模块:
sudo apt-get install apache2-mpm-*
可供安装的模块有四种:
apache2-mpm-event 事件驱动的MPM
apache2-mpm-perchild 依赖worker,过渡
apache2-mpm-prefork 传统MPM(不使用线程)
apache2-mpm-worker 支持多线程和多进行混合模型的高速MPM
只需安装mpm-worker:
sudo apt-get install apache2-mpm-worker
mkdir /usr/svn_root
chmod -R 770 /usr/svn_root
svnadmin create /usr/svn_root/repo1
sudo adduser apache
sudo chown -R apache:apache /usr/svn_root
sudo vi /etc/apache2/mods-available/dav_svn.conf

# dav_svn.conf - Example Subversion/Apache configuration
#
# For details and further options see the Apache user manual and
# the Subversion book.
#
# NOTE: for a setup with multiple vhosts, you will want to do this
# configuration in /etc/apache2/sites-available/*, not here. # <Location URL> ... </Location>
# URL controls how the repository appears to the outside world.
# In this example clients access the repository as http://hostname/svn/
# Note, a literal /svn should NOT exist in your document root.
<Location /svn> # Uncomment this to enable the repository
DAV svn # Set this to the path to your repository
#SVNPath /var/lib/svn
# Alternatively, use SVNParentPath if you have multiple repositories under
# under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2, ...).
# You need either SVNPath and SVNParentPath, but not both.
SVNParentPath /usr/svn_root # Access control is done at 3 levels: (1) Apache authentication, via
# any of several methods. A "Basic Auth" section is commented out
# below. (2) Apache <Limit> and <LimitExcept>, also commented out
# below. (3) mod_authz_svn is a svn-specific authorization module
# which offers fine-grained read/write access control for paths
# within a repository. (The first two layers are coarse-grained; you
# can only enable/disable access to an entire repository.) Note that
# mod_authz_svn is noticeably slower than the other two layers, so if
# you don't need the fine-grained control, don't configure it. # Basic Authentication is repository-wide. It is not secure unless
# you are using https. See the 'htpasswd' command to create and
# manage the password file - and the documentation for the
# 'auth_basic' and 'authn_file' modules, which you will need for this
# (enable them with 'a2enmod').
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd # To enable authorization via mod_authz_svn (enable that module separately):
<IfModule mod_authz_svn.c>
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
</IfModule> # The following three lines allow anonymous read, but make
# committers authenticate themselves. It requires the 'authz_user'
# module (enable it with 'a2enmod').
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept> </Location>

6.增加svn用户,第一次增加需要加-c参数(创建新的dav_svn.passwd文件):

sudo htpasswd -c /etc/apache2/dav_svn.passwd wwl
New password:
Re-type new password:
Adding password for user wwl
sudo htpasswd /etc/apache2/dav_svn.passwd apache
sudo htpasswd /etc/apache2/dav_svn.passwd test1
sudo htpasswd /etc/apache2/dav_svn.passwd test2

7.设置svn库权限:
sudo vi /etc/apache2/dav_svn.authz

[groups]
admin = wwl
CM = apache
test = test1,test2 [/]
* =
@admin = rw
@CM = r [repo1:/]
* =
@CM = rw
@test = r [repo1:/branches]
@test = rw
[repo1:/trunk]
test2 = rw


[groups]代表组定义:“组名 = 用户1,用户2...”; [repo1:/]代表repo1配置库,repo1是配置库名称; [repo1:/trunk]代表repo1配置库下/trunk目录; @ 符号,则表示这是个群组权限设置; @ admin = rw代表admin 这个组的所有用户有读写权限 test2 = rw代表test2这个用户对trunk有读写权限 PS:注意svn的权限继承关系

sudo vi /etc/apache2/envvars
export APACHE_RUN_USER=apache
export APACHE_RUN_GROUP=apache
cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/authz_svn.load
sudo /etc/init.d/apache2 start * Usage: /etc/init.d/apache2 {start|stop|graceful-stop|restart|reload|force-reload|start-htcacheclean|stop-htcacheclean|status}


svn --version
svn, version 1.7.5 (r1336830) apache2 -v
Server version: Apache/2.2.22 (Ubuntu)
Ubuntu apt-get方式安装Subversion的更多相关文章
- Ubuntu 源码方式安装Subversion
使用到的安装包: apr-1.5.1.tar.gz apr-util-1.5.3.tar.gz pcre-8.35.tar.gz httpd-2.4.9.tar.bz2 subversion-1.8. ...
- Unbuntu18.04通过apt源方式安装mysql5.7.22
Ubuntu18.04在今年4月底发布了,喜欢尝鲜的小伙伴肯定是第一时间就更新了系统版本,那么在Ubuntu18.04中怎么安装msyql5.7(mysql8.0因为新出,再观望一段时间)呢? * 带 ...
- ubuntu - 14.04,安装VirtualBox 5.0(虚拟机软件)!
VirtualBox是一款免费.开源的虚拟机软件,可以运行在多种操作系统上,真的是一款值得我们使用的虚拟机软件! 官方网址:https://www.virtualbox.org/ ubuntu14.0 ...
- ubuntu采用apt方式安装多个版本php-fpm
适用系统:Ubuntu 16.04 LTS / Ubuntu 14.04 LTS 安装 PHP Ondřej Surý 的 PHP PPA 为 Ubuntu 16.04/14.04 提供了 PHP7. ...
- Ubuntu下apt方式安装与更新Git
本人使用的系统 Ubuntu 18.04.1 ,使用apt安装Git: sudo apt insatll git 安装后发现不是最新的版本,更新方法: sudo add-apt-repository ...
- ubuntu 18.04 通过联网方式安装wine
ubuntu 18.04 通过联网方式安装wine 1.如果是64位机器,先开启允许32位架构程序运行 sudo dpkg --add-architecture i386 2.添加元wine源码安装仓 ...
- ubuntu 14.04 下利用apt-get方式安装opencv
转载,请注明出处:http://blog.csdn.net/tina_ttl 目录(?)[+] 标签(空格分隔): Linux学习 OpenCV ubuntu 1404 下利用apt-get方式安装O ...
- [转]在ubuntu linux下以编译方式安装LAMP(apache mysql php)环境
FROM : http://www.cnblogs.com/eleganthqy/archive/2010/02/28/1675217.html 最近转向到了使用ubuntu做桌面,安装好系统以来一直 ...
- 树莓派学习笔记——apt方式安装opencv
0.前言 本文介绍怎样在树莓派中通过apt方式安装opencv.并通过一个简单的样例说明怎样使用opencv. 相比于源码方式安装opencv,通过apt方式安装过程步骤简单些,消耗的时间也少 ...
随机推荐
- jquery 图片预加载
/图片无序预加载 (function($){ function Preload(imgs,fns){ this.imgs=(typeof imgs==="string")?[img ...
- 【Eclipse提高开发速度-插件篇】安装多语言Propertys编辑工具
安装的的时候能够通过 Help>Eclipse Marketplace的 搜索方式安装 或者 Help>Install New Software Name:Propertys URL:ht ...
- A profile to detect when a SMS database has been changed
http://webmail.dev411.com/t/gg/tasker/12bdddbsak/a-profile-to-detect-when-a-sms-has-been-sent A bela ...
- Python机器学习实战<一>:环境的配置
详细要学习的书籍就是<机器学习实战>Machine Learning in Action,Peter Harrington Windows下要安装3个文件,各自是; 1.Python(因为 ...
- debian安装ibus中文输入法
转载自:http://www.shunix.com/debian-ibus-chinese-470/ 以前在debian一直用scim,但是那个真的很不好用,现在用的是debian squeeze还是 ...
- python文本 字符串开头或者结尾匹配
python文本 字符串开头或者结尾匹配 场景: 字符串开头或者结尾匹配,一般是使用在匹配文件类型或者url 一般使用startwith或者endwith >>> a='http:/ ...
- Selenium2+python自动化34-获取百度输入联想词
前言 最近有小伙伴问百度输入后,输入框下方的联想词如何定位到,这个其实难度不大,用前面所讲的元素定位完全可以定位到的. 本篇以百度输入框输入关键字匹配后,打印出联想词汇. 一.定位输入框联想词 1.首 ...
- 通过http请求传递xml流和接收xml流的代码示例
通过http请求传递xml流和接收xml流的代码示例 //1.在servlet中post一个xml流:import java.io.OutputStreamWriter;import org.jdom ...
- java 数据流的处理
字节流类 功能简单介绍 DataInputStream 包含了读取Java标准数据类型的输入流 DataOutputStream 包含了写Java标准数据类型的输出流 ByteArrayInputSt ...
- [JQuery] jQuery选择器ID、CLASS、标签获取对象值、属性、设置css样式
reference : http://www.suyunyou.com/aid1657.html jQuery是继prototype之后又一个优秀的Javascrīpt框架.它是轻量级的js库(压缩后 ...