SVN学习笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
[[email protected] 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 创建用户
[[email protected] 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
[[email protected] 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 配置权限文件
[[email protected] svn]# cat /opt/subversion/conf/svnaccess.conf
[groups]
dev=chenwei
[/]
@dev=rw
[[email protected] svn]#
2.8 启动服务
/opt/apache2.4.23/bin/apachectl start
三 测试
访问地址:http://192.168.100.253/svn/test
四 实际案例
下面部门员工能够读写访问自己部门文件夹和只读公共目录
技术部 ---》 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
检查是否已经添加成功:
[[email protected] 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.3 验证
浏览器验证:
市场部是无法访问的:
以上是关于SVN学习笔记的主要内容,如果未能解决你的问题,请参考以下文章