SVN学习笔记

简介:

前言:

   svn目前是比较流行的文件版本配置工具,对于开发,运维,测试都很有帮助,是技术人员必须要掌握的软件工具之一,下面就svn安装配置和使用,记录下学习过程。

一 安装包文件

需要准备下面安装包,如果不准备,可以使用yum源安装,下面我使用源码编译安装

apr-1.5.2.tar.gz

apr-util-1.5.4.tar.gz

httpd-2.4.23.tar.gz

subversion-1.9.4.tar.gz

1.1 安装apr

tar -xvzf apr-1.5.2.tar.gz

cd apr-1.5.2

./configure --prefix=/opt/apr

make

make install

1.2 安装apr-util

tar -xzvf apr-util-1.5.4.tar.gz

cd apr-util-1.5.4

./configure --prefix=/opt/apr-util --with-apr=/opt/apr

make

make install

1.3 安装httpd

tar -xvzf httpd-2.4.23.tar.gz

cd httpd-2.4.23

./configure --prefix=/opt/apache2.4.23 --enable-dav --enable-so --with-apr=/opt/apr --with-apr-util=/opt/apr-util

make

make install

1.4 安装subversion

tar -xzvf subversion-1.9.4.tar.gz

cd subversion-1.9.4

./configure --prefix=/opt/subversion --with-apr-util=/opt/apr-util --with-apxs=/opt/apache2.4.23/bin/apxs

make

make install

二 修改配置信息

2.1 创建用户svn

useradd svn

2.2 修改httpd配置

vi /opt/apache2.4.23/conf/httpd.conf

User svn

Group svn

# svn config

Include conf/extra/httpd-svn.conf

2.3 修改httpd-svn.conf配置文件

修改httpd的svn配置信息,增加下面模块和配置,一遍用于启动http管理svn

[root@localhost svn]# cat /opt/apache2.4.23/conf/extra/httpd-svn.conf

LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

<Location /svn>

DAV svn

SVNParentPath /datasvn

AuthType Basic

AuthName "Subversion repository"

AuthUserFile /opt/subversion/conf/auth.conf

#指定的是SVN访问帐号文件

Require valid-user

AuthzSVNAccessFile /opt/subversion/conf/svnaccess.conf

#指定的是SVN的访问控制文件

</Location>

2.4 创建用户

[root@localhost svn]# /opt/apache2.4.23/bin/htpasswd -m /opt/subversion/conf/auth.conf zhangsan

New password:

Re-type new password:

Adding password for user zhangsan

[root@localhost svn

2.5 创建版本库

mkdir /datasvn

mkdir /datasvn/test

/opt/subversion/bin/svnadmin create /datasvn/test

chown svn /datasvn/ -R

2.6 配置客户端访问

启动命令:

/opt/subversion/bin/svnserve -d -r /datasvn --log-file /svn/svn1.log

2.7 配置权限文件

[root@localhost svn]# cat /opt/subversion/conf/svnaccess.conf

[groups]

dev=chenwei

[/]

@dev=rw

[root@localhost svn]#

2.8 启动服务

  /opt/apache2.4.23/bin/apachectl start

三 测试

  访问地址:http://192.168.100.253/svn/test

  clip_image001[1]

四 实际案例

  下面部门员工能够读写访问自己部门文件夹和只读公共目录

  • 技术部 ---》 ITIL it001 it002

  • 市场部 -----> market mak001 mak002

  • 销售部 ---》 sales sales001 sales002

  • 公共目录 ---》 common

4.1 svn配置

/opt/subversion/bin/svnadmin create /datasvn/ITIL

/opt/subversion/bin/svnadmin create /datasvn/market

/opt/subversion/bin/svnadmin create /datasvn/saltes

/opt/subversion/bin/svnadmin create /datasvn/common

授予相应的目录权限

chown -R svn /datasvn/*



4.2添加用户

/opt/apache2.4.23/bin/htpasswd -mb /opt/subversion/conf/auth.conf it001 it001

/opt/apache2.4.23/bin/htpasswd -mb /opt/subversion/conf/auth.conf it002 it002

/opt/apache2.4.23/bin/htpasswd -mb /opt/subversion/conf/auth.conf mak001 mak001

/opt/apache2.4.23/bin/htpasswd -mb /opt/subversion/conf/auth.conf mak002 mak002

/opt/apache2.4.23/bin/htpasswd -mb /opt/subversion/conf/auth.conf sales001 sales001

/opt/apache2.4.23/bin/htpasswd -mb /opt/subversion/conf/auth.conf sales002 sales002

检查是否已经添加成功:

[root@localhost datasvn]# cat /opt/subversion/conf/auth.conf

chenwei:$apr1$RccWqRlt$bEgPhHOUIpUJ6C03bnikQ0

zhangsan:$apr1$1oEk5gdL$qgjG9dSdY9vglbroGzPjZ.

it001:$apr1$qLwiTGsS$DD4c12k34YNR.QjeqqeEO/

it002:$apr1$3ipOmpPM$noAfmlxHeWwx5/m5u19ij0

mak001:$apr1$O9oQAJYr$.oAMEFZ/PcHhYgYjGi.Ya1

mak002:$apr1$/gVAHKsB$qkRd25cPOs.3LvA0RW6iA0

sales001:$apr1$o6OW/xtG$0O2uKG8OHGk9QNdK0bmlp0

sales002:$apr1$8eiO7rdV$dViqMIXfNOswszyJpZgZY.

上传文件到svn目录中


4.4 设置访问权限

  定义权限,设置组,用户,写,读权限

[root@localhost conf]# cat /opt/subversion/conf/svnaccess.conf 

[groups]

dev=chenwei

itil=it001,it002

market=mak001,mak002

sales=sales001,sales002

common=itil,market,sales


[/]

@dev=rw


[ITIL:/]

@itil=rw


[market:/]

@market=rw


[sales:/]

@sales=rw


[common:/]

*=r

[root@localhost conf]# 

4.5 验证

浏览器验证:

clip_image002[1]

市场部是无法访问的:

clip_image003[1]



本文转自 woshiwei201 51CTO博客,原文链接:http://blog.51cto.com/chenwei/1958398

相关文章
|
Android开发 开发者
SUV的配置及使用(配置SVN客户端)|学习笔记
快速学习SUV的配置及使用(配置SVN客户端)
SUV的配置及使用(配置SVN客户端)|学习笔记
|
网络安全 数据安全/隐私保护 开发者
SUV的配置及使用(搭建SVN服务器端)|学习笔记
快速学习SUV的配置及使用(搭建SVN服务器端)
130 0
|
Android开发 开发者
SUV的配置及使用(配置SVN客户端)|学习笔记
快速学习SUV的配置及使用(配置SVN客户端)
SUV的配置及使用(配置SVN客户端)|学习笔记
|
网络安全 数据安全/隐私保护 开发者
SUV的配置及使用(搭建SVN服务器端)|学习笔记
快速学习SUV的配置及使用(搭建SVN服务器端)
|
Java jenkins 测试技术
Jenkins +svn(学习笔记三十)
Jenkins + SVN 持续集成  无事在家,闲得发慌,上周六面试华为的配置管理工程师,让我明白了在社会大行业里配置管理其实是个更为专业的岗位,涉及到软件开发的各个流程,数据的产生,规范的定义,代码的持续集成,基线管理,当然也涉及到供应链的一些东西,在工作中发现问题,解决问题,推动一些流程规范的制订,对流程中出现的问题进行修正等等。
2270 0
|
jenkins Linux 持续交付
Jenkins Linux安装SVN的安装(学习笔记二)
1.        安装SVN  yum install -y subversion 2.       新建一个目录用于存储SVN所有文件 mkdir /svndir 3.
1068 0
|
jenkins Linux 持续交付
Jenkins Linux下SVN的常用语法(学习笔记三)
SVN软件版本管理  1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.
1110 0