SubVersion Ubuntu
UbuntuサーバにSubversionを入れる
Ubuntuサーバが無事に動いたので、続いてSubversionを入れてみる。
こんな感じの環境を考える。
Subversionのインストール
sudo apt-get install subversion libapache2-svn
はい終わり。
リポジトリの準備
sudo mkdir /var/lib/svn
んで、とりあえず適当にリポジトリを作ってみる。
sudo svnadmin create /var/lib/svn/foo
sudo chown -R www-data /var/lib/svn/foo
後々Apache経由でアクセスするのでオーナーをApacheユーザ(www-data)に変えておく*1。
Apacheの設定
libapache2-svnを入れた時点で/etc/apache2/mods-available/dav_svn.confというファイルが出来てるんだけど、SSL限定にするにはdefault-sslのVirtualHostディレクティブの中に書く必要があるので、こいつは使わない。
/etc/apache2/sites-available/default-sslに同様の内容を書き込む。
<IfModule mod_ssl.c>
<VirtualHost _default_:>
</VirtualHost>
:
: # other configuration
: # 以下を追加
<Location /svn>
DAV svn
SVNParentPath /var/lib/svn
AuthType Digest
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/.htdigest
AuthzSVNAccessFile /etc/apache/dav_svn.authz
Require valid-user
Satisfy Any
</Location>
</IfModule>
パスなどの設定内容はお好みに合わせて。
綺麗に管理したいなら外部ファイルにしてIncludeすればいい。ただ、sites-availableとかに置くとトラブルの元なので避けた方がいいかも。
続けてDigest認証用のファイルを作成する。
sudo htdigest -c /etc/apache2/.htdigest "Subversion Repository" username
realmが追加されている以外はhtpasswdと同じ。ファイルを作成するときだけ-cオプションを付ける。追加・変更時はつけない。
realmはAuthNameと合わせる必要があるので注意。
さらにSubversionのアクセス設定ファイルを作成する。
作るのはAuthzSVNAccessFileで指定したファイル。
[groups]
foo-dev = user-a, user-b [/]
* = [foo:/]
@foo-dev = rw
user-c = rw
* = r
書き方はSubversionのマニュアルを読めってことで。
これを使うとリポジトリ(とパス)単位でユーザ毎に読み書きの制御ができる。
上の例だとfooリポジトリは誰でも見れるけど、コミットはuser-a, user-b, user-cしかできない。
Apache再起動
設定が終わったのでモジュールを有効にしてApacheを再起動する。
sudo a2enmod ssl
sudo a2enmod auth_digest
sudo a2enmod dav_svn
sudo a2ensite default-ssl
sudo /etc/init.d/apache2 restart
これでhttps経由でアクセス出来るようになったはず。
SubVersion Ubuntu的更多相关文章
- 【转】linux(Ubuntu)配置svn仓库,搭建svn服务器
原文网址:http://blog.1v2d.com/322.html 在家里搞了好久,终于搞出来,并且在线上已经成功搭建成功,在这感谢一个博主的文章,本篇文章也主要是转载他的内容,写的非常好,而且非常 ...
- Ubuntu/CentOs 搭建SVN服务器
安装 CentOS : yum install subversion Ubuntu: sudo apt-get install subversion 查看Subversion版本: 使用“svn -- ...
- Centos/ubuntu配置SVN服务
Centos安装svn yum -y install subversion ubuntu安装svn apt-get install subversion Centos配置svn root@hello: ...
- ubuntu GITLAB完全导入SVN(提交历史,用户)项目
从SVN导入到GITLAB目前没有直接的方案,通常需要通过GIT转换:SVN –>GIT –>GITLAB.通过这种方式,将SVN的提交历史,用户信息一并导入到gitlab 注:本文只适用 ...
- 版本控制系统Subversion
系统提供撤销的功能对我们实际开发中特别重要.改动后撤销几乎也是我们每个人经常做的事情.再多人进行同一个项目的开发或者测试的时候,版本的唯一性(类似于临界区资源),也就是说A 和B 两个人协同工作的时候 ...
- 在Linux下搭建SVN服务器
svn不仅仅可以用于程序开发,还可以做很多事情,例如备份文档. CentOS下:安装 这样同一台服务器便可以运行多个svnserver了 检查端口 注:如果修改了svn配置,需要重启svn服务 -j ...
- op编译信赖的库
Table of known prerequisites and their corresponding packages Here's a table with the package name f ...
- SVN同步版本库与网站目录
如何创建SVN版本库及同步文件到WEB目录 来源:空谷 一 安装与配置SVN 1.安装subversion centos: yum install subversion ubuntu: apt-get ...
- ubuntu + subversion + apache2 设置
1.下载安装subversion,apache2 sudo apt-get updatesudo apt-get upgrade sudo apt-get install apache2sudo a ...
随机推荐
- 使用 Git Hooks 实现自动项目部署
最近在某服务器上面搭建 git 开发和部署环境,git 开发环境很简单,按照 ProGit 一书的相关知识就可以轻松搞定,实现了类似 Github 的使用 SSH + 私有 Clone 的方式. 关于 ...
- 前后端分离中,Gulp实现头尾等公共页面的复用
前言 通常我们所做的一些页面,我们可以从设计图里面看出有一些地方是相同的.例如:头部,底部,侧边栏等等.如果前后端分离时,制作静态页面的同学,对于这些重复的部分只能够通过复制粘贴到新的页面来,如果页面 ...
- cf591d
题意:给出船的最大速度v,起点,终点.风在前t秒是一个方向,t秒后就一直是第二个方向.两个方向已知. 船速永远大于风速.问船在自由掌握速度和行驶方向的情况下,最快多久到终点. 分析:首先排除一种方法, ...
- iOS 编译时的警告导致无法通过编译
今天编译react native的代码,发现了2个警告,但是系统却当做错误,不能编译成功,查看了一下编译选项,看到了如下配置: 注意到这个-Werror 了吗? 就是这个标志导致系统把所有的 警告都当 ...
- Python之str()与repr()的区别
Python之str()与repr()的区别 str()一般是将数值转成字符串,主要面向用户. repr()是将一个对象转成字符串显示,注意只是显示用,有些对象转成字符串没有直接的意思.如list, ...
- ant 使用指南
一.概述 ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.在实际软件开发中,有很多地方可以用到ant. 开发环境: System:Windo ...
- 切换debian8系统语言环境
想切换操作系统的默认语言环境,可以使用如下命令,而不用重新安装系统: 查看操作系统的语言: # env | grep LANG 使用root导入要使用的系统语言: # export LANG=en_U ...
- 7.iOS Notification
1. 通知中心认识 通知中心实际上是在程序内部提供了消息广播的一种机制.通知中心不能在进程间进行通信,它只能进行程序内部通信,不能跨应用程序进程通信.通知中心,当通知中心接受到消息后会根据设置,根据内 ...
- html5 Application Cache 机制以及使用
那什么是Application Cache呢? 顾名思义,AppCache就是对app内存缓存的方案,具体表现为当请求某个文件时不是从网络获取该文件,而是从本地内存中获取. Application C ...
- iOS 创建模型时自动生成属性
转载 mark666(简书作者), 链接:http://www.jianshu.com/p/63ee533a7705 我们在创建模型的时候,常常要写一大堆恶心的@property(nonatomic, ...
