Ubuntu SVN服务器的搭建与配置(转)

时间:2022-10-22 08:20:02

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服务器的搭建与配置(转)的更多相关文章

  1. SVN服务器本地搭建与使用

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6623026.html  使用SVN进行代码管理,需要搭建服务端资源库,然后在使用SVN的电脑安装SVN客户端或 ...

  2. svn服务器的搭建备份和还原和svnmanager的使用

    svn服务器的搭建备份和还原和svnmanager的使用 一.svn服务端软件的安装和配置 1.安装svn版本库软件 # yum install -y subversion 2.建立svn版本库数据存 ...

  3. centos7下SVN服务器如何搭建

    Centos7 搭建svn服务器 linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(ce ...

  4. linux(centos7)下SVN服务器如何搭建

    linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(centos)搭建SVN服务器的思路! ...

  5. svn 服务器的搭建以及客户端的使用

    1.svn 服务器的搭建以及客户端的使用,安装见下面的博客 https://blog.csdn.net/zh123456zh789/article/details/80921179 说明:服务器只是用 ...

  6. svn 服务器的搭建 on Ubuntu

    Subversion 如何在Ubuntu下安装配置Subversion服务器.已经配置好,不过没有配置开机自启动, 需要的时候,使用如下命令开启svn服务svnserve -d  -r  /opt/s ...

  7. Linux SVN服务器的搭建配置及分支的创建与合并

    第一步:通过yum命令安装svnserve,命令如下: >yum -y install subversion 若需查看svn安装位置,可以用以下命令: >rpm -ql subversio ...

  8. svn服务器快速搭建及简单配置

    http://www.360doc.com/content/11/0711/19/5131531_132950891.shtml 简介Svn已经不容质疑的成为了一款流行的代码控制工具,但是你是否还在为 ...

  9. Windows下SVN服务器的搭建步骤

    1.下载svn服务端和客户端 服务端VISUALSVN SERVER:https://www.visualsvn.com/ 客户端TortoiseSVN:https://tortoisesvn.net ...

随机推荐

  1. paip&period;proxool连接池 :Attempt to refer to a unregistered pool by its alias &&num;39&semi;xx&&num;39&semi;

    paip.proxool连接池 :Attempt to refer to a unregistered pool by its alias 'xx' 作者Attilax  艾龙,  EMAIL:146 ...

  2. 中文简体windows CMD显示中文乱码解决方案

    因为重装系统,以前是英文的,现在的镜像文件是中文简体windows 10.所以只能将就使用. 下载了JDK,CMD 写了命令java,结果一堆乱码(问号???).发现System的locale默认设置 ...

  3. js中document的用法

    document.title //设置文档标题等价于HTML的title标签document.bgColor //设置页面背景色document.fgColor //设置前景色(文本颜色)docume ...

  4. MassMutual Interview Questions

    Company MassMutual Date 30/09/15 Location Boston, MA Position Application Developer It's not a codin ...

  5. LintCode ---- 刷题总结

    对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始).如果不存在,则返回 -1. 基本:两重for循 ...

  6. Spring基础系列-容器启动流程&lpar;1&rpar;

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9870339.html 概述 ​ 我说的容器启动流程涉及两种情况,SSM开发模式和Spri ...

  7. 第一册:lesson seventy five。

    原文: Uncomfortable Shoes. Do you have any shoes like this? What size? Size five. What color? Black. I ...

  8. word粘贴图片&plus;的editor

    公司做的项目需要用到文本上传功能. Chrome+IE默认支持粘贴剪切板中的图片,但是我要粘贴的文章存在word里面,图片多达数十张,我总不能一张一张复制吧? 我希望打开文档doc直接复制粘贴到富文本 ...

  9. Linux 禁ping和开启ping操作

    方法一:     # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 如果要恢复,只要: # echo 0 > /proc/sys/net ...

  10. LncRNA

    简介:长链非编码RNA(Long non-coding RNA, lncRNA)通过多种机制发挥其生物学功能, 这些机制包括基因印记.染色质重塑.细胞周期调控.剪接调控.mRNA降解和翻译调控等.ln ...