请问下svn怎样配置能够连接到阿里云的服务器(已经有阿里云提供的IP和账户),进行代码版本控制?
1:安装svn
apt-get install subversion
2 开启svn服务器
svnserve -d
检查是否开启:ps aux | grep svnserve
若出现如下内容:
wkr 6537 00 00 13784 956 Ss 16:18 0:00 svnserve -d
wkr 7593 00 00 5784 864 pts/0 S+ 21:57 0:00 grep –color=auto svnserve
表示服务已开启。(注意:一定要有第1行,只有第2行说明服务未启动)
停止svn服务: killall svnserve
3 建立仓库
svnadmin create /home/svnrepos
理论上,仓库可以建立在任何目录中。
注意:重启svnserve 执行 svnserve -d -r /home
这样在eclipse客户端把工程导入svn的时候 url需要填写
svn://ip/svnrepos/project_name
如果启动的时候带如下参数:svnserve -d -r /home/svnrepos
客户端:svn://ip/project_name 这样子会报错。验证失败
4 修改配置文件
编辑 svnserveconf
vi /home/svnrepos/conf/svnserveconf
把anon-access = read 改为 none,auth_access = write
password-db = passwd authz-db = authz 的注释去掉,还有[general]的注释也要去掉(这个默认没有注释)。
注:当你去掉注释的时候,不要简单的把前面的#去掉,要把前面的空格一块去掉,不然在Eclipse中使用的时候会出现配置文件格式错误的问题。
注意:如果authz-db = authz 这个注释掉了,则不需要配置/home/svnrepos/conf/authz
5 修改帐户文件
vi /home/svnrepos/conf/passwd
### This file is an example password file for svnserve
### Its format is similar to that of svnserveconf As shown in the
### example below it contains one section labelled [users]
### The name and password for each user follow, one account per line
[users]
# harry = harryssecret
# sally = sallyssecret
user1 = pass1 # 输入你定义的用户名和密码,密码显然没有加密
6 修改授权文件
gedit /home/svnrepos/conf/authz
修改或者输入下面2行:
[svnrepos:/] ##格式为 版本库名称 + :/
user1 = rw
其中,repos1是仓库名称,user1是用户名,rw代表读写。
7客户端连接
svn co svn://ip/oplinux
用户名密码:rsync
8实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中
1)设置WEB服务器根目录为/alidata/www/webroot
2)checkout一份SVN
svn co svn://localhost/alidata/www/svndata/myproject /alidata/www/webroot
修改权限为WEB用户
chown -R www:www /alidata/www/webroot/myproject
3)建立同步脚本
cd /alidata/www/svndata/oplinux/hooks/
cp post-committmpl post-commit
编辑post-commit,在文件最后添加以下内容
export LANG=en_USUTF-8
SVN=/usr/bin/svn
WEB=/alidata/www/webroot/
$SVN update $WEB –username myname –password myname
chown -R www:www $WEB
增加脚本执行权限
chmod +x post-commit
这样,我们上传svn后,生产站点就能立马显示出来了,自动化程度高了很多。
***虚拟专用网络就是一种虚拟出来的企业内部专用线路、这条隧道可以对数据进行几倍加密达到安全使用互联网的目的。此项技术已被广泛使用、虚拟专用网可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网。
打开服务器管理器--添加角色
在“服务器角色”页面,选择安装“网络策略和访问服务”以及“远程访问”两项角色。如果不配置策略,可以只勾选远程访问
“网络策略服务器”主要用于对远程 *** 访问的拨入权限进行高级管理,如果不需要维护分组用户的访问权限,也可以直接在 AD 的用户管理中单独配置拨入权限。可以不勾选。
在“远程访问”的角色服务配置页面,选择安装“DirectAccess 和 ***(RAS)”以及“路由”功能。这里的“DirectAccess 和 ***(RAS)”服务用于支持从客户端建立到服务器的访问连接,“路由”服务则提供地址转换以及数据路由的相关功能。
默认添加IIS
具体可以参考网页链接
这个事情分成两步:
1、架设SVN服务器
2、开通外网访问
对于第一步,网上有很多的文档了,在我的百度文库里也有两篇SVN服务器的架设指导,建议安装Collabnet Subversion Edge版SVN服务器,安装配置很简单,基本装好就能用。
对于第二步,至少有两种方案:
1、架设***,外网通过***连入内网后,就和在内网完全一样了;
2、在公司的路由器上做个端口映射,将SVN服务器的访问端口(如Collabnet Subversion Edge版SVN服务器采用的是http协议,默认是80端口)映射到公司外网IP的相应端口上,这样访问公司外网IP+SVN服务端口,就等于访问公司SVN服务器。
第二步的两种方案虽然也不复杂,网上也能找到很多文档参考,但还是建议你找网络专业人员帮你配置吧。
一,安装svn服务器
在Linux中安装了服务端,
$ yum install subversion
二,在Windows中安装客户端(TortoiseSVN-19427285-x64-svn-194msi)
三,基本的SVN服务器配置
1,新建一个目录用于存储SVN所有文件
$ mkdir /svn
2,新建一个版本仓库$ svnadmin create /svn/project
3,添加用户
要添加SVN用户非常简单,只需在/svn/project/conf/passwd文件添加一个形如“username=password”的 账号为username和密码为password
[users]
mysj = mysj
test = test
5,修改用户访问策略
/svn/project/conf/authz记录用户的访问策略,以下是参考:
[groups]
admin=mysj //将用户进行分组
user=test
[project:/] //进行授权
@admin = rw //r表示读,w表示写
@user = r
=
6,修改svnserveconf文件,让用户和策略配置升效
svnserveconf内容如下:
此处切记要注意空格,不然会导致svn配置不成功
[general]
anon-access = none
auth-access = write
password-db = /svn/project/conf/passwd
authz-db = /svn/project/conf/authz
7,启动服务器
# svnserve -d -r /svn
注意:如果修改了svn配置,需要重启svn服务,步骤如下:
$ ps -aux|grep svnserve
$ kill -9 ID号 杀死服务
$ svnserve -d -r /svn
四,在Windows系统中检出svn的文件,此时的地址也应该为 svn://Linux的ip地址/project/文件夹名(你自己创建的)。
SVN分客户端和服务器端,如果已经有SVN服务器了(比如公司已经架设了SVN服务器),那么你电脑上只要装客户端就可以了,最常用的客户端是TortoiseSVN,另外也有用于Eclipse的SVN插件,看你平时用SVN来做什么了。
如果没有服务器端,那就要自己架设SVN服务器,那么你的电脑上就客户端、服务器端都要安装,服务器端推荐Collabnet 的SVN Edge版服务器安装包,相对而言安装配置比较简单,自带服务器管理控制台,而且免费。
看我的百度文库,有SVN服务器架设与SVN使用相关的文档。
0条评论