linux资料整理之ubuntu配置svn服务器并且同步更新web目录

博客:http://lijinhuan.blog.51cto.com/

微博:http://weibo.com/lijinhuanexperience

微信:xiaoleetongxue

需求:

把代码放到共同的服务器中去,然后可以通过软件自由的增加和修改代码,以方便共同协作,而不是像某一些小企业那样,把代码用qq传来传去进行覆盖更新。

解决办法:

搭建一台公共的服务器并且配置svn服务器。svn可以很好存放代码,实现上面的需求。

下面教大家在unbuntu中一步一步地去配置svn服务器,至于unbuntu的基本使用可以去unbuntu官方看一下文档。

下面对svn进行一个简单的介绍

svn是Subversion的简称,它 是一款开放源代码的版本控制系统。使用 Subversion,您可以重新加载源代码和文档的历史版本。Subversion 管理了源代码在各个时期的版本。一个文件树被集中放置在文件仓库中。这个文件仓库很像是一个传统的文件服务器,只不过它能够记住文件和目录的每一次变化。

在配置svn之前你所需要掌握哪些知识

linux的基本权限管理,用户管理,文件管理,进程管理。如果您对这些知识不熟悉就进行该操作你会非常痛苦

在ubuntu中安装

幸运的,Subversion 已经包含在 main 仓库中。所以,要安装 Subversion,您只需要简单的运行:

$ sudo apt-get install subversion

许多位置都可以放置 Subversion 文件仓库,其中两个最常用的是:/usr/local/svn 以及 /home/svn。为了在下面的描述中简单明了,我们假设您的 Subversion 文件仓库放在 /home/svn,并且你的项目名称是简单的“myproject”。

同样的,也有许多常用的方式设置文件仓库的访问权限。然而,这也是安装过程中最经常出现错误的地方,因此我们会对此进行一个详细说明。通常的情况下,您应该创建一个名为“Subversion”的用户组,该组是SVN仓库所在的目录的拥有者。下面是一个快速的操作说明

sudo addgroup subversion
sudo usermod -G subversion -a username

现在执行下面的命令

$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$ sudo chown -R username:subversion myproject

下面的命令用于创建 SVN 文件仓库:

$ sudo svnadmin create /home/svn/myproject

赋予组成员对所有新加入文件仓库的文件拥有相应的权限:

$ sudo chmod -R g+rws myproject

目前已经安装并且创建了一个仓库,那么我们怎么把代码提交到这个仓库,或者把代码提交到这个仓库中去呢?

好了,慢慢来,我们先测试一下。

直接访问:

$ svn co file:///home/svn/myproject

如果访问成功,那么这个时候就证明已经配置好了。

接下来,我们使用最常用的的方式访问,无论是在远程的windows还是在ubunto里面都可以的。

使用其自身的协议访问(svn://)

当您创建了 SVN 文件仓库,您可以修改 /home/svn/myproject/conf/svnserve.conf 来配置其访问控制。

例如,您可以取消下面的注释符号来设置授权机制:

# [general]
# password-db = passwd

现在,您可以在“passwd”文件中维护用户清单。编辑同一目录下“passwd”文件,添加新用户。语法如下:

username = password
#(注意行开始不要有多余空格)

现在,您可以在本地或者远程通过 svn://访问 SVN 了,您可以使用“svnserve”来运行 svnserver,语法如下:

$ sudo svnserve -d -T-r /home/svn

如果已经启动端口占用了,你可以使用ps -e查看svnserve进程的id,并把其kill掉

当您执行了该命令,SVN 就开始监听默认的端口(3690)。

这个时候您就可以在远程使用windows的乌龟svn或者其他客服端软件进行访问了。

在这里您特别需要注意一下权限的问题

问题来了,现在代码文件可以提交和更新了,怎么去让他自动同步到服务器的某个目录呢?因为提交之后是放在svn服务器的数据库文件里面的,并没有看到任何文件。

其实这个不难解决,主要是通过svn服务器的钩子来实现的,原理如下

我们在服务器的某个目录下把代码checkout下来,然后在代码提交的时候自动触发该项目的update命令。

cd /home/svn/myproject/hooks

vim post-commit:
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
#注意这里设置成自己想要更新的目录,已经用户名和密码
sudo svn update /wwwroot/myproject --username username--password password

这样就可以自动更新了,每次本地提交的时候。

这里需要注意一下

export LANG=en_US.UTF-8

不要写错哦

时间: 2024-10-24 12:48:49

linux资料整理之ubuntu配置svn服务器并且同步更新web目录的相关文章

Centos下SVN安装以及同步到web目录

一.安装 Yum –y install subversion 建立版本库目录 Mkdir –p /mnt/svn 建立svn库 Svnadmin create /mnt/svn/delieato 启动svn: Svnserve –d –r /mnt/svn 二.配置库 针对每一个库,其conf目录下有三个配置文件(authz.passwd.svnserve.conf) 1.  authz,设置用户组和用户权限 [group] smsyun = ddl,shl //创建一个smsyun的组,并制定

svn提交自动同步到web目录

环境:CentOS6.5  测试线   svn和web服务器在同一台机器上   SVN版本1.6 情景:在测试环境下,开发部提出希望提交到SVN的代码能自动同步到WEB站点目录下,解决每次都要传双份这一问题,尤其是频繁更新后的繁琐,浪费了大量时间. 思路:通过搜索,查到svn的hooks目录的触发功能,该目录下有许多模板,其中一个是post-commit.tmpl,意为“提交后执行”,通过这个功能我们可以将提交代码后要做的事写到里面来执行. 步骤: 1. 首先导出一份svn的文件到网站目录 #

【转】linux(Ubuntu)配置svn仓库,搭建svn服务器

原文网址:http://blog.1v2d.com/322.html 在家里搞了好久,终于搞出来,并且在线上已经成功搭建成功,在这感谢一个博主的文章,本篇文章也主要是转载他的内容,写的非常好,而且非常实用,通俗易懂,可能做的过程会遇到问题,没事,大家慢慢研究,会成功的,文章我已做优化,就是我在搭建的过程出现的问题. 转自:dazeair 原文地址:http://dazeair.blog.51cto.com/4024187/1421178 系统:Ubuntu 12.04 64位 lnmp环境 集成

Ubuntu下配置SVN服务器

1. 安装subversion: sudo apt-get install subversion 2. 创建版本库: cd /home/svn/ svnserve -d -r /home/svn svnadmin create repos 注意:若要启动两个svn服务器,则要指明端口,默认的服务器端口是3690. svnserve -d -r /home/svn 等价于: svnserve -d --listen-port=3690 -r /home/svn 如果要启动第二个服务器,如/home

linux 配置svn服务器+使用+注意事项

本文以ubuntu系统进行安装. 1.安装svn服务器 apt-get install subversion 输入 y 回车确认安装. 安装完毕后可以用 下边的命令查看是否安装完成,如果现实出版本号和版权信息等等就证明安装完成. svn --version svn --version 成功后展示如下信息 svn, version 1.8.8 (r1568071) compiled Aug 20 2015, 12:51:30 on x86_64-pc-linux-gnu Copyright (C)

linux下安装配置svn服务器

linux下安装配置svn服务器 1. svn服务器安装 将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器. tar xfvz subversion-1.4.0.tar.gz tar xfvz subversion-deps-1.4.0.tar.gz cd subversion-1.4.0 ./configure –prefix=/opt/svn –without-berkeley-db –with-zlib 或者 [[emai

如何配置svn服务器(通过VisualServer服务器)

如果你已经安装好了VisualServer服务器,现在让我们一起来配置svn服务器吧 1. 找到VisualServer Manager的快捷方式处,启动VisualServer服务器,启动后界面如图 2. 右键点击Users,填入用户名和密码.用户名设置为个人的姓名或其他的 3. 创建Groups:右键点击Groups,选择Create Groups 这里是创建组的,可以设置成你的团队或公司的名称.这里我以自己的身份Student(学生)设置.之后点击Add,可以看到上述你所创建的用户名,点击

如何配置svn服务器

如果你已经安装好了VisualServer服务器,现在让我们一起来配置svn服务器吧. 配置VisualServer 找到VisualServer Manager的快捷方式处,启动VisualServer服务器,启动后界面如图: 右键点击Users,填入用户名和密码.用户名设置为个人的姓名或其他的 创建Groups:右键点击Groups,选择Create Groups 这里是创建组的,可以设置成你的团队或公司的名称.这里我以自己的身份Student(学生)设置.之后点击Add,可以看到上述你所创

阿里云服务器centos下安装配置svn服务器

阿里云服务器centos下安装配置svn服务器 1.安装svn服务器端 yum install subversion      从镜像下载安装svn服务器端中间会提示是否ok,输入y,确认安装成功提示:.....complete!依次执行如下命令:cd /usr/local/              //进入目录,准备创建svn目录 mkdir svnRepo                   //创建一个svn目录 chmod -R 777 svnRepo            //修改目