`

ubuntu-svn筆記

    博客分类:
  • SVN
 
阅读更多

1.安裝及設定SVN

 

a. ubuntu上安裝svn server

安裝apache2、libapache-svn、subversion這三個套件

 

b. 建立 svn root目錄

$ sudo mkdir -p svn

 

 

d. 新建一個檔案庫並將存取檔授予 apache2

 

$cd svn

$sudo mkdir -p <ProjectName>

$sudo chmod -R g+rws <ProjectName>

(g+rws : group add read and write, +s不是很懂)

$sudo svnadmin create <ProjectName>

 

建立svn群組

 

$ sudo addgroup subversion

$ sudo adduser www-data subversion

$ sudo adduser <UserName> subversion

 

$ sudo chown -R www-data:subversion <ProjectName>

 

 

 

e. 新增使用者資訊

$ sudo htpasswd [-參數] /opt/svnroot/htpasswd username

依照指示輸入使用者密碼即可。

/opt/svnroot/htpasswd 這個可以自己改成想要的路徑與檔名

參數:

-c:表示是否要新建檔案,舊有檔案內容會完全刪除,適用於第一次建立檔案時

-m:密碼以 MD5 進行編碼

 

若要再加帳號,或是修改某帳號的密碼,也都是用這個指令(記得不要加 -c 參數)

 

 

f. 在apache2中設定svn

這一步就很討厭了,因為我一查就查到了三種…

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

2./etc/apache2/sites-available/default

3./etc/apache2/sites-available/default-ssl

這裡一開始我是使用第3個…

後來改成用第一個,因為看檔名也知道是專門給SVN使用的!

 

設定內容倒是大同小異

 

<Location "/svn/">
DAV svn
SVNParentPath /home/kirk/svn/
SVNListParentPath on
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /home/kirk/svn/test/conf/htpasswd
AuthzSVNAccessFile /home/kirk/svn/test/conf/authz
Require valid-user
</Location>

如此設定會使用url = https://localhost/svn/

這裡的設定非常容易出錯,目前的設定是允許目錄瀏覽的(主要是SVNListParentPath on及Location Url)

 

 

 

g. apache2 error log

$ tail -f /var/log/apache2/error.log

 

 

h. error

The URI does not contain the name of a repository

 

i. 指令(終於到這次整理的重點:列出某版本後的修改檔案列表清單)

列出版本2和版本3有修改的檔案

$ svn log -r 2:3 -v

$ svn log --username www-data -r 2:3 -v

$ svn log | sed -n '/username/,/-----$/ p'

 

$ svn log -r {2011-09-06}

$ svn log -r {2006-11-20}:{2006-11-29}

 

FINALLY:

輸出六月一號之後到今天有更動的檔案到20110906.out

$ svn log -r {2011-06-01}:head -v | sed -n '/<username>/,/-----$/ p' > ~/20110906.out

 

 

========================================================

 

別人整理的完整設定程序如下

 

sudo apt-get install apache2 apache2.2-common apache2-utils libapache2-svn subversion

 

sudo addgroup subversion

sudo adduser www-data subversion

sudo adduser <UserName> subversion

 

sudo mkdir /var/lib/svn

cd /var/lib/svn

sudo mkdir <ProjectName>

 

sudo chmod -R g+rws <ProjectName>

sudo svnadmin create /var/lib/svn/<ProjectName>

sudo chown -R www-data:subversion <ProjectName>

 

 

#Http設定

 

sudo vi /etc/apache2/mods-available/dav_svn.conf

 

<Location /svn/<ProjectName>>

   DAV svn

   SVNPath /var/lib/svn/<ProjectName>

   AuthType Basic

   AuthName "<ProjectName> Subversion Repository"

   AuthUserFile /var/lib/svn/<ProjectName>/conf/passwd

   Require valid-user

</Location>

 

#帳號密碼設定

 

sudo htpasswd -cm /var/lib/svn/<ProjectName>/conf/passwd <UserName>

 

sudo /etc/init.d/apache2 restart

 

from http://phorum.study-area.org/index.php?topic=55163.0

====================================================

 

 

參考:

在 Ubuntu 中架設 SVN Server (+SSL)

UBUNTU 下安裝 SVN Server

Ubuntu - 安裝 SVN (Subversion Server)

Debian6下安裝SVN+Apache2+SSH實現HTTPS

Ubuntu server10.10下安裝配置SVN【轉】

 

SVN 基本指令教學

[轉載] SVN 基本指令教學

Subversion 權威指南

svn status

svn常用命令

高級主題

 

[問題]No apache MPM package installed

SubVersion中文站

分享到:
评论

相关推荐

    SVN笔记学习

    以下是对"SVN笔记学习"内容的详细解读: 1. **Linux下SVN的搭建** - **安装SVN**: 在Linux系统中,通常通过包管理器来安装SVN,如在Ubuntu或Debian上使用`apt-get install subversion`,在CentOS或Fedora上使用`...

    Ubuntu 18使用笔记.docx

    ### Ubuntu 18 使用笔记知识点总结 #### 一、虚拟机环境配置 - **问题背景**:使用VMware 12版本无法支持Ubuntu 18.04系统。 - **解决方案**: - 升级VMware到14.1.1版本后成功安装Ubuntu 18.04。 #### 二、字体...

    linux下svn安装笔记带钩子

    或者对于Debian/Ubuntu系统: ```bash sudo apt-get install subversion -y ``` 2. **创建仓库**:首先需要创建一个SVN仓库供项目使用。 ```bash sudo mkdir /opt/svn-repos sudo svnadmin create /opt/svn-...

    svn.pdf.tar.gz_linux svn

    本笔记主要针对Linux环境下如何安装、配置及使用SVN进行详细介绍,旨在帮助用户在Linux系统上顺利搭建SVN服务器并进行日常的代码管理。 ### 1. SVN简介 SVN是Apache软件基金会的一个项目,用于管理文件和目录版本...

    SVN学习笔记

    ### SVN学习笔记:深入理解Subversion的安装与使用 #### SVN简介 Subversion(简称SVN)是一款开源的版本控制系统,用于管理软件开发过程中的源代码版本控制。它支持多种平台,包括Linux、Windows和MacOS等。SVN...

    SVN和Git简单使用文档

    根据提供的文件名,"svn笔记.docx"可能包含对SVN更深入的使用细节,比如解决冲突、标签(branching & tagging)、回滚等操作的步骤。而"svn和git的简单使用.pptx"很可能是对SVN和Git的对比,可能会涵盖两者的优缺点...

    Github笔记

    - **命令行安装**:对于Linux用户来说,可以通过包管理器来安装Git,例如使用`sudo apt-get install git git-core git-doc git-email gitk git-man git-svn git-web`命令在Ubuntu系统上安装Git。该命令将会安装Git...

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

    2020年Java基础教程(全资料+笔记+源码): 2020年javaweb全套教程: Mysql: Oracle: JDBC: C3P0: 前端技术 HTML、CSS、Javascript: jQuery-: Ajax: Vue: 微信小程序: 动态网页: 编程强化 JVM优化: 数据...

    git学习笔记

    1. **集中式版本控制系统**:如SVN、CVS、VSS等,这类系统的特点是有一个中心服务器用来保存所有文件的修订版本,而协同工作的人们则通过客户端连到这台服务器,取出最新的文件或者提交更新。这种模式的主要缺点是...

    Linux 学习笔记

    ### Linux 学习笔记知识点概览 #### 一、Linux 常见命令与操作 - **基础命令**:在 Linux 系统中,掌握一些基础命令是非常重要的,例如 `ls` (列出目录内容)、`cd` (切换目录)、`pwd` (显示当前工作目录)、`mkdir`...

    Android和linux基础知识笔记分享 有米分享.doc

    总而言之,这份笔记是Android和Linux开发者的重要参考资料,涵盖了从系统启动、网络配置到源码编译和文件系统制作等多个关键方面。对于想要深入理解Android和Linux操作系统的读者来说,这些都是必不可少的基础知识。

    ghostlyhui

    3. **SVN**:Subversion(SVN)是版本控制系统,用于跟踪文件和目录的变更。开发者可以通过它协同工作,记录每次修改,方便回滚到某个历史版本。 4. **MySQL**:MySQL是一款关系型数据库管理系统,适用于存储和处理...

Global site tag (gtag.js) - Google Analytics