一、SVN安装
1.安装包
$ sudo apt-get install subversion

2.添加svn管理用户及subversion组
#添加用户
$ sudo adduser  svnuser
#添加分组
$ sudo addgroup svngroup
#添加用户到分组
$ sudo adduser  svnuser svngroup

3.创建项目目录
$ sudo mkdir /var/www/svn
$ cd /var/www/svn

4.创建SVN文件仓库
$ sudo svnadmin create /var/www/svn/svnroot

5.修改所有者
chown svnuser.svngroup -R svnroot

6.访问方式及项目导入
$ svn co file://var/www/svn/svnroot
或者
$ svn co file://localhost/var/www/svn/svnroot

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

#下面的命令用于将项目导入到SVN 文件仓库,一定要注明导入信息
svn import -m "new commit" /root/test file://localhost/var/www/svn/svnroot

/root/test是需要导入的文件的位置
file://localhost/var/www/svn/svnroot是仓库地址

7.访问权限设置
修改 /var/www/svn/svnroot/目录下:
svnserve.conf 、passwd 、authz三个文件,行最前端不允许有空格

编辑svnserve.conf文件,把如下两行取消注释
password-db = password
authz-db = authz

//补充说明
#[general]
anon-access = read
auth-access = write
password-db = passwd
其中anon-access和auth-access分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,只需把 read改成none就能达到目的。

编辑var/www/svnuser/etc/passwd  如下:
[users]
FansUnion = 123456

编辑var/www/svnuser/etc/authz如下
[groups]
admin = FansUnion

[/]
@admin=rw
*=r
这里设置了FansUnion这个用户,密码是123456

8.启动SVN服务
svnserve -d -r /var/www/svn
描述说明:
-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库
如: svn://localhost/svnroot

这时SVN安装就完成了.
局域网访问方式:
例如:svn checkout svn://localhost/svnroot --username FansUnion --password 123456 /var/www/svnroot/

二、通过HTTP访问SVN仓库(Apache)
1.安装包 (已安装subversion)
$ sudo apt-get install libapache2-svn

2.创建版本仓库
sudo svnadmin create /var/www/svn/svnroot
目录地址必须存在,这个就是保存版本仓库的地方,不同的版本仓库创建不同的文件夹即可,比如:

本来/var/www/svn/svnroot这个目录下什么都没有,执行下面的命令之后再去看一下,多出一些文件和文件夹,我们需要操作的是conf这个文件夹,这个文件夹下有一个文件,叫做passwd,用来存放用户名和密码。

3.修改用户和组
然后把这个版本仓库目录授权给apache读写:
sudo chown -R www-data:www-data /var/www/svn/svnroot

4.编辑apache配置文件
sudo vim /etc/apache2/mods-available/dav_svn.conf

加入如下内容:
<Location /svnroot>
DAV svn
SVNPath /var/www/svn/svnroot
AuthType Basic
AuthName "Dream Team Svn Repos"
AuthUserFile /var/www/svn/svnroot/conf/passwd
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
</Location>

location说的是访问地址,比如上述地址,访问的时候就是
http://127.0.0.1/svnroot
其中有两行被注释掉了,以保证每次都需要用户名密码。

5.创建访问用户
建议将用户名密码文件存放在当前版本仓库下conf文件夹下,这样版本仓库多的时候无至于太乱。
因为conf文件夹下已经存在passwd文件了,所以直接添加用户:

sudo htpasswd -c /var/www/svn/svnroot/conf/passwd leiwen
(-c,创建passwdfile文件。如果passwdfile已经存在,那么将被清空并改写。)

然后输入两遍密码,leiwen这个用户就创建好了。
打开/var/www/svn/svnroot/conf/passwd这个文件,会开到形如如下形式的文本:
leiwen:$apr1$spmGy53l$m7RcVXWq/xsAEtRXFDlD4  //后面是加密后的密码。

#这种方法比较合适
sudo htpasswd -b /var/www/svn/svnroot/conf/passwd FansUnion 123456
(123456将被加密,已有的密码文件会被更新,而不是从新创建)

创建以后,再次需要往别的版本仓库添加这个用户,直接把这一行复制过去就可以了。

6.重启apache
sudo /etc/init.d/apache2 restart

或service apache2 restart

7.htpasswd命令参考
Usage:
        htpasswd [-cmdpsD] passwordfile username
        htpasswd -b[cmdpsD] passwordfile username password

htpasswd -n[mdps] username
        htpasswd -nb[mdps] username password
 -c  Create a new file.
 -n  Don't update file; display results on stdout.
 -m  Force MD5 encryption of the password (default).
 -d  Force CRYPT encryption of the password.
 -p  Do not encrypt the password (plaintext).
 -s  Force SHA encryption of the password.
 -b  Use the password from the command line rather than prompting for it.
 -D  Delete the specified user.
On other systems than Windows, NetWare and TPF the '-p' flag will probably not work.
The SHA algorithm does not use a salt and is less secure than the MD5 algorithm.

有问题请留言.

原文参见http://FansUnion.cn/articles/1995(小雷网-FansUnion.cn)

Ubuntu下SVN服务器安装和配置的更多相关文章

  1. [转载]Ubuntu下Git服务器安装与配置

    原文地址:Ubuntu下Git服务器安装与配置作者:F民抄 1. 安装 1.1 安装Git-Core: sudo apt-get install git-core 1.2 安装 Gitosis sud ...

  2. 【转载】Ubuntu下SVN安装和配置

    一.SVN安装 1.安装包 1.$ sudo apt-get install subversion 2.创建项目目录 $ sudo mkdir /home/xiaozhe/svn $ cd /home ...

  3. Ubuntu下SVN安装和配置

    一.SVN安装 1.安装包 1.$ sudo apt-get install subversion 2.创建项目目录 $ sudo mkdir /home/xiaozhe/svn $ cd /home ...

  4. ubuntu下SVN服务器安装配置

    SVN服务器端: 1.安装包 $ sudo apt-get install subversion 2.添加svn管理用户及subversion组 $ sudo adduser svnuser $ su ...

  5. [源码管理] ubuntu下SVN服务器安装配置

    一.SVN安装1.安装包$ sudo apt-get install subversion2.添加svn管理用户及subversion组$ sudo adduser svnuser$ sudo add ...

  6. Linux下SVN服务器安装配置及客户端安装说明

    原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...

  7. Linux下SVN服务器搭建配置

    Linux下SVN服务器搭建配置 1.SVN服务安装 yum install subversion 2.创建SVN代码仓库 mkdir /data/svn svnadmin create /data/ ...

  8. ubuntu下安装mysql和配置远程访问

    ubuntu下安装mysql和配置远程访问   下载安装mysql sudo apt-get install mysql-client mysql-server 安装的时候会提示要设置root密码,如 ...

  9. linux下WEB服务器安装、配置VSFTP

    转载  http://www.oicto.com/centos-vsftp/?tdsourcetag=s_pcqq_aiomsg linux下WEB服务器安装.配置VSFTP 由 admin · 发布 ...

随机推荐

  1. mcustomscrollbar滚动条美化插件

    mCustomScrollbar 是个基于 jQuery UI 的自定义滚动条插件,它可以让你灵活的通过 CSS 定义网页的滚动条,并且垂直和水平两个方向的滚动条都可以定义,它通过 Brandon A ...

  2. SSL和SSH

    简单的来说:SSL是安全传输的一种安全协议,SSH只是在传输的时候为了防止"中间人"篡改数据而提供的安全的"通道" 在使用的时候我们只关心传输数据的安全性,那么 ...

  3. [洛谷P3929]SAC E#1 - 一道神题 Sequence1

    题目大意:给你一串数列,问你能否改变1个数或不改,使它变成波动数列? 一个长度为n的波动数列满足对于任何i(1 <= i < n),均有: a[2i-1] <= a[2i] 且 a[ ...

  4. vue滚动行为

    有人问道如何记录vue页面的滚动条位置,再次载入组件的时候页面滚动到记录的位置? 思路: 记录滚动条位置我们好记 我们要在组件销毁之前也就是页面跳转的时候 需要用到生命周期beforeDistory将 ...

  5. 利用NSProxy解决NSTimer内存泄漏问题

    之前写过一篇利用RunTime解决由NSTimer导致的内存泄漏的文章,最近和同事讨论觉得这样写有点复杂,然后发现有NSProxy这么好用的根类,根类,根类,没错NSProxy与NSObject一样是 ...

  6. SDSoC使用体验

    本文作者:卜居 转载请保留作者信息.原文网址(http://blog.csdn.net/kkk584520/article/details/47220575). 本文project可到我的资源下载(h ...

  7. [Java][log4j]支持同一时候按日期和文件大小切割日志

    依据DailyRollingFileAppender和RollingFileAppender改编,支持按日期和文件大小切割日志.  源文件: package com.bao.logging; impo ...

  8. 火狐浏览器设置bypass

    http://blog.sina.com.cn/s/blog_6f7d179e0101a60l.html 某个网段不使用代理的设置FF和IE不同,IE是用*通配符,FF是用CIDR的表示法, FF的简 ...

  9. 有关R6034错误的思考

    作者:朱金灿 来源:http://blog.csdn.net/clever101 我们有时会遇到R6034错误,工程明明编译通过,但是运行时却出现: 网上的解决办法很多,但是有效的不多,特别是对阐述这 ...

  10. Sub Thread to update main Thread (UI)

    Sub Thread to update main Thread (UI) main Thread :   A  has Hander.HandleMessage() to process the & ...