Ubuntu系统搭建SVN服务器

参考地址:http://git.devzeng.com/blog/aliyun-ubuntu-svn-server.html

安装软件

依次在终端中执行下面的命令安装如下三个软件包:

(1)sudo apt-get install subversion

(2)sudo apt-get install apache2

(3)sudo apt-get install libapache2-svn

其中subversion是SVN必须的,apache2和libapache2-svn是为了配置SVN服务器支持通过HTTP访问

SVN服务器配置

相关用户、组的设定

sudo addgroup subversion
sudo usermod -G subversion -a www-data

创建项目的目录

sudo mkdir /home/svn

配置Subversion

  1. 配置dav_svn.conf文件

    vim /etc/apache2/mods-available/dav_svn.conf

按照下面的步骤进行配置即可

删除<Location /svn>和DAV svn这两行前面的注释

删除SVNParentPath ...前面的注释,并且把后面的路径替换成创建的SVN的项目路径/home/svn

删除AuthType Basic、AuthName “Subversion Repository”前面的注释,
去掉AuthUserFile所在行前面的注释,并且修改后面的路径为/etc/subversion/dav_svn.passwd,
去掉AuthzSVNAccessFile所在行前面的注释,并且修改后面的路径为/etc/subversion/dav_svn.authz,
删除Require valid-user和前面的注释,具体如下所示:

其中:

/etc/subversion/dav_svn.passwd文件是SVN用户名和密码的配置,指定基本用户验证的密码文件存放的位置

/etc/subversion/dav_svn.authz文件是访问权限配置

重启Apache 2 WEB服务器

sudo /etc/init.d/apache2 restart

创建SVN文件仓库

  1. 创建指定的项目存放路径

     cd /home/svn
    mkdir project1
  2. 更改版本库所示的用户、组

     sudo chown -R root:subversion project1
  3. 创建SVN仓库

     sudo svnadmin create /home/svn/project1
  4. 赋予组成员对所有新加入文件仓库的文件拥有相应的权限

     sudo chmod -R g+rws project1
  5. 用户和权限配置

    创建dav_svn.passwd文件并添加用户admin001,执行命令后会提示要输入密码

     sudo htpasswd -c /etc/subversion/dav_svn.passwd admin001

    继续添加新用户,去掉-c,否则会覆盖本文件

     sudo htpasswd /etc/subversion/dav_svn.passwd admin002
  6. 创建授权文件

     vim /etc/subversion/dav_svn.authz

    里面加入project1的权限配置,如

     [groups]
    administrator=admin001,admin001 [project1:/]
    @administrator=rw
  7. 重启SVN服务器

    killall svnserve

    svnserve -d -r /home/svn/

    至此SVN服务器搭建完成,可以在终端执行

    svn checkout http://hostname/svn/project1 project1 --username 用户名 --password 密码 来checkout项目了

相关问题

1、Apache和Tomcat端口号冲突

    修改/etc/apache2/ports.conf文件将Listen 80改成Listen 8080表示监听8080端口或者其他可用端口
修改/etc/apache2/sites-enabled/000-default文件,修改<VirtualHost*:80>改成<VirtualHost*:8080>

2、关闭和启动Tomcat服务器

(1)关闭:sudo /etc/init.d/tomcat stop

(2)启动:sudo /etc/init.d/tomcat start

Ubuntu系统搭建SVN服务器的更多相关文章

  1. 【转】阿里云Ubuntu系统搭建SVN服务器

    ##SVN服务器相关软件安装 1.使用SSH远程服务器 (1)对于MAC OS/Liunx的用户直接打开终端输入 ssh  用户名@实例名,例如 ssh root@192.168.1.100 执行上面 ...

  2. ubuntu 如何搭建svn 服务器

    1.在终端中直接输入  sudo apt-get install subversion,选择安装即可 来这个subversion同时包含了服务端和客户端. 2.(可选)看版本命令 svnserve - ...

  3. ubuntu下搭建svn服务器

    [ubuntu下搭建svn服务器] 1.创建目录 mkdir ~/svn/repository/ 2.创建仓库 svnadmin create repository 3.进入 repository/c ...

  4. Ubuntu环境搭建svn服务器

    记录一次使用Ubuntu环境搭建svn服务器的详细步骤 一.查看是否已经安装svn 命令:svn如果显示以下信息,说明已安装   二.卸载已安装的svn 命令:sudo apt-get remove ...

  5. 【转】Ubuntu环境搭建svn服务器

    记录一次使用Ubuntu环境搭建svn服务器的详细步骤 一.查看是否已经安装svn 命令:svn如果显示以下信息,说明已安装 二.卸载已安装的svn 命令:sudo apt-get remove -- ...

  6. 本地虚拟机在ubuntu系统搭建nexus服务器

    本地虚拟机在ubuntu系统上搭建nexus服务器 本地虚拟机在ubuntu系统上搭建nexus服务器所需软件: 虚拟机:VM或者Oracle VM VirtualBox 系统:ubuntu-14.0 ...

  7. Ubuntu 系统搭建php服务器 用ssh 远程操作

    一:在桌面下载xshell客户端连接 ,vmavar 上的 Ubuntu系统,遇到的问题跟大家分享一下,希望大家少走弯路 Ubuntu系统默认没有ssh server 要安装 apt-get inst ...

  8. ubuntu中搭建svn服务器步骤

    1.安装软件包: sudo apt-get install subversion 2.建立相关文件夹(这里svn放在home文件夹中) cd /home sudo mkdir svn cd /home ...

  9. Ubuntu/CentOs 搭建SVN服务器

    安装 CentOS : yum install subversion Ubuntu: sudo apt-get install subversion 查看Subversion版本: 使用“svn -- ...

随机推荐

  1. 潭州课堂25班:Ph201805201 爬虫高级 第三课 sclapy 框架 腾讯 招聘案例 (课堂笔记)

    到指定目录下,创建个项目 进到 spiders 目录 创建执行文件,并命名 运行调试 执行代码,: # -*- coding: utf-8 -*- import scrapy from ..items ...

  2. 关于css的一些特别用法

    (1)input 怎么设置宽高用style来设置,<input style="width:111px;height:111px">(2)怎么让img和input在同一行 ...

  3. Java API概述

    collection of APIs(Application Programming Interface) java.lang — automatically imported into Java p ...

  4. POIUtil

    package com.util.poi; import java.io.ByteArrayOutputStream; import java.io.IOException; import java. ...

  5. react-native组件封装与传值

    转载链接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/react-native-component-packaging-and- ...

  6. 64位电脑上启动程序出现丢失MSVCR110.dll的解决办法

    启动程序报错如下: 无法启动此程序,因为计算机中丢失MSVCR110.dll.尝试重新安装该程序以解决此问题. 应该很容易就搜索到,缺少这样的dll文件,是没有安装Visual C++ Redistr ...

  7. 细说firewalld和iptables

    在RHEL7里有几种防火墙共存:firewalld.iptables.ebtables,默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等. fir ...

  8. React 中 keys 的作用是什么?

    Keys 是 React 用于追踪哪些列表中元素被修改.被添加或者被移除的辅助标识. render () { return ( <ul> {this.state.todoItems.map ...

  9. 【Zookeeper】源码分析之网络通信(二)之NIOServerCnxn

    一.前言 前面介绍了ServerCnxn,下面开始学习NIOServerCnxn. 二.NIOServerCnxn源码分析 2.1 类的继承关系 public class NIOServerCnxn ...

  10. rman输出日志的几种方法(转)

    在使用rman的时候经常会碰到以下两种场景,需要把rman的日志输出到文件中: 1.显示的日志太多,导致一个屏幕显示不完,影响了问题的诊断,这时候需要把rman的log输出到文本中,整个的诊断过程就相 ...