前言:
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
四 实际案例
下面部门员工能够读写访问自己部门文件夹和只读公共目录
技术部 ---》 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 验证
浏览器验证:
市场部是无法访问的:
本文转自 woshiwei201 51CTO博客,原文链接:http://blog.51cto.com/chenwei/1958398