linux上搭建的svn服务器和windows客户端不在同一网段,因此,客户端无法访问服务器。
目前linux系统基本都已经内置了svn,可以直接用命令行模式操作。直接命令行试试svn --version就知道有没有内置svn,如果没有的话到官网下载linux版svn安装包。目前linux系统基本都已经内置了svn,可以直接用命令行模式操作。直接命令行试试svn --version就知道有没有内置svn,如果没有的话到官网下载linux版svn安装包。
客户端首先是要checkout,这个操作没错,但url怎么写要看你的SVN服务器是怎么搭建了,有用svn协议的(url以svn打头+://),有用http或https协议的(url以http或https打头+://),后面的地址通常是:服务器主机地址+冒号+版本库路径,这个具体要看你的SVN配置文件才好确定
你是否有上网权限,网络虽然是通的,有没有经过认证呢?虚拟机要单独认证;
确定网络没有问题,再check源,cat /etc/yumreposd/CentOS-Baserepo(或者类似的包含Base的名字)在[base]下gpgcheck=1,不能是0;
如果你没有网从安装盘上安装,mount -o loop -t iso9660 /opt/iso(这个是你镜像文件的位置) /mount/cdrom(确保这个路径存在且可用)
cat cat /etc/yumreposd/CentOS-Mediarepo(或者类似的包含Base的名字)
[c6-cdrom]标签下 gpgcheck=1
暂时想到这些,有问题再找我,and 确定你的网是通的哈
在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
代码库创建
SVN软件安装完成后还需要建立SVN库
[root@Linux modules]# mkdir -p /opt/svn/repo
[root@Linux modules]# svnadmin create /opt/svn/repo
执行上面的命令后,自动建立repo测试库,查看/opt/svn/repo 文件夹发现包含了conf, db,format,hooks, locks, READMEtxt等文件,说明一个SVN库已经建立。
配置SVN代码库
进入上面生成的文件夹conf下,进行配置
[root@Linux modules]# cd /opt/svn/repo/conf
用户密码passwd配置
[root@Linux password]# cd /opt/svn/repos/conf
[root@Linux conf]# vim passwd
修改passwd为以下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
root=raykaeso
用户名=密码
这样我们就建立了root用户, raykaeso密码
以上语句都必须顶格写, 左侧不能留空格, 否则会出错
权限控制authz配置
[root@Linux conf]# vi + authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
#设置[/]代表根目录下所有的资源
[/] 或者写成[repl:/]
root= rw
意思是root用户对repo测试库下所有的目录有读写权限,当然也可以限定。
如果是自己用,就直接是读写吧。
以上语句都必须顶格写, 左侧不能留空格, 否则会出错
服务svnserveconf配置
[root@Linux conf]# vim svnserveconf
追加以下内容:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repositories
以上语句都必须顶格写, 左侧不能留空格, 否则会出错
配置防火墙,SVN端口为3690
[root@Linux conf]# vi /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT
保存后重启防火墙
[root@Linux conf]# service iptables restart
启动SVN
svnserve -d -r /opt/svn/repo
启动SVN服务
svnserve -d -r /opt/svn/
注意:如果在一台服务器上同时启动多个版本管理,那么启动路径必须是所有项目仓库的根路径:比如
/opt/svn/project1 /opt/svn/project2 ——————-> /opt/svn/
参考:CentOS 62 SVN搭建 (YUM安装)-http://wwwleixuesongcn/226
如果要自己架设服务器的话,我自己架设过,具体思路是将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服务器这个就不用细讲了吧?
0条评论