svn详解
=====================================================
前言:献给初学运维的朋友,大家一同进步是我最大的愿望。第一次写博客欢迎大家拍砖。:)
svn的作用:是指版本服务器,可以在apache下配置。支付远程访问(外网访问),支持加密传输。远程访问对于不能集中开发的团队来说很重要,随时保持版本同步。
Subversion+apache 安装
一、http+svn
1.安装apache subversion
yum install httpd
yum install httpd-devel //用于开发Apache模块
yum install subversion
yum install mod_dav_svn //Subversion与Apache之间的接口(通过它,Apache就可以访问版本库,可以让客户端也使用HTTP的扩展协议 WebDAV/DeltaV进行访问)
2.验证svn模块(mod_dav_svn)
查看是否正确安装:是否输出
#ls /etc/httpd/modules | grep svn
mod_authz_svn.so
mod_dav_svn.so
#svn --version
3.创建SVN库和项目
#mkdir -p /var/svn/conf #创建svn配置文件
#svnadmin create /var/svn/test #创建test库
#svn import /var/www/html/test file:///var/svn/test -m "initial import" #把文件导入到库
#chown -R apache.apache /var/svn/test
#mv /var/www/html/test /var/www/html/test_bak
#svn checkoutfile:///var/svn/test /var/www/html/test ///xp验证时,out路径为:/svn/test
#cp /var/svn/test/hooks/postcommit.tmpl /var/svn/test/hooks/post-commit ///制作test库配和httpd连接置文件。
#chmod 755 post-commit
#vim post-commit 并将里面的所有东西加上注释: ///只让下面二行起作用
export LANG=zh_CN.UTF-8
svn update file:///var/svn/test /var/www/html/test
4.配置httpd
创建秘密文件:
#htpasswd -c /var/svn/conf/passwd.conf dony "第一次加 -c"
#htpasswd /var/svn/conf/passwd.conf svnadmin
#vim /etc/httpd/conf.d/subversion.conf #apache下的SNV配置
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName "Subversion repostitory" #SVN版本库
AuthUserFile /var/svn/conf/passwd.conf #密码文件的存放地
AuthzSVNAccessFile /var/svn/conf/authz.conf #SVN访问文件的存放地
Require valid-user #有效用户
</Location>
5.修改conf里的配置文件
#vim /var/svn/conf/authz.conf
[groups] #建立两个组,分别是管理员组和开发组,还有连个组上的用户。
admin=svnadmin
developer=dony
[test:/]
@admin=rw
@developer=rw
#注意权限,否则出现UTF-8错误
drwxrwxrwx apache apache /var/svn
-rwxr-xr-x 1 apache apache 2062 09-26 14:21 test/hooks/post-commit
这个svn是通过httpd实现的,只要apache启动svn就可以用了。
==验证:xp客户端
安装客户端,out好路径。提示密码,新建文件目录。观察在库中数据同步更新
======结束了,乐一会===