怎样搭建本地svn服务器环境

怎样搭建本地svn服务器环境,第1张

1、通常的SVN服务器是搭建在Linux等系统下,例如用Apache+SVN配置,Linux下的SVN性能会非常好,但配置有些繁琐,如果SVN服务器只有自己使用,那么可以直接把SVN服务器搭建在个人Windows环境下使用。

2、目前较为简单的方案是VisualSVN Server。该SVN服务器是免费的,支持Windows NT, 2000, XP and 2003等环境,安装非常简单。

3、安装的时候可以选择SVN走http协议还是https协议,http协议速度快一些,而https协议安全性好。两者均可以从浏览器直接访问SVN项目。

4、安装完成后打开,可以看到一个微软的MMS管理界面,在里面可以轻松添加设置项目。用户权限可以使用Windows的用户,也可以单独新建用户。如果原先有一个SVN数据,则可以在界面上导入原有的SVN数据。

SVN是程序员常用的一款软件,它可以很好的帮助程序员进行版本控制以及代码管理,通常的SVN服务器是搭建在Linux等系统下进行的。但是今天小编分享一种在win7操作系统使用Subversion搭建SVN服务器的方法,而且设置方法也比较简单,感兴趣或有需要的用户可以一起参考下面教程进行设置体验。

具体方法如下:

1、首先来下载和搭建SVN服务器,进入网址后;

2、点开上面红色框标记的VisualSVN连接,下载VisualSVNserver,下载完成后双击安装;

3、点击Next下一步;

4、然后再点击Next项,下一步;

5、选择“标准版本”,点击Next如下;

6、选择安装路径,服务器端文件存放位置,默认端口号(Location是指VisualSVNServer的安装目录,Repositorys是指定你的版本库目录ServerPort指定一个端口,Usesecureconnection勾山表示使用安全连接),点击Next,进入下一步;

7、准备安装,点击Install,进入下一步;

8、等待安装;

9、完成后,点击next,进入下一步;

10、点击Finish即可完成安装。安装完成后,启动VisualSVNServerManage;

11、可以在窗口的右边看到版本库的一些信息,比如状态,日志,用户认证,版本库等要建立版本库,需要右键单击左边窗口的Repositores;

12、在弹出的右键菜单中选择CreateNewRepository或者新建-Repository;

13、键入对象库名称后,进入下一步;

14、选择”空的对象库“,进入下一步;

15、设置对象库的权限,点击create;

16、点击Finish即可完成基本创建。

上述就是win7系统使用Subversion搭建SVN服务器的方法,有需要的用户可以掌握。

怎么改svn的登陆账号?

svn使用的比较广泛,平时用来更新或者是提交代码,刚登陆svn账号的时候。那么记住密码之后的svn账号,要切好到另外一个svn账号,要如何切换呢?

1第一次登陆svn账号的时候,为了方便下次使用,一般都是记住账号密码的了。

2若是要将当前的svn账号切换到另外一个svn账号:在空白的地方右击,然后将鼠标放在‘TortoiseSVN’上面,在出现的子菜单中选择‘设置’。

3在设置窗口中的左侧找到‘已保存的数据’并点击它,然后将右侧的所有‘清除’都点击一遍。

4、然后点击保存。这个时候,再次右击,然后选择‘svn更新’或‘svn提交’的时候,它就会要求你重新输入账号和密码了,这个时候,你就可以输入你要切换到的账号和密码了,然后点击‘确定’即可。

SVN命令行怎么用?

你在命令行只输入了svn的地址,这样是连接不上的。

你需要一个支持svn的软件,比如eclipse。

在命令行的话,用下面的命令,前提是你安装了svn命令。

看看这个吧

SVN使用指引(本地服务器为Linux)-腾讯开放平台

你在Linux系统中输入

ps aux | grep svnserve

查看一下有没有启动svnserve服务,如果有

再试一下svnserve -d -r SVN_ROOT_PAH --listen-host 1921681126 ,这个SVN_ROOT_PATH是你Linux下的版本库目录,并设定该目录为基准目录。

这样你再试一下应该就OK了。

在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了然而在linux上搭建SVN却非常繁琐,这篇文章就来一步一步教您如何在Centos上搭建SVN

源码目录:/home/user/project

工程名:project

工程目录:/source/svn/project

访问地址:svn://ip/project

一、 安装svn

yum install subversion

二、 svn服务器配置

1 创建svn根目录

mkdir /source/svn

2 添加工程

svnadmin create /source/svn/project

3 导入工程初始文件(可省)

svn import /home/user/project/ file:///source/svn/project -m "init project"

4 配置工程用户

进入工程的配置目录:

cd /source/svn/project/conf

下面一共三个文件:authz passwd svnserveconf

passwd: 里面保存用户信息,基本格式为:user = passwd

authz: 里面保存用户的分组信息,以及每个组的访问权限

svnserveconf: 里面保存服务器的基本配置(下面介绍)

针对该例子的配置如下:

41 passwd里面添加用户

[users]

pm = pm123

42 authz配置用户权限

复制代码

[grouPS]

#添加一个分组(实际当中可以添加多个,每个组可以有多个用户以,隔开)

pm_g = pm

# 该项目的权限配置

[project:/]

# pm_g分组配置读写权限(实际中可以增加只读分组)

@pm_g = rw

43 svnserveconf配置(可默认)

# 匿名用户权限(none:拒绝, write:读写, read:只读权限)

anon-access = none

# 鉴权用户访问

auth-access = write

# 用户信息配置文件(也可以是绝对路径)

password-db = passwd

# 权限配置文件

authz-db = /source/svn/project/conf/authz

三、 启动svn服务器

svnserve -d -r /source/svn

四、 拉取代码

svn co svn://ip/project

1环境

centos64

2安装svn

代码如下:

yum -y install subversion

3配置

建立版本库目录

代码如下:

mkdir /www/svndata

svnserve -d -r /www/svndata

4建立版本库

创建一个新的Subversion项目

代码如下:

svnadmin create /var/www/svndata/njlrxx

配置允许用户jiqing访问

代码如下:

cd /var/www/svndata/njlrxx/conf

vi svnserveconf

anon-access=none

auth-access=write

password-db=passwd

注:修改的文件前面不能有空格,否则启动svn server出错

代码如下:

vi passwd

[users]

#用户1 = 密码1

#用户2 = 密码2

jiqing=123456

5客户端连接

代码如下:

svn co svn://ip/njlrxx

用户名:jiqing

密码:123456

6实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中

(1)设置WEB服务器根目录为/var/www/webroot

(2)checkout一份SVN

代码如下:

svn co svn://localhost/njlrxx /var/www/webroot/njlrxx

修改权限为WEB用户

代码如下:

chown -R apache:apache /var/www/webroot/njlrxx

(3)建立同步脚本

代码如下:

cd /var/www/svndata/njlrxx/hooks/

cp post-committmpl post-commit

编辑post-commit,在文件最后添加以下内容

代码如下:

REPOS="$1"

REV="$2"

BASEPATH=/var/www/webroot/njlrxx

WEBPATH="$BASEPATH/"

export LANG=zh_CNUTF-8

svn update $WEBPATH --username jiqing --password 123456 --no-auth-cache

增加脚本执行权限

代码如下:

chmod +x post-commit

最后操作是关闭服务然再打开服务:

svn服务的关闭:

代码如下:

killall svnserve

svn开启:

代码如下:

svnserve -d -r /var/www/svndata

7如何支持匿名用户访问

方法一:

在svn安装目录下找到,conf/httpdconf文件,如果是手动集成apache的则找到apache的配置文件。

找到中的

代码如下:

Require valid-user

改为

代码如下:

LimitExcept GET PROPFIND OPTIONS REPORT

Require valid-user

/LimitExcept

重启服务,这样设置以后,svn下的所有内容都不在需要验证用户,可以直接访问。

缺点:svn自身的访问权限设置失效了。更多的时候我们希望用户先用匿名方式尝试访问,如果不行,在输入用户名和密码验证访问。

方法二:

在配置文件中加入

代码如下:

Satisfy Any

加入了Satisfy Any的设置,其表示在同时启用了Allow(允许)和Require的情况下,指定相关策略的,一共有两个备选值,All表示用户必须同时满足Allow和Require的条件,而Any则是满足其中之一即可。

Satisfy Any表示允许先用匿名方式尝试访问,并根据svnauthz对匿名用户的控制给予访问权限。

PS:SVN自动同步程序执行流程:

1、用户提交文件到SVN服务器,提交操作成功后触发post-commit脚本

2、在post-commit版本文件中使用php_scriptphp执行PHP脚本

3、在PHP脚本中通过exec系统调用更新服务器上的版本库工作副本

4、根据更新操作结果日志,对另一个SVN版本库进行对应的操作处理

1 安装SVN服务器:

检查是否已安装

# rpm -qa subversion

安装SVN服务器

# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql

验证安装

# cd /etc/httpd/modules

# ls | grep svn

mod_authz_svnso

mod_dav_svnso

查看版本

# svnserve --version

2 代码库创建:

安装完成后要建立SVN库

# mkdir -p /opt/svn/repositories

# svnadmin create /opt/svn/repositories

执行后,自动建立repositories库,查看/opt/svn/repositories文件夹包含了conf,db,format,hooks,locks,READMEtxt等文件,说明一个SVN库已经建立。

3 配置版本库:

进入上面conf文件夹下,进行配置:

a 用户密码passwd配置:

# vi + passwd //+表示光标放在文件最低端

修改passwd为一下内容:

[users]

# harry = harryssecret

# sally = sallyssecret

zhoulf=123456

b 权限控制authz配置:

# vi + authz

设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

[/]

zhoulf=rw //给该用户访问所有库的权限

[repositories:/project] //repository库的根目录权限

zhoulf=rw

/ 表示根目录及以下,根目录是svnserve启动时指定的,我们指定的是/opt/svn;/ 就是指对全部版本库都具有权限

repositories:/ 表示对库repositories的根目录设置权限

PS:

权限配置文件中出现的用户名必须已在用户配置文件中定义。

对权限配置文件的修改立即生效,不必重启svn。

c 服务svnservecon配置:

# vi + svnserveconf

添加一下内容:

[general]

#匿名访问的权限,可以是read,write,none,默认为read

anon-access=none

#使授权用户有写权限

auth-access=write

#密码数据库的路径

password-db=passwd

#访问控制文件

authz-db=authz

#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字

realm=/opt/svn/repositories

这里注意各标签不能错,也不能有重复,不然无法连接。

d 配置防火墙端口(如果需要):

不一定每个人都需要设置,可以先测试后再看是否需要打开端口

# vi /etc/sysconfig/iptables

添加一下内容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

保存后重启防火墙

# service iptables restart

4 查看:

a 启动SVN

# svnserve -d -r /opt/svn/repositories

b 查看SVN进程

# ps -ef|grep svn|grep -v grep

root 12538 1 0 14:40 00:00:00 svnserve -d -r /opt/svn/repositories

c 检测SVN端口

# netstat -ln |grep 3690

tcp 0 0 0000:3690 0000: LISTEN

5 停止重启SVN:

# killall svnserve //停止

# svnserve -d -r /opt/svn/repositories // 启动

6 测试连接:

使用TortoiseSVN进行测试:

1 SVN服务启动后,需要使用客户端测试连接:

    客户端连接地址:svn://19216815231;然后,输入用户名密码;

2 新建一个文件夹,即本地的库文件夹,右键checkout,将会得到一个隐藏文件夹svn;

3 在此文件夹中放入项目内容,然后右键点击commit,就可以上传本地项目了。

如果要自己架设服务器的话,我自己架设过,具体思路是将SVN服务器先架设在局域网上,然后通过路由器的映射将其端口开放给互联网访问。为了解决ADSL线路每次重新连接时随机分配IP地址的问题,我们还需要申请一个免费域名。

下面是我的架设方法,首先你需要具备这些条件:

1、路由器1台,应有端口映射(转发规则-虚拟服务器)功能,最好有内置的花生壳动态DNS功能(否则就需要另外安装花生壳软件)。

2、SVN服务器一台

3、ADSL或其他通往互联网的网络线路

然后需要做以下事情:

1、架设好SVN服务器,保证内网访问畅通。

2、申请免费域名

登录花生壳网站(wwworaynet),免费注册用户,可得到一个免费域名,如“abcdegicpnet”此域名可长期使用;

3、登录路由器管理页面

通常是访问地址http://19216811,用户名和密码根据设定输入,各型号路由器的访问方式可能略有不同,可参考说明书进行操作。

4、设置动态域名

如果路由器内置了花生壳动态DNS功能,则可通过路由器直接设置。以TL-WR340G 54M型号的无线路由器为例,在“动态DNS”页面,选择服务提供者为花生壳,输入在花生壳注册的用户名和密码,然后点击登录。

如果路由器没有内置的花生壳动态DNS功能,则需要在花生壳网站下载花生壳客户端软件,安装(可不必安装附带的“向日葵”组件)后使用前面申请的花生壳帐户名和密码进行登录,登录后即可使用免费域名。

5、设置端口映射

仍以TL-WR340G 54M型号的无线路由器为例,在“转发规则-虚拟服务器”页面点击“添加新条目”,在新条目的页面中,设置端口号为项目组SVN服务器的访问端口号,设置IP地址为该路由器分配给项目组SVN服务器的内网IP地址,状态为“生效”,然后保存。

然后你就可以在互联网上通过你申请的免费域名(如“abcdegicpnet”)代替IP地址来访问SVN服务器了。

至于如何架设基于Apache的SVN服务器这个就不用细讲了吧?

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎样搭建本地svn服务器环境

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情