SlideShare a Scribd company logo
ubuntu 下架设 svn 服务器

1、安装 subversion

sudo apt-get install subversion

2、建立 svn 的用户组,并添加用户

sudo addgroup svn # 添加一个名为 svn 的用户组

sudo adduser xiao # 为参与项目开发的成员建立用户帐户

sudo addgroup xiao svn # 把 xiao 加入 svn 组中

# 可以根据不同的权限建立多个用户组,把有相应权限的用户放入相应的组中

4、建立项目文件存储目录

sudo mkdir /usr/local/svn

sudo mkdir /usr/local/svn/trunk

5、创建文件仓库

sudo svnadmin create /usr/local/svn/trunk

6、为组成员赋予相应的权限

sudo chown -R root:svn /usr/local/svn/trunk

sudo chmod -R g+rws /usr/local/svn/trunk # 给 svn 组赋予读写权限,可以根据需要更改相应权限

sudo chmod -R o-rwx /usr/local/svn/trunk # 删除其他无关人员的读、写、执行权限,默认情况下
可能其他人有读权限

# 注:有关权限修改的问题可以查看相关 linux 命令

7、修改文件仓库配置

sudo vi /usr/local/svn/trunk/conf/svnserve.conf

将 #password-db = passwd 前面的 # 去除(注意,不要有多余空格):

password-db = passwd

sudo vi /usr/local/svn/trunk/conf/passwd

添加用户、密码:
[users]

xiao = 123456

7、启动 svn 服务

sudo svnserve -d -r /usr/local/svn # svnserve 会监听 3690 端口,可用 netstat -lnp 查看到端口

# -d 守护方式;-r 为 svn 根目录,可减短用户 url,例如

# 不加 -r 参数时,用户 url 为:svn://172.16.0.221/usr/local/svn/trunk

# 加上 -r 根 NSE 目录时,用户 url 为:svn://172.16.0.221/trunk

到此,svn 服务器已经可以使用。用户可在 Windows 下安装 svn 客户端软件 TortoiseSVN,

按右键“SVN checkout”,在“url of repository”中输 svn://172.16.0.221/trunk 。

如果要加密,接着下面步骤。

8、可以安装 ssh

sudo apt-get install ssh

9、为每个成员生成密钥对(以用户 xiao 为例)

su xiao # 切换为 xiao 用户登录,会提示输入 xiao 的密码

cd ~/

whoami # 如果登录成功则显示 xiao

ssh-keygen -b 1024 -t dsa -N passphrase -f xiaokey # 生成私钥文件 xiaokey 和公钥文件
xiaokey.pub,

# passphrase 为密钥关键字;

# 这里用的是 dsa 加密方式,也可以换成 rsa 加密。

mddir .ssh # 创建 .ssh 目录

cp xiaokey.pub /home/xiao/.ssh/authorized_keys # 复制公钥文件到 .ssh 目录下,文件名必须为
authorized_keys

exit # 退 xiao 用户

10、用户可在 Windows 下安装 svn 客户端软件 TortoiseSVN、Puttygen、Pageant
10.1、下载:

http://sourceforge.net/projects/tortoisesvn

http://www.chiark.greenend.org.uk/~sgtatham/putty/

10.2、安装:略

10.3、转换私钥格式:

      10.3.1、将 xiaokey 拷贝到 windows 下,运行 Puttygen ;

      10.3.2、选择菜单 conversions->Import Key,

     10.3.3、选择文件 xiaokey,提示“Enter passphrase for key",输入创建公私钥对示使用的
passphrase 关键字,

   10.3.4、然后选择 Parameters 为“SSH-2 DSA”(如果公私钥是使用 RSA 生成,则选
择“SSH-2 RSA”),

      10.3.5、点击按钮 Save private key,

      10.3.6、保存文件名为 xiaokey.ppk。

   10.4、建立 TortoiseSVN 与 Pageant 的关联,并将私钥加入 Pageant:

10.4.1、右键选择 TortoiseSVN->Settings->Network->SSH client,输入:

            C:Program FilesTortoiseSVNbinTortoisePlink.exe;

10.4.2、右键选择 TortoiseSVN->RepoBrowser 输入 URL:

            svn+ssh://xiao@SvnServiceIP/usr/local/svn/trunk;

10.4.3、运行 Pageant,右键点击屏幕右下角的图标-〉Add Key,将私钥文件 xiaokey.ppk 加入。

注:如果不想缓存 ssh 密码,则第 8、9 步不需要,只保留 10.4.2,

但每次 check out、check in 中每进入一个文件夹都要输入两次密码,烦死你:)

----------------------------------------------------------------------------------------------------------

在 Ubuntu 上搭建 Subversion 服务器

Michael 一口气写了 4 篇文章来介绍怎样建立 Subversion 服务器,深入浅出,很适合新手参照。
我这篇文章盗用了他的思路,简单说明一下怎样在 Ubuntu 上搭建 Subversion 服务
器。Subversion 是一款非常好的开源版本控制系统,目前最新版本 1.4.4,新增版本库镜像工具
svnsync 和对 working copy 性能的改进,另外新版也开始支持 BerkeleyDB 4.4。在介绍前必须先
搞清楚两个概念,一个是 repository (版本库,以下简称 repo), 一个是 working copy (工作拷贝,
以下简称 wc),前者是项目所在的地方,后者是你做修改的地方。如果你对版本控制这个概念
不太了解的话,Michael 简单解释了一下。

比如我有一个项目,有几百个文件,包括项目的相关文档,图表,和一些视频音频文件,它们
都被放在电脑的一个文件夹内。随着项目的发展,文件夹内的会增加新的文档图表等文件,而
老的文件也会被修改,同时也许会有一些文件会被删除。在版本控制系统下,每一次对该项目
文件夹下的改动,被记录,如果哪个文件被删错了,都会或是想把文档恢复到以前的版本,可
以轻而易举的达到。更了不起的是,如果该项目被一个团队来执行,该团队的每一个成员都可
以对项目内的文件进行管理和同步,这样就可以保持大家永远 on the same page。

举例说明,只需 4 步在 Ubuntu 上搭建 Subversion 服务器。

一、搭建 Subversion 服务器

1、首先需要安装 subversion 这个软件:

sudo apt-get install subversion

2、在 /home/nicky 下建立一个 repo,名称为 testproject:

svnadmin create /home/nicky/testproject

3、然后把 /fun/theme 目录下的内容导入到这个 repo 中:

svn import -m "" /fun/theme file:///home/nicky/testproject

4、最后给这个 repo 建立一个 svn 自带的 svnserve:

svnserve -d -r /home/nicky/testprojec

另外:如果需要设定用户的验证和相应的权限,请看这里。

二、使用 Subversion

1、你可以使用下面的命令来获得一个 wc,如把它取名为 projecout。

svn checkout svn://127.0.0.1/ projecout

或者简写为:

svn co svn://127.0.0.1/ projecout

2、如果需要将修改从 wc 中发送到 repo。

先到 wc 所在目录,然后使用下面的命令将修改发送到 repo:

svn commit -m "note"
三、常用命令:

取出指定版本,如取出版本 2:

svn checkout --revision 2 svn://....

显示提交日志信息:

svn log

显示库中的最新信息:

svn log --revision HEAD

----------------------------------------------------------------------------------------------------------

Ubuntu 下使用 SVN

SVN 作为日常开发中不可缺少的工具,今天终于开始在 Ubuntu 下使用了。

1、首先需要安装 SVN。Ubuntu 下的 SVN 安装十分简单,sudo apt-get install subversion,然后根
据提示一步一步,就完成了 SVN 的安装;

2、检出文件(checkout)。

   使用命令:svn co http://{svn repository url} /destination

 然后系统会用当前的用户名登录,提示输入密码,如果第一次密码输入错误,会提示你输入
用户名;

   输入正确后,就可以检出文件了。

3、提交文件(commit)。

    进入需要更新的目录,输入命令:

  svn commit -m path-to-commit,其中 path-to-commit 可以为空,成功后会提示更新后的版本
号。

4、更新文件(update)。

   svn update,在要更新的目录运行这个命令就可以了。

5、查看日志(log)。

   svn log path

6、为 Eclipse 配置 SVN。
http://subclipse.tigris.org/files/documents/906/38385/site-1.2.3.zip,可以从这个地址下载 Eclipse
的插件,拷贝到 plugins 目录中以后,重启 Eclipse 就可以打开 SVN 的视图了。

   也可以通过官方的 安装页面来进行在线安装:http://subclipse.tigris.org/install.html

----------------------------------------------------------------------------------------------------------

More Related Content

What's hot (20)

PPT
Hadoop平台搭建
Liyang Tang
 
DOC
Linux安全配置终极指南
wensheng wei
 
PDF
Debian Policy - 5.6.12 Version
Shih-Yuan Lee
 
DOC
X64服务器 lamp服务器部署标准 new
Yiwei Ma
 
PDF
unixtoolbox_zh_CN
wensheng wei
 
PDF
Bypat博客出品-利用cent os快速构建自己的发行版
redhat9
 
PDF
Deployment with Capistrano
旭 張
 
PDF
Rsync服务器架设方法.v0.1b
Easy TV Money - Watch TV. Make Money
 
PPTX
Docker 101
Bryan Yang
 
DOCX
Linux安全配置,公钥/私钥方式
yuanshiyin
 
DOC
CentOS5 apache2 mysql5 php5 Zend
wensheng wei
 
PPTX
Gentoo linux
Jiang Yan-Ting
 
DOC
Linux必学的60个命令
yiditushe
 
DOC
Nginx+常见应用技术指南
andy54321
 
PPTX
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
Will Huang
 
DOCX
推聊 3分钟可运行起来的开源 android手机聊天系统
kaerseng
 
DOC
Nagios的安装部署和与cacti的整合(linuxtone)
Yiwei Ma
 
PPTX
使用Rpm&yum进行基础软件管理
haiyuan ning
 
PPT
Firefox OS Overview
Yan-ren Tsai
 
PPT
1221 探討 Windows Server 2008 WDS 部署服務
Timothy Chen
 
Hadoop平台搭建
Liyang Tang
 
Linux安全配置终极指南
wensheng wei
 
Debian Policy - 5.6.12 Version
Shih-Yuan Lee
 
X64服务器 lamp服务器部署标准 new
Yiwei Ma
 
unixtoolbox_zh_CN
wensheng wei
 
Bypat博客出品-利用cent os快速构建自己的发行版
redhat9
 
Deployment with Capistrano
旭 張
 
Rsync服务器架设方法.v0.1b
Easy TV Money - Watch TV. Make Money
 
Docker 101
Bryan Yang
 
Linux安全配置,公钥/私钥方式
yuanshiyin
 
CentOS5 apache2 mysql5 php5 Zend
wensheng wei
 
Gentoo linux
Jiang Yan-Ting
 
Linux必学的60个命令
yiditushe
 
Nginx+常见应用技术指南
andy54321
 
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
Will Huang
 
推聊 3分钟可运行起来的开源 android手机聊天系统
kaerseng
 
Nagios的安装部署和与cacti的整合(linuxtone)
Yiwei Ma
 
使用Rpm&yum进行基础软件管理
haiyuan ning
 
Firefox OS Overview
Yan-ren Tsai
 
1221 探討 Windows Server 2008 WDS 部署服務
Timothy Chen
 

Viewers also liked (17)

DOC
Tomcat源码学习1
wensheng wei
 
PPTX
Micaela Carter Presentation
micaelac329
 
DOC
Ubuntu安装SVN总结
wensheng wei
 
DOC
XMLHTTPRequest的属性和方法简介
wensheng wei
 
DOC
我的最小项目管理工具集
wensheng wei
 
DOC
数据库系统防黑客入侵技术综述
wensheng wei
 
DOC
Twitter新手使用教程
wensheng wei
 
DOC
PHP-Debug-Manual-public
wensheng wei
 
DOC
十张叫做幸福的图片
wensheng wei
 
DOC
Apache+php+mysql在Linux下的安装与配置
wensheng wei
 
DOC
【转】CVS使用手册
wensheng wei
 
DOC
部分PHP问题总结[转贴]
wensheng wei
 
DOC
MVC详解:了解真正所谓的
wensheng wei
 
DOC
常用数据库的链接方法
wensheng wei
 
DOC
The Most Important Algorithms
wensheng wei
 
DOC
管理员必备的20个 Linux系统监控工具
wensheng wei
 
DOC
信息时代的组合数学
wensheng wei
 
Tomcat源码学习1
wensheng wei
 
Micaela Carter Presentation
micaelac329
 
Ubuntu安装SVN总结
wensheng wei
 
XMLHTTPRequest的属性和方法简介
wensheng wei
 
我的最小项目管理工具集
wensheng wei
 
数据库系统防黑客入侵技术综述
wensheng wei
 
Twitter新手使用教程
wensheng wei
 
PHP-Debug-Manual-public
wensheng wei
 
十张叫做幸福的图片
wensheng wei
 
Apache+php+mysql在Linux下的安装与配置
wensheng wei
 
【转】CVS使用手册
wensheng wei
 
部分PHP问题总结[转贴]
wensheng wei
 
MVC详解:了解真正所谓的
wensheng wei
 
常用数据库的链接方法
wensheng wei
 
The Most Important Algorithms
wensheng wei
 
管理员必备的20个 Linux系统监控工具
wensheng wei
 
信息时代的组合数学
wensheng wei
 
Ad

More from wensheng wei (20)

DOC
你会柔软地想起这个校园
wensheng wei
 
DOC
几米语录(1)
wensheng wei
 
DOC
我的简历
wensheng wei
 
DOC
Installation of Subversion on Ubuntu,...
wensheng wei
 
DOC
高级PHP应用程序漏洞审核技术
wensheng wei
 
DOC
存储过程编写经验和优化措施
wensheng wei
 
DOC
Happiness is a Journey
wensheng wei
 
DOC
Java JNI 编程进阶
wensheng wei
 
DOC
Linux Shortcuts and Commands:
wensheng wei
 
DOC
Java正则表达式详解
wensheng wei
 
PDF
Linux Security Quick Reference Guide
wensheng wei
 
PDF
issue35 zh-CN
wensheng wei
 
DOC
Android模拟器SD Card映像文件使用方法
wensheng wei
 
DOC
Subversion FAQ
wensheng wei
 
DOC
如何硬盘安装ubuntu8.10
wensheng wei
 
PDF
ubunturef
wensheng wei
 
DOC
数据库设计方法、规范与技巧
wensheng wei
 
DOC
揭秘全球最大网站Facebook背后的那些软件
wensheng wei
 
DOC
mysql的字符串函数
wensheng wei
 
DOC
入门-Java运行环境变量的图文教程
wensheng wei
 
你会柔软地想起这个校园
wensheng wei
 
几米语录(1)
wensheng wei
 
我的简历
wensheng wei
 
Installation of Subversion on Ubuntu,...
wensheng wei
 
高级PHP应用程序漏洞审核技术
wensheng wei
 
存储过程编写经验和优化措施
wensheng wei
 
Happiness is a Journey
wensheng wei
 
Java JNI 编程进阶
wensheng wei
 
Linux Shortcuts and Commands:
wensheng wei
 
Java正则表达式详解
wensheng wei
 
Linux Security Quick Reference Guide
wensheng wei
 
issue35 zh-CN
wensheng wei
 
Android模拟器SD Card映像文件使用方法
wensheng wei
 
Subversion FAQ
wensheng wei
 
如何硬盘安装ubuntu8.10
wensheng wei
 
ubunturef
wensheng wei
 
数据库设计方法、规范与技巧
wensheng wei
 
揭秘全球最大网站Facebook背后的那些软件
wensheng wei
 
mysql的字符串函数
wensheng wei
 
入门-Java运行环境变量的图文教程
wensheng wei
 
Ad

Ubuntu 下安装 svn 服务器

  • 1. ubuntu 下架设 svn 服务器 1、安装 subversion sudo apt-get install subversion 2、建立 svn 的用户组,并添加用户 sudo addgroup svn # 添加一个名为 svn 的用户组 sudo adduser xiao # 为参与项目开发的成员建立用户帐户 sudo addgroup xiao svn # 把 xiao 加入 svn 组中 # 可以根据不同的权限建立多个用户组,把有相应权限的用户放入相应的组中 4、建立项目文件存储目录 sudo mkdir /usr/local/svn sudo mkdir /usr/local/svn/trunk 5、创建文件仓库 sudo svnadmin create /usr/local/svn/trunk 6、为组成员赋予相应的权限 sudo chown -R root:svn /usr/local/svn/trunk sudo chmod -R g+rws /usr/local/svn/trunk # 给 svn 组赋予读写权限,可以根据需要更改相应权限 sudo chmod -R o-rwx /usr/local/svn/trunk # 删除其他无关人员的读、写、执行权限,默认情况下 可能其他人有读权限 # 注:有关权限修改的问题可以查看相关 linux 命令 7、修改文件仓库配置 sudo vi /usr/local/svn/trunk/conf/svnserve.conf 将 #password-db = passwd 前面的 # 去除(注意,不要有多余空格): password-db = passwd sudo vi /usr/local/svn/trunk/conf/passwd 添加用户、密码:
  • 2. [users] xiao = 123456 7、启动 svn 服务 sudo svnserve -d -r /usr/local/svn # svnserve 会监听 3690 端口,可用 netstat -lnp 查看到端口 # -d 守护方式;-r 为 svn 根目录,可减短用户 url,例如 # 不加 -r 参数时,用户 url 为:svn://172.16.0.221/usr/local/svn/trunk # 加上 -r 根 NSE 目录时,用户 url 为:svn://172.16.0.221/trunk 到此,svn 服务器已经可以使用。用户可在 Windows 下安装 svn 客户端软件 TortoiseSVN, 按右键“SVN checkout”,在“url of repository”中输 svn://172.16.0.221/trunk 。 如果要加密,接着下面步骤。 8、可以安装 ssh sudo apt-get install ssh 9、为每个成员生成密钥对(以用户 xiao 为例) su xiao # 切换为 xiao 用户登录,会提示输入 xiao 的密码 cd ~/ whoami # 如果登录成功则显示 xiao ssh-keygen -b 1024 -t dsa -N passphrase -f xiaokey # 生成私钥文件 xiaokey 和公钥文件 xiaokey.pub, # passphrase 为密钥关键字; # 这里用的是 dsa 加密方式,也可以换成 rsa 加密。 mddir .ssh # 创建 .ssh 目录 cp xiaokey.pub /home/xiao/.ssh/authorized_keys # 复制公钥文件到 .ssh 目录下,文件名必须为 authorized_keys exit # 退 xiao 用户 10、用户可在 Windows 下安装 svn 客户端软件 TortoiseSVN、Puttygen、Pageant
  • 3. 10.1、下载: http://sourceforge.net/projects/tortoisesvn http://www.chiark.greenend.org.uk/~sgtatham/putty/ 10.2、安装:略 10.3、转换私钥格式: 10.3.1、将 xiaokey 拷贝到 windows 下,运行 Puttygen ; 10.3.2、选择菜单 conversions->Import Key, 10.3.3、选择文件 xiaokey,提示“Enter passphrase for key",输入创建公私钥对示使用的 passphrase 关键字, 10.3.4、然后选择 Parameters 为“SSH-2 DSA”(如果公私钥是使用 RSA 生成,则选 择“SSH-2 RSA”), 10.3.5、点击按钮 Save private key, 10.3.6、保存文件名为 xiaokey.ppk。 10.4、建立 TortoiseSVN 与 Pageant 的关联,并将私钥加入 Pageant: 10.4.1、右键选择 TortoiseSVN->Settings->Network->SSH client,输入: C:Program FilesTortoiseSVNbinTortoisePlink.exe; 10.4.2、右键选择 TortoiseSVN->RepoBrowser 输入 URL: svn+ssh://xiao@SvnServiceIP/usr/local/svn/trunk; 10.4.3、运行 Pageant,右键点击屏幕右下角的图标-〉Add Key,将私钥文件 xiaokey.ppk 加入。 注:如果不想缓存 ssh 密码,则第 8、9 步不需要,只保留 10.4.2, 但每次 check out、check in 中每进入一个文件夹都要输入两次密码,烦死你:) ---------------------------------------------------------------------------------------------------------- 在 Ubuntu 上搭建 Subversion 服务器 Michael 一口气写了 4 篇文章来介绍怎样建立 Subversion 服务器,深入浅出,很适合新手参照。 我这篇文章盗用了他的思路,简单说明一下怎样在 Ubuntu 上搭建 Subversion 服务 器。Subversion 是一款非常好的开源版本控制系统,目前最新版本 1.4.4,新增版本库镜像工具 svnsync 和对 working copy 性能的改进,另外新版也开始支持 BerkeleyDB 4.4。在介绍前必须先
  • 4. 搞清楚两个概念,一个是 repository (版本库,以下简称 repo), 一个是 working copy (工作拷贝, 以下简称 wc),前者是项目所在的地方,后者是你做修改的地方。如果你对版本控制这个概念 不太了解的话,Michael 简单解释了一下。 比如我有一个项目,有几百个文件,包括项目的相关文档,图表,和一些视频音频文件,它们 都被放在电脑的一个文件夹内。随着项目的发展,文件夹内的会增加新的文档图表等文件,而 老的文件也会被修改,同时也许会有一些文件会被删除。在版本控制系统下,每一次对该项目 文件夹下的改动,被记录,如果哪个文件被删错了,都会或是想把文档恢复到以前的版本,可 以轻而易举的达到。更了不起的是,如果该项目被一个团队来执行,该团队的每一个成员都可 以对项目内的文件进行管理和同步,这样就可以保持大家永远 on the same page。 举例说明,只需 4 步在 Ubuntu 上搭建 Subversion 服务器。 一、搭建 Subversion 服务器 1、首先需要安装 subversion 这个软件: sudo apt-get install subversion 2、在 /home/nicky 下建立一个 repo,名称为 testproject: svnadmin create /home/nicky/testproject 3、然后把 /fun/theme 目录下的内容导入到这个 repo 中: svn import -m "" /fun/theme file:///home/nicky/testproject 4、最后给这个 repo 建立一个 svn 自带的 svnserve: svnserve -d -r /home/nicky/testprojec 另外:如果需要设定用户的验证和相应的权限,请看这里。 二、使用 Subversion 1、你可以使用下面的命令来获得一个 wc,如把它取名为 projecout。 svn checkout svn://127.0.0.1/ projecout 或者简写为: svn co svn://127.0.0.1/ projecout 2、如果需要将修改从 wc 中发送到 repo。 先到 wc 所在目录,然后使用下面的命令将修改发送到 repo: svn commit -m "note"
  • 5. 三、常用命令: 取出指定版本,如取出版本 2: svn checkout --revision 2 svn://.... 显示提交日志信息: svn log 显示库中的最新信息: svn log --revision HEAD ---------------------------------------------------------------------------------------------------------- Ubuntu 下使用 SVN SVN 作为日常开发中不可缺少的工具,今天终于开始在 Ubuntu 下使用了。 1、首先需要安装 SVN。Ubuntu 下的 SVN 安装十分简单,sudo apt-get install subversion,然后根 据提示一步一步,就完成了 SVN 的安装; 2、检出文件(checkout)。 使用命令:svn co http://{svn repository url} /destination 然后系统会用当前的用户名登录,提示输入密码,如果第一次密码输入错误,会提示你输入 用户名; 输入正确后,就可以检出文件了。 3、提交文件(commit)。 进入需要更新的目录,输入命令: svn commit -m path-to-commit,其中 path-to-commit 可以为空,成功后会提示更新后的版本 号。 4、更新文件(update)。 svn update,在要更新的目录运行这个命令就可以了。 5、查看日志(log)。 svn log path 6、为 Eclipse 配置 SVN。
  • 6. http://subclipse.tigris.org/files/documents/906/38385/site-1.2.3.zip,可以从这个地址下载 Eclipse 的插件,拷贝到 plugins 目录中以后,重启 Eclipse 就可以打开 SVN 的视图了。 也可以通过官方的 安装页面来进行在线安装:http://subclipse.tigris.org/install.html ----------------------------------------------------------------------------------------------------------