linux环境svn服务端及windows环境客户端安装配置

服务端

linux系统具体版本为centos7。

安装前准备工作

首先,检查当前服务器中是否已经安装了svn,使用命令:find / -name ‘subversion’,如果有安装的话,会出现目录列表。
在这里插入图片描述
其次,确认svn的默认端口号3690是否开放(可以在Windows cmd命令窗口ping linux系统的ip进行测试)。如果没有开放,简单的方案是直接关闭防火墙:service firewalld stop,如果不想关闭防火墙,而是只开放端口,进行下列操作:

  1. 开放端口,修改:/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
  2. 保存修改: /etc/init.d/iptables save
  3. 重启防火墙:service firewalld restart

接下来,使用ps -ef|grep svnserve检查是否绑定了svn根目录路径。

root     19311     1  0 Jun28 ?        00:00:00 svnserve -d -r /usr/local/src/svn/svndata/
root     25221 25129  0 10:26 pts/0    00:00:00 grep --color=auto svnserve

如果查看到上面的结果,使用kill -9 19311杀掉该进程(19311是上面查询到的svn根目录进程id)。

安装、配置

进行完上述步骤,可以确认linux服务器中未安装svn,端口可以被外部访问到,并且可以创建新的svn版本库根目录。
使用yum -y install subversion即可安装。

创建仓库

  1. mkdir -p /usr/local/src/svn/data:创建svn数据存储根目录(目录根据自己的使用习惯选择)
  2. mkdir -p /usr/local/src/svn/users:创建svn用户、密码、权限信息存储根目录
  3. svnserve -d -r /usr/local/src/svn/data/:启动svn服务,需要指定svn根目录
  4. ps -ef|grep svn:查看服务是否启动成功

创建项目版本库

svnadmin create /usr/local/src/svn/data/mutest,创建一个名称为"mutest"的项目。
创建完成后,使用tree /usr/local/src/svn/data命令查看svn目录结构(如果没有tree命令,使用yum -y install tree安装即可)
在这里插入图片描述

修改配置

conf是存放svn配置文件的目录,执行下列操作:

  1. cp svnserve.conf svnserve.conf_back:将原配置文件备份(这是应养成的一个良好习惯,修改文件前先备份,以便对比和恢复)
  2. vim svnserve.conf修改配置文件

在这里插入图片描述

取消19行的注释,并修改为none,表示不允许匿名访问
取消20行注释
取消27行注释,指定统一密码数据库(统一管理,不再每个版本库保留自己的密码库)
取消34行注释,同上

cp passwd authz /usr/local/src/svn/svnpasswd/:将修改后的配置文件复制到指定目录

创建用户

  1. cd /usr/local/src/svn/users,进入用户配置文件所在目录
  2. vim passwd:编辑文件

在这里插入图片描述

赋予权限

vim /usr/local/src/svn/users/authz,编辑权限配置文件,写入用户名和其对应的权限:

[mutest:/]
harry = rw

[mutest:/]这行代表版本库的权限目录

客户端

连接服务端

进入TortoiseSVN官网下载安装TortoiseSVN,安装步骤很简单。
安装完成后,选择一个目录创建一个名为svn的文件夹。在文件上右键选择TortoiseSVN—Import,弹出下窗口:
在这里插入图片描述
在这里插入图片描述
输出正确的用户名和密码后,连接成功。

下载项目

在电脑任意位置建立一个文件夹,右键:svn checkout…,弹出下面的界面:
在这里插入图片描述
点击OK,便开始从svn服务器下载文件。后面使用SVN Update可以更新本地文件夹,SVN Commit可以提交本地文件到服务端。

1、 到svn官方网站http://subversion.trigris.org/下载服务器安装svn-win32-1.6.1.zip,将该压缩包解压到D:\subversion目录下,出现D:\subversion\bin。建立D:\svn,在命令行该目录(D:\subversion\bin\)下输入svnadmin create D:/svn/repos1,如果创建成功,D:\svn下将会多一个repos1目录。 2、 让svnservice服务随Windows系统一起启动,在命令行下输入:sc create svnservice binPath= "\"D:\subversion\bin\svnserve.exe\" --service -r D:\svn" start= auto 3、 权限配置: 在进行权限配置前,所有的用户都能进行任何操作,在很多情况下是不允许的。在创建仓库时,仓库目录(如:D:\svn\repos1)下都会生成好几个文件夹,其中conf里面存储的是配置信息,包括三个文件: authz:访问权限配置 passwd:用户名和密码配置 svnserve.conf:基本配置信息 ⑴先配置svnserve.conf,将里面几项配置前的注释去掉,最后的内容如下: [general] #anon-access = read #auth-access = write password-db = passwd authz-db = authz 这些参数的含义文件里都有详细说明,其中,anon-access和auth-access分别是对匿名用户以及认证用户的访问控制,password- db指明用户密码文件路径,authz-db指明权限配置文件路径。另外还有一个参数realm用于指明仓库所属的认证域,默认情况下每个仓库位于不同的域(每个仓库有一个唯一的uuid),因此我们可以不设置该项,除非多个仓库需要共用同一份passwd配置。 ⑵passwd文件的配置很简单,格式如下(等号前面为用户名,后面为密码): [users] #harry = 123 #sally = 123 sunxiaoyong = 11111111[A1] ⑶authz则可以创建用户组并精确配置某个用户用户组对某个文件或目录的访问权限,下面是一个例子: [groups] #harry_and_sally = harry,sally [/] sunxiaoyong = rw * = r[A2] #[/project1] #* = #harry = rw #sally = r #[/project1/foo] #sally = #[/project2] #@harry_and_sally = rw #guest = r 文件内容其实很简单易懂,groups用于定义用户组,后面便是对资源的具体访问控制,/表示仓库根目录,*表示所有用户用户组前面需加上@符号,r表示可读,w表示可写,等号右边为空则表示没有权限。注意对于目录结构,当用户访问某个资源时,SVN会先看有没有直接针对该资源的访问控制,如果没有找到,则会继承上一级目录的访问权限,如此递推。 补充再提一点,当我们有多个仓库时,我们会发现这些仓库的用户帐号在大多数情况下都是相同的,因此,我们可以将passwd文件放到公共的地方,然后将所有仓库的password-db配置都指向该文件。相应的,authz-db也可以共用一个文件,不过需要在配置具体的访问控制时指明所属的仓库,如下: [/] * = r [repos1:/project1] * = r harry = rw [repos2:/project1] * = r sally = rw 上述配置表明,所有人对所有仓库的根目录都有读权限,但只有harry对仓库repos1里的project1有读写权限,只有sally对仓库repos2里的project1有读写权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云深i不知处

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值