`

Linux在线安装svn解决方案

    博客分类:
  • svn
 
阅读更多

Linux在线安装svn解决方案

——Angel

1. Apache的安装 1

2. 安装svn的配置模块 1

3. Svn的安装 2

4. Svn的配置 2

4.1 svn仓库的配置说明 2

4.2 创建svn用户组并将svn添加到apache用户组中 2

4.3 提交文件 3

4.4 访问方式 4

4.5 配置通过WebDav协议访问。 6

1. Apache的安装

在终端中输入如下命令:

sudo apt-get install apache2

由于在线安装依赖web服务,所以我们需要先安装apache2

2. 安装svn的配置模块

 sudo apt-get install libapache2-svn

Apache安装后的目录是/etc/apache2下在浏览器中打入

http://localhost返回it’work。ok.

3. Svn的安装

安装命令:

sudo apt-get install subversion

4. Svn的配置

4.1 svn仓库的配置说明

许多位置都可以放置 Subversion 文件仓库,其中两个最常用的是/usr/local/svn 以及 /home/svn。为了在下面的描述中简单明了,我们假设您的 Subversion 文件仓库放在 /home/svn,并且你的项目名称是简单的“myproject”。 同样的,也有许多常用的方式设置文件仓库的访问权限。然而,这也是安装过程中最经常出现错误的地方,因此我们会对此进行一个详细说明。典型的情况下,您应该创建一个名为“Subversion”的组来拥有文件仓库所在的目录。

4.2 创建svn用户组并将svn添加到apache用户组中

命令如下:

sudo addgroup subversion

sudo usermod -G subversion -a www-data

您需要注销然后再登录以便您能够成为 subversion 组的一员,然后就可以执行签入文件(Check in,也称提交文件)的操作了。

4.3 提交文件

命令如下:

sudo mkdir /home/svn

cd /home/svn

sudo mkdir myproject

sudo chown -R root:subversion myproject

sudo chmod -R g+rws myproject

sudo svnadmin create /home/svn/myproject

(sudo chmod -R g+rws myproject

最后的一条命令赋予组成员对所有新加入文件仓库的文件拥有相应的权限;

sudo svnadmin create /home/svn/myproject

创建仓库

注释:红色标记的root是您的用户名。这里不要添成root。要填写您当前登陆的用户名。在默认情况下。Ubuntu的root用户是不能登陆到图形界面的。如果要用root用户登陆。需要对配置文件进行修改。

4.4 访问方式

Subversion 文件仓库可以通过许多不同的方式进行访问(Check Out,签出)——通过本地硬盘,或者通过各种网络协议。无论如何,文件仓库的位置总是使用 URL 来表示。下表显示了不同的 URL 模式对应的访问方法:

本机文件访问:

suod svn co file:///home/svn/myproject

sudo svn co file://localhost/home/svn/myproject

注意:如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//). 

客服端访问:要进行访问首先要启动svn,启动命令如下(这边是基于以上创建的仓库进行操作):

sudo svnserve --daemon --root /home/svn/myproject 

我们用客户端进行访问,比如TortoiseSVN 客户端工具。当我们在计算机安装了这个工具,我们就可以再客户端进行访问:访问地址为:svn://ip地址:

svn://192.168.20.100

这样就会直接进入到myproject的根目录。

很多时候,我们并不希望用户能这么简单的就登陆了,这样也太危险了。所以我们需要做一下简单的配置,具体的配置跟在windows下的svn是一致的。

修改文件的命名为 : sudo gedit  文件路径

如何修改可以参考:http://412887952-qq-com.iteye.com/blog/1335251

注释:对文件仓库的访问权限基于文件系统的权限。如果该用户具有读/写权限,那么他/她就可以签出/提交修改。如果您像前面我们说描述的那样设置了相应的组,您可以简单的将一个用户添加到“subversion”组中以使其具有签出和提交的权限。

4.5 配置通过WebDav协议访问。

要通过 WebDAV 协议访问 SVN 文件仓库,您必须配置您的 Apache 2 Web 服务器。您必须加入下面的代码片段到您的 /etc/apache2/mods-available/dav_svn.conf中: 

<Location /svn/myproject>

DAV svn

SVNPath /home/svn/myproject

AuthType Basic

AuthName "myproject subversion repository"

AuthUserFile /etc/subversion/passwd

<LimitExcept GET PROPFIND OPTIONS REPORT>

Require valid-user

</LimitExcept>

</Location>

如果需要用户每次登录时都进行用户密码验证,请将<LimitExcept GET PROPFIND OPTIONS REPORT>与</LimitExcept>两行注释掉。 

当您添加了上面的内容,您必须重新起动 Apache 2 Web 服务器,请输入下面的命令: 

sudo /etc/init.d/apache2 restart

接下来,您需要创建 /etc/subversion/passwd 文件,该文件包含了用户授权的详细信息。要添加用户,您可以执行下面的命令: 

sudo htpasswd -c /etc/subversion/passwd user_name

它会提示您输入密码,当您输入了密码,该用户就建立了。

。“-c”选项表示创建新的/etc/subversion/passwd文件,所以user_name所指的用户将是文件中唯一的用户。如果要添加其他用户,则去掉“-c”选项即可:

sudo htpasswd /etc/subversion/passwd other_user_name

您可以通过下面的命令来访问文件仓库:

svn co http://hostname/svn/myproject myproject --username user_name

到此。Svn服务器配置基本完成。我们可以通过浏览器使用http://IP地址/svn/myproject进行访问了。

注:使用http访问密码是通过纯文本传输的。建议使用SSL。即通过https://进行访问。

Ssl的配置还没有完成。待完成后写总结发给大家。本教程可以参考网址如下:

警告:密码是通过纯文本传输的。如果您担心密码泄漏的问题,我们建议您使用 SSL 加密.

参考文章:

http://wiki.ubuntu.org.cn/SubVersion

<!--EndFragment-->
分享到:
评论
1 楼 masuweng 2016-08-08  

相关推荐

    linux下svn的安装配置及相关问题解决方案

    linux下svn的安装及出现的问题详细解决方案

    linux下svn的安装

    linux下svn的安装与配置,及遇到问题的详细解决方案

    SVN使用手册中文版快速入门

    安装Subversion Subversion的组件 快速入门 2. 基本概念 版本库 版本模型 文件共享的问题 锁定-修改-解锁 方案 拷贝-修改-合并 方案 Subversion实战 工作拷贝 修订版本 工作拷贝怎样追踪版本库 修订版本混合的限制 ...

    SVN使用手册中文版.chm

    安装Subversion Subversion的组件 快速入门 2. 基本概念 版本库 版本模型 文件共享的问题 锁定-修改-解锁 方案 拷贝-修改-合并 方案 Subversion实战 工作拷贝 修订版本 工作拷贝怎样追踪版本库 修订版本混合的限制 ...

    SVN操作手册中文版网页格式

    目录 译者序 前言 序言 读者 怎样阅读本书 本书约定 排版习惯 图标 本书组织结构 Subversion 1.1的新特性,svn客户端和linux下命令行。 目录 1. 简介 1.1. 什么是 TortoiseSVN? 1.2. TortoiseSVN 的历史 1.3. ...

    使用Subversion进行版本控制(针对 Subversion 1.4)

    安装 Subversion 快速指南 B. CVS用户的Subversion指南 版本号现在不同了 目录的版本 更多离线操作 区分状态和更新 状态 更新 分支和标签 元数据属性 解决冲突 二进制文件和行结束标记转换 版本化的模块 认证 迁移...

    基于mediastreamer2的网络电话实现流程以及源码库

    分析:在json的论坛中,找到了解决方案:把编译生成的/lib/pkgconfig/这个目录下生成了一个json-c.pc。最后mediastreamer2在调用的时候找的是json.pc。那么我们就把这个文件名改为json.pc #mv json-c.pc json.pc OK...

    mpeg-pcc-tmc2:基于视频编解码器的点云压缩(V-PCC)测试模型

    build.sh:构建解决方案。 clear.sh:清除解决方案。 OSX mkdir构建 光盘制作 cmake .. -G Xcode 打开生成的xcode项目并构建它 Linux mkdir构建 光盘制作 cmake .. 制作 视窗 md构建 光盘制作 cmake .. -G“ ...

    天线扫描仿真matlab代码-HelloWorld:演示版

    天线扫描仿真matlab代码图案标签AMS设计模拟和数字电路tanner模拟设计模拟布局角JS角JS框架角天线设计ARM验证ASIC设计器ASIC建模ASIC解决方案架构师ASIC验证VLSI ATE ATE设计与开发ATE硬件ATE测试自动化测试设备...

    jhuep_web_app_dev:涵盖了JHU EP(在线)的Kiran Chittargi讲授的用Java进行的605.782 Web应用程序开发。 这是小组项目的仓库

    Matthew Pavan是一位软件开发人员,具有包括Web开发,云托管和ETL解决方案在内的端到端技能。 Matthew是一个努力工作的问题解决者,它将确保满足您的开发需求。 Sajjad Syed是一位电气工程师,之前曾从事Python,...

    java版商城源码下载-Study-Notes:学习笔记

    java版商城源码下载 Study-Notes 黑马程序员 2020年Java基础教程(全资料+笔记+源码): 2020年javaweb全套教程: ...业务解决方案(实战项目) Elasticsearch: Lucene: Quartz: Elastic-Job: S

    PHP中如何判断exec函数执行成功?

    解决方案 写个PHP文件来做实验: exec函数第一个参数是执行的命令,第二个参数是执行的结果,第三个参数是执行的状态。 &lt;?php exec&#40;'ls', $log, $status&#41;; print_r($log); print_r($status); echo ...

    iuhyiuhkjh908u0980

    当然,对于该难题,有很多种解决方案。例如,可以使用j2mepolish,请参考本人以前发表的文章《使用J2mePolish的build和preprocess功能》。本文主要讨论如何使用antenna来解决这个问题。 Antenna介绍 Ant ... by ...

    java8集合源码分析-notes:路漫漫其修远兮,吾将上下而求索

    java8 ...解决方案 spring framework 大数据 hadoop 日志 logback lua js vuejs protocol buffer 数据库 redis 计算机基础 docker linux windows 开发工具 git idea maven svn 服务器 tomcat chrome

    IBM WebSphere Portal门户开发笔记01

    11、搜索功能会遇到的问题及其解决方案 14 12、搜索过滤 16 13、注意 16 14、WCM高级搜索参数 16 ADVANCED WCM/WEBSPHERE PORTAL SEARCH INTEGRATION 17 Introduction 17 How to search WCM content using this ...

    单点登录源码

    - 一站式支付解决方案,统一下单接口,支持支付宝、微信、网银等多种支付方式。不涉及业务的纯粹的支付平台。 - 统一下单(统一下单接口、统一扫码)、订单管理、数据分析、财务报表、商户管理、渠道管理、对账系统...

    《安天365安全研究》第二期.pdf

    2.8 信息收集之 SVN 源代码社工获取及渗透实战 2.8.1 公开源代码获取 2.8.2 社工查询获取密码 2.8.3 登录阿里云代码中心 2.8.4 获取其它开发用户的信息 2.8.5 下载获取源代码 2.8.6 后续渗透 2.8.7 总结 2.9 对某...

    TortoiseSVN中文手册

    3.2.6. 使用 svn+ssh 认证 ........................................... 28 3.2.7. svnserve 基于路径的授权 ...................................... 28 4. 版本库 ................................................

Global site tag (gtag.js) - Google Analytics