Ubuntu SVN服务器的搭建与配置(转)
Ubuntu SVN服务器的搭建与配置
一、 安装
sudo apt-get install subversion
sudo apt-get install libapache2-svn
sudo apt-get install apache2
二、 增加组
sudo groupadd svn //增加组
sudo usermod–G svn –a admin // 把用户admin添加到svn组中 (svn为自己的用户)
sudo usermod –G svn –a www-data // 把apache用户添加到svn组中
三、 创建版本库
由于/home 分配的空间较大(1T),建议将版本库建立在/home 下。
sudo mkdir /home/svn
sudo chown –R root:svn svn
sudo chmod –R g+rws svn
reboot
cd /home/svn
文件夹建好了以后,我们就可以在svn目录下面创建仓库了,当然也可以在它的子目录下创建仓库,为了便于项目的管理,建议在svn的子目录下创建仓库。
例如:有“Embed”项目,项目中有 软件 和 硬件 两个分支,那么我们可以在svn下建立 embed目录: mkdir embed (注意,这个时候不需要用sudo 了)。然后在 embed 目录下再分别创建 solftware 和 hardware两个仓库。
cd embed
svnadmin create /home/svn/embed/solftware
cd solftware
仓库创建好后,会自动生成一些文件和文件夹
其中 conf 文件夹下存放的是一些与控制访问有关的配置文件
四、 SVN 权限管理
A、需要用户名、密码登录
1、 修改 svnserve.conf
svnserve.conf是基础的配置,用于控制访问的权限将[general]前的注释与空格去掉,一定要去掉空格,否则到时客户端登录会出现"Section header must start in the first column的”的告警!最后此文件内容至少包含以下内容:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
其中,anon-access = none禁止匿名登录,auth-access = write为署名登录获得写权限,password-db = passwd指定用户配置文件,authz-db = authz指定权限配置文件
2、 修改passwd
自动生成的passwd 文件格式如下:
[users]
# harry = harryssecret
# sally = sallyssecret
Harry 表示 用户名,harryssecret 为密码。这种方式是明文方式,也就是说如果要添加访问的用户的话只需按照格式添加用户名密码就可以。
例如添加 zhangsan 用户, 并且密码为123456,那么只需在后面添加如下内容即可:
zhangsan = 123456
但是,这种方法并不安全,下面介绍一种文件加密的方式设置登录的用户名和密码。
1、备份原始的passwd 文件: cp passwd passwd-bak
2、创建新的加密的passwd文件, 并且添加用户名和密码:
htpasswd -cm passwd zhangsan
如图所示,输入密码后登录用户的用户名和密码就创建好了。下面我们来看一下passwd 文件里面的内容是什么。
现在显示的内容就不是之前的明文了,说明达到了加密的效果。
如果需要添加另外离歌用户名和密码,可以执行一下命令:
htpasswd passwd zhangsan
3、修改authz
修改完登录方式,增加登录的用户名和密码后,下面我们将进一步设置仓库中文件夹的访问权限。
假设在passwd中设置了3个用户,分别是 zhangsan、 lisi、 wangwu,在仓库solftware下有三个目录,分别是: pro1, pro2, pro3 。那么其访问权限可设置如下方式。
[groups]
everyone = zhangsan, lisi, wangwu
group1 = zhangsan
group2 = lisi
group3 = wangwu
[solftware:/]
* = r 说明:/svn/embed/solftware/z 对所有用户都只有只读权限
也可写成 @everyone = r
[solftware:/pro1]
@group1 = rw 说明:zhangsan 可读可写
也可写成 zhangsan = rw
@group2 = r 说明:lisi 只读
也可写成 lisi = r
@group2 = r 说明:wangwu 只读
也可写成 wangwu = r
注意:如果对文件夹不做设置的话,默认为没有访问权限
4、修改 sudo vi /etc/apache2/mods-enable/dav_svn.conf
<Location /svn/embed/solftware >
DAV svn
SVNPath /home/svn/embed/solftware
AuthType Basic
AuthzSVNAccessFile /home/svn/embed/solft/conf/authz
AuthName "welcome to subversion repository"
AuthUserFile /home/svn/embed/solftware/passwd
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
</Location>
注意:
1、每新建一个仓库的时候,都在该文件下添加类似上面的代码,只需把红色部分内容改成新建仓库的路径即可。
2、每新建一个仓库的时候都执行以下命令
sudo vi dav_svn.conf
cd /home/svn/embed
sudo chmod -R g+rws xxx(版本库)
3:sudo /etc/init.d/apache2 restart
B、设置匿名访问
有时候我们需要设置一些公共目录,使得所有人都能够进行访问,使用上面的设置方法当然也可以实现,只需要把该目录设置为所有的人都可读可写即可,但是,如果这样做的话就显得很麻烦了,假如一个公司有100人的话,那咱们还得设置100个用户,这样做的话就显得有些多余了。下面,咱们来看看简单的设置方法。
1、创建新的版本库(hard)
2、执行下面命令 sudo chmod –R g+rws hard
3、在/etc/apache/mods-enable/dav_svn.conf 增加一下代码即可
<Location /embed/hard>
DAV svn
SVNPath /home/svn/embed/hard
AuthType Basic
Authname "polarbear"
</Location>
C、如何在版本库中创建文件夹
首先,如果我们只是简单的在版本库中执行mkdir命令创建文件夹的话,在客户端上checkout的时候是不显示新创建的文件夹的。可是,假如这个版本库(hard)中需要有三个文件夹,比如分别为:src、lib、usr,而且我们又希望用户在客户端checkout的时候能够看到相应的文件夹,那么这个时候该怎么办呢?执行以下命令即可:
1、svnadmin create hard
2、sudo chmod –R g+rws hard
3、cd hard
4、mkdir src lib usr
5、svn import –m “” src http://192.168.86/hard/src
6、svn import –m “” lib http://192.168.86/hard/src
7、svn import –m “” usr http://192.168.86/hard/src
第 4、5、6、7步骤,还可以用下面的方法实现
Svn mkdir –m “” usr http://192.168.86/hard/src
svn mkdir –m “” lib http://192.168.86/hard/lib
svn mkdir –m “” lib http://192.168.86/hard/usr
双引号内可以为空,也可以填入对文件夹的说明。
注意:如果有用户反映提交的时候出现类似“Can't open file 'D:\Reositories\Doc\db\txn-current-lock':拒绝访问。”这样的错误提示,则很可能是在创建仓库后没有执行sudo chmod –R g+rws hard命令。
Ubuntu SVN服务器的搭建与配置(转)的更多相关文章
- SVN服务器本地搭建与使用
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6623026.html 使用SVN进行代码管理,需要搭建服务端资源库,然后在使用SVN的电脑安装SVN客户端或 ...
- svn服务器的搭建备份和还原和svnmanager的使用
svn服务器的搭建备份和还原和svnmanager的使用 一.svn服务端软件的安装和配置 1.安装svn版本库软件 # yum install -y subversion 2.建立svn版本库数据存 ...
- centos7下SVN服务器如何搭建
Centos7 搭建svn服务器 linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(ce ...
- linux(centos7)下SVN服务器如何搭建
linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(centos)搭建SVN服务器的思路! ...
- svn 服务器的搭建以及客户端的使用
1.svn 服务器的搭建以及客户端的使用,安装见下面的博客 https://blog.csdn.net/zh123456zh789/article/details/80921179 说明:服务器只是用 ...
- svn 服务器的搭建 on Ubuntu
Subversion 如何在Ubuntu下安装配置Subversion服务器.已经配置好,不过没有配置开机自启动, 需要的时候,使用如下命令开启svn服务svnserve -d -r /opt/s ...
- Linux SVN服务器的搭建配置及分支的创建与合并
第一步:通过yum命令安装svnserve,命令如下: >yum -y install subversion 若需查看svn安装位置,可以用以下命令: >rpm -ql subversio ...
- svn服务器快速搭建及简单配置
http://www.360doc.com/content/11/0711/19/5131531_132950891.shtml 简介Svn已经不容质疑的成为了一款流行的代码控制工具,但是你是否还在为 ...
- Windows下SVN服务器的搭建步骤
1.下载svn服务端和客户端 服务端VISUALSVN SERVER:https://www.visualsvn.com/ 客户端TortoiseSVN:https://tortoisesvn.net ...
随机推荐
- unity pbr
https://disney-animation.s3.amazonaws.com/library/s2012_pbs_disney_brdf_notes_v2.pdf 参数
- 把文章里边的html标签去掉(去掉文字的样式,显示css设置的样式)
java: validHeasers.add(tr[0].replace("<(.[^>]*)>",""));//去除HTML标签
- java 实现poi方式读取word文件内容
1.下载poi的jar包 下载地址:https://www.apache.org/dyn/closer.lua/poi/release/bin/poi-bin-3.17-20170915.tar.gz ...
- HDU1505(HDU1506的加强版)
昨天打 CF又跪了.近期睡不好睡不好睡不好-感觉整个人都累傻了,根本无办法写下去,只写了一题签到题就跪了orz..从未试过这么悲剧. 今天早上凭着我的意念("怨念").七点又起来了 ...
- 【笔记】git 的常用操作命令(持续更新。。。)
项目正在如火如荼的开展,代码量的繁多不得不令我们运用 git 这个有用的工具去管理我们共同协作的代码 git 在这里不作什么介绍了,百度一大堆的教程 首推廖雪峰老师的:http://www.liaox ...
- 转: 腾讯Bugly干货分享:Android应用性能评测调优
转:http://www.kuqin.com/shuoit/20150618/346693.html?utm_source=www.race604.com 前言 在智能手机App竞争越来越激烈的今天, ...
- tomcat中server.xml配置详解(转载)(二)
转载自:https://www.cnblogs.com/starhu/p/5599773.html 一:<Connector>元素 由Connector接口定义.<Connector ...
- js中,三元运算的简单应用(?:)
js中,三元运算的简单应用: var sinOrMul = ""; sinOrMul =(subType=="single")?("<span ...
- Git原始笔记
.dir .mkdir lxit .cd lxit .git init(git仓库不要动!!! 除非用命令动它里面的文件,新添加的可以动) .ls .pwd Config: git config -- ...
- python——python数据结构之栈、队列的实现
这个在官网中list支持,有实现. 补充一下栈,队列的特性: 1.栈(stacks)是一种只能通过访问其一端来实现数据存储与检索的线性数据结构,具有后进先出(last in first out,LIF ...