Linux下SVN部署安全及权限配置,实现web同步更新
linux上搭建svn服务器自动更新代码
#号代表linux上用的指令#号后面都有一个空格
一、安装svn服务端
# yum install -y subversion
二、创建仓库目录和在客户端提交代码后自动更新到的目录
mkdir /mysvn (这是仓库目录,路径可自定义)
mkdir /myweb (这是svn代码提交后自动更新到的目录监控仓库的上级目录, 可自定义)
# svnserve -d -r /mysvn/
三、创建仓库
# svnadmin create /mysvn/oa
四、配置authz passwd svnserve.conf 文件
五、svnserve.conf 文件的配置
authz 文件的配置
passwd 文件的配置
六、在linux的/myweb目录检出
# svn co svn://ip/仓库路径linux上检出代码
七、关闭防火墙也(可以开放snv程序使用的端口见最后面一点)
service iptables stop
八、使用钩子程序
切换到/mysvn/oa/hooks
重命名钩子文件
export LANG=zh_CN.UTF-8
SVN=/usr/bin/svn #这里配置的是svn安装bin目录下的svn文件WEB=/var/www/html/test #要更新的目录
$SVN update $WEB --username xxx --password xxx
给psot-commit文件执行的权限
九、开放防火墙端口
1.查到的端口号
2.防火墙文件中开放3690端口。
Linux搭建SVN-下
Linux下svn 安装搭建配置流程一、源文件编译安装。
源文件共两个,为:1. 下载subversion源文件subversion-1.6.1.tar.gz/fs/800/1/187a3087a49b71b42ba4d4a300b6278746011506/gz/subversion-1.6.1.tar.gz2. 下载subversion依赖文件subversion-deps-1.6.1.tar.gz/fs/800/1/48f59892a78763e7215ae94628c7e97f46011512/gz/subversion-deps-1.6.1.tar.gz 注意:两个文件版本必须一致,否则很容易产生问题.二、解压文件,并编译配置 subversion1.解压文件[root@DB2 tfhudong]# tar zxf subversion-1.6.1.tar.gz [root@DB2 tfhudong]# tar zxf subversion-deps-1.6.1.tar.gz 注意:务必将两个文件解压到相同的目录下,否则会产生下面提到过的问题。
2.进入解压后的subversion目录[root@DB2 ~]# cd /usr/local/subversion-1.6.1/3.创建安装目录[root@DB2 subversion-1.6.1]# mkdir /usr/local/svn4.编译安装subversion(1)./configure --prifix=/usr/local/svn##svn有两种模式,一种FSFS为默认模式,另一种为BDB模式,建议使用FSFS。
如果出现错误:configure: error: no suitable apr found则是因为上面的依赖文件没有减压到相同目录下导致。
(2)编译安装[root@DB2 subversion-1.6.1]# make[root@DB2 subversion-1.6.1]# make install(3)测试安装是否成功[root@DB2 subversion-1.6.1]# /usr/local/subversion/bin/svnserve --versionsvnserve,版本 1.6.1 (r37116)编译于 Mar 4 2011,10:07:53(4)可以将命令添加到环境变量vi /etc/profile写入如下两句PATH=$PATH:/usr/local/subversion/binexport PATHsource /etc/profile5.做到这里基本svn的安装就ok了,下面我们来配置svn吧三、配置svn1.建立版本库目录(这个和安装目录请区分开,以下讲的是版本库)[root@DB2 subversion-1.6.1]# mkdir -p /opt/svndata/game2 建立svn版本库[root@DB2 subversion-1.6.1]# svnadmin create /opt/svndata/game/执行此命令后svn自动在repos目录下添加必须的配置文件.[root@DB2 subversion-1.6.1]# ls /opt/svndata/game/conf db format hooks locks README.txt注意:版本库不同于一般的文件夹, 直接在操作系统上新建文件无法被SVN识别, 必须使用import等命令将文件导入版本库.此为svn内部指令,create用于新建版本库。
Linux下SVN部署安全及权限配置_实现web同步更新
Linux下SVN部署/安全及权限配置,实现web同步更新本文包含以下内容:SVN服务器安装SVN权限管理SVN使用SASL加密SVN上传时同步其它目录需求在WEB线上版本管理的基础上,能够在代码上传之后,立刻通过WEB访问,查看修改效果;同时,保证数据的安全性;SVN安装SVN服务器有2种运行方式:独立服务器和借助apache运行。
svnserve和apache相比是轻量级的,也比较简单,svnserve包含在subversion里面,所以只要安装了subversion就相当于安装了一个小型的svn服务器。
它使用自己的一套协议通信。
例如访问apache时使用http:// 前缀,而svnserve使用svn:// 前缀.这里介绍的是通过独立服务器方式运行,优点是简单小巧。
如果是支持较大规模的开发,还是推荐使用apache服务器方式;这里使用svnserver安装;1.首先为SVN单独创建一个用户,这样可以使用操作系统的安全特性;2.将svnadmin这个用户加入到sudu组;3.安装:sudo apt-get install subversion4.创建测试目录:mkdir /home/svnadmin/test5.创建版本库:svnadmin create /home/svnadmin/test4. 导入项目例如现在有个工程,名称为examPro,位置/alidata/www/examPro , 将这个工程导入到本地仓库中。
svn import /alidata/www/examPro file:///home/svnadmin/examPro -m "import examPro"在上一个例子里,将会拷贝目录examPro到版本库中;这样这个工程就在纳入服务器的本地仓库管理。
为了使用SVN的同步更新机制,我们需要在svn服务器环境上签出一份最新工程拷贝(为表述方便,这里称为A目录)。
svn版本控制器自动同步更新到网站服务器
程序猿SEO
如何利用svn自动同步更新到网站服务器
我们最终的目的是:当本地提交后,SVN服务器自动更新服务器端指定WEB 目录内的文件
实现方法:
找到服务器端SVN版本库所在的目录(目录名称是Repositories),这个目录是在安装VisualSVN Server设置的,根据你安装时的设置找到Repositories 这个目录,在这个目录下面找到你创建的项目目录,在项目目录下面找到hooks 目录,在此目录中创建一个名为post-commit.bat的批处理文件,内容如下:
@echo off "D:\VisualSVN Server\bin\svn.exe" update "D:\你的网站目录" –username XXXXX – password XXXXX
//将svn.exe的目录设置为你的VisualSVN Server安装目录,设置好你的用户名和密码。
linux下搭建SVN手册
linux下搭建SVN服务器完全手册ubuntu14.0 + ssh + yum一,安装必须的软件包.yum install subversion (SVN服务器)mysql-server (用于codestriker)httpd mod_dav_svn mod_perl (用于支持WEB方式管理SVN服务器)sendmail (用于配置用户提交代码后发邮件提醒)wget gcc-c++ make unzip perl* (必备软件包)ntsysv vim-enhanced (可选)二,基本的SVN服务器配置1,新建一个目录用于存储SVN所有文件# mkdir /home/svn2,新建一个版本仓库# svnadmin create /home/svn/project3,初始化版本仓库中的目录# mkdir project project/serverproject/client project/test (建立临时目录)# svn import project/file:///home/svn/project -m "初始化SVN目录"# rm -rf project (删除临时建立的目录)4,添加用户要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password"的条目就可以了.为了测试,我添加了如下内容:[users]# harry = harryssecret# sally = sallyssecretpm = pm_pwserver_group = server_pwclient_group = client_pwtest_group = test_pw5,修改用户访问策略/home/svn/project/conf/authz记录用户的访问策略,以下是参考:[groups]project_p = pmproject_s =server_groupproject_c =client_groupproject_t = test_group[project:/]@project_p = rw* =[project:/server]@project_p = rw@project_s = rw* =[project:/client]@project_p = rw@project_c = rw* =[project:/doc]@project_p = rw@project_s = rw@project_c = rw@project_t = rw* =以上信息表示,只有pm有根目录的读写权,server_group能访问server目录,client_group能访问client目录,所有人都可以访问doc目录.6,修改svnserve.conf文件,让用户和策略配置升效.svnserve.conf内容如下:[general]anon-access = noneauth-access = writepassword-db =/home/svn/project/conf/passwdauthz-db =/home/svn/project/conf/authz7,启动服务器# svnserve -d -r /home/svn8,测试服务器# svn co svn://192.168.60.10/projectAuthentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dPassword for 'root':Authentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dUsername: server_groupPassword for 'server_group':svn: Authorization failed ( server_group 没用根目录的访问权 )# svn co svn://192.168.60.10/projectAuthentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dPassword for 'root':Authentication realm:<svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18dUsername: pmPassword for 'pm':A project/testA project/serverA project/clientChecked out revision 1. ( 测试提取成功 )# cd project/server# vim main.c# svn add main.c# svn commit main.c -m "测试一下我的C 程序,看什么看,不行啊??"Adding main.cTransmitting file data .Committed revision 2. ( 测试提交成功 )三,配置SVN服务器的HTTP支持1,转换SVN服务器的密码由于SVN服务器的密码是明文的,HTTP服务器不与支持,所以需要转换成HTTP支持的格式。
Linux下SVN服务器的搭建与配置
Linux下SVN服务器的搭建与配置下载最新的svn压缩包/downloads/subversion-1.4.5.tar.gz//解压SubVersion安装包(root用户进行下面的操作) # tar xvzf subversion-1.4.5.tar.gz //进入解压后的目录# cd Subversion-1.4.5//配置subversion安装#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion--with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib--enable-maintainer-mode# make//安装# make install//创建库文件所在的目录(svnroot用户进行下面的操作)# mkdir /home/svnroot/repository//进入subversion的bin目录# cd /usr/local/subversion/bin//创建仓库"test"# ./svnadmin create /home/svnroot/repository/test# cd /home/svnroot/repository/test//看看是不是多了些文件,如果是则说明Subversion安装成功了# ls –l# cd /usr/local/subversion/bin//这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion 仓库中去,//提交后的修订版为1。
# ./svn import /home/user/import file:///home/svnroot/repository/test –m "注释"//不让其他人有该目录的权限# chmod 700 /home/svnroot/repository修改Apache配置文件# cd /usr/local/apadche2/bin//启动Apache# ./apachect1 start# vi /usr/local/apache2/conf/httpd.conf//在最下面添加LoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so<Location /svn>DAV svnSVNParentPath /home/svnroot/repository/ //svn父目录AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件AuthType Basic //连接类型设置AuthName "Subversion.zoneyump" //连接框提示AuthUserFile /home/svnroot/repository/authfile //用户配置文件Require valid-user //采用何种认证</Location>//其中authfile是通过"htpasswd [–c] /home/svnroot/repository/authfile username pass word"来创建的//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。
Linux下的svn安装(更新网站内容用)
Linux下的svn安装(更新网站内容用)目录Linux下的svn安装(更新网站内容用) (1)前言 (1)建立基础的SVN (2)安装http 、subversion和python的相应模块 (2)下载安装python模板clearsilver (2)建svn及trac目录 (2)安装Trac (2)新建svn项目 (2)新建trac项目 (2)改文件所属为apache (3)新建svn的apache配置文件 (3)生成svn的用户名密码 (3)生成svn用户所对应的acl权限 (3)生成trac的用户名密码 (3)生成tracroot用户的权限 (3)重启apache (3)添加新用户: (4)备份脚本 (4)配置svn,更新网站内容 (4)SVN客户端命令详解 (5)前言这个文档主要内容是要在linux服务器上建立apache服务和svn服务,然后通过windows 的svn客户端更新网站的内容。
Svn的用户是手动添加的。
这个文档在Centos5.4上测试成功。
建立基础的SVN安装http 、subversion和python的相应模块下载安装python模板clearsilver建svn及trac目录安装Trac新建svn项目新建trac项目按提示操作,`Path to repository` is: /srv/svn/project改文件所属为apache新建svn的apache配置文件生成svn的用户名密码生成svn用户所对应的acl权限生成trac的用户名密码生成tracroot用户的权限重启apache结束,至此svn和apache已经建完。
#SVN: http://127.0.0.1/svn/project/#Trac: http://127.0.0.1/trac/project/添加新用户:备份脚本如果这个主要是更新网站内容的话,直接去备份网站内容就行了,没必要用这个脚本备份SVN 内容了)配置svn,更新网站内容把库中的内容更新到某个目录:(暂时还不支持中文文件名)将/srv/svn/project/hooks目录中的post-commit.tmpl改名,去掉后缀.tmpl。
linux搭建svn服务器的方法步骤
linux搭建svn服务器的⽅法步骤⼀:安装svnyum install -y subversion⼆:创建仓库1:创建仓库⽬录mkdir -p /var/project/test2:创建仓库svnadmin create /var/project/test创建成功后,在/var/project/test⽬录下如下⽬录:drwxr-xr-x. 2 root root 51 1⽉ 30 13:26 confdrwxr-sr-x. 6 root root 4096 1⽉ 30 13:26 db-r--r--r--. 1 root root 2 1⽉ 30 13:26 formatdrwxr-xr-x. 2 root root 4096 1⽉ 30 13:26 hooksdrwxr-xr-x. 2 root root 39 1⽉ 30 13:26 locks-rw-r--r--. 1 root root 229 1⽉ 30 13:26 README.txtconf⽬录下是svn的配置⽬录,其中包括:-rw-r--r--. 1 root root 1080 1⽉ 30 13:26 authz #权限控制-rw-r--r--. 1 root root 309 1⽉ 30 13:26 passwd #密码管理-rw-r--r--. 1 root root 3090 1⽉ 30 13:26 svnserve.conf #SVN服务进程配置三:svn配置1:权限配置(/var/project/test/conf/authz)#⽤户分组(admin->管理员,development ->开发 other->其他)[groups]admin = test1 #管理员⽤户test1development = test2,test3 #开发⽤户test2,test3other = test4,test5,test6 #其他⽤户test4,,test5,test6#权限配置[/]@admin = rw #管理员读写权限@development = rw #开发读写权限@other = r #其他读权限test7 = rw #test7⽤户读写权限2:密码配置(/var/project/test/conf/passwd)#密码配置,格式为⽤户名=密码,密码为明⽂[users]test1 = test1test2 = test2test3 = test3test4 = test4test5 = test5test6 = test6test7 = test73:SVN服务进程配置(/var/project/test/conf/svnserve.conf)[general]anon-access = none #匿名⽤户⽆权访问auth-access = write #认证⽤户可读写password-db = passwd #指定⽤户认证密码⽂件authz-db = authz #指定权限配置⽂件四:启动svn服务(默认端⼝号3690)复制代码代码如下:svnserve -d -r /var/project #-d 服务后台运⾏ -r 指定⼯作⽬录,/var/project表⽰指定⼯作⽬录,注意不能指定仓库名地址(/var/project/test)指定端⼝启动svnsvnserve -d -r /var/project --listen-port 3691五:关闭防⽕墙,或开启指定端⼝号1:关闭防⽕墙systemctl stop firewalld2:开启指定防⽕墙#开启3690端⼝firewall-cmd --zone=public --add-port=3690/tcp --permanent#刷新配置firewall-cmd --reload六:客户端连接并上传⽂件windows上连接svn1:新建⼀个⽬录,右击选择svn 检出2:在版本库上填写linux的svn地址 svn://ip:3690/仓库名 (这⾥的仓库名不是/var/project/test⽽是/test)2:填写⽤户名密码这时候我们可以看到此⽬录下⽣成了⼀个.svn⽂件,说明我们已经连接上了linux上的svn服务器3:上传⽂件现在我们新建⼀个test.txt⽂件,在⾥⾯随便填⼀些信息(1)右击选择add然后选择test.txt⽂件,点击确定,这时候我们会看到test.txt⽂件上会多了⼀个加号(2):上传右击选择提交填写备注选择要上传的⽂件后点击确定这时候我们可以看到test.txt⽂件上的加号会变成绿⾊的对号,表⽰上传成功但是这时候我们发现我们在/var/project/test⽬录下根本就没有找到我们上传的⽂件,这是为什么呢?难道我们没有上传成功,这是由于把⽂件上传到SVN版本库后,上传的⽂件不再以⽂件原来的格式存储,⽽是被svn以它⾃定义的格式压缩成版本库数据,存放在版本库中,svn服务器版本库有两种格式,⼀种为FSFS,⼀种为BDB这时候我们就需要在linux中实现检出4:检出svn checkout svn://192.168.11.201/test /data/test #svn://192.168.11.201/test表⽰需要检出的仓库地址 /data/test表⽰需要检出到哪个⽬录下这是我们可以在/data/test⽬录下看到我们之前在客户端上传的⽂件,但是现在问题⼜来了,我们在客户端上传⽂件之后,不可能每次都在服务器进⾏检出操作吧,那么如何进⾏⾃动检出呢?5:⾃动检出配置在/var/project/test/hooks⽬录下新建⼀个post-commit⽂件,post-commit⽂件添加内容为:#!/bin/shREPOS="$1" #仓库REV="$2" #版本号export.UTF-8 #编码SVN=/usr/bin/svn #svn地址WEB=/data/test #要更新的项⽬⽬录$SVN update $WEB --username test1 --password test1 #--username test1表⽰设置⽤户名 --password test1表⽰设置密码将post-commit设置为可执⾏chmod +x /var/project/test/hooks/post-commit到此⾃动检出配置完成,不过注意,第⼀次的时候需要⼿动检出,之后就不需要了,到此linux搭建svn服务器完成以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
svn安装及权限配置
svn安装及权限配置SVN安装及权限配置安装(svn://…访问方式的安装部署)1.安装svn-1.4.5-setup.exe2.将SVNService.exe拷贝到\Subversion\bin下,双击安装。
启动服务。
部署1.创建SVN仓库现在svn的目的位置上,创建相应文件夹,例如:E:/svnroot,然后开始→运行→cmd→输入命令:svnservice -install -d -r E:/svnroot2.启动svnservice服务3.创建项目仓库在svn仓库下创建项目的相应文件夹,例如:E:/svnroot/project1,然后开始→运行→cmd→输入命令:svnadmin create E:/svnroot/project1。
这时,在E:/svnroot/project1会出现conf、dav 等文件夹和文件。
4.有多个项目时,重复步骤3。
权限配置1.修改每个项目中的conf文件夹下的svnserve.conf文件:anon-access = noneauth-access = writepassword-db = ../../passwdauthz-db = ../../authz添加以上项目。
其中,../../passwd表示,向上两级文件夹下的passwd文件。
这样做的目的是,将所有项目的权限放在一个文件中控制。
2.设置加密和权限文件位置将其中一个文件夹下的passwd文件和authz文件拷贝到svnroot下,与每个项目的文件夹平行。
3.设置svn密码,修改passwd文件在【users】下添加用户名及密码,格式如下:用户名= 密码,例如:harry = harrysecret每个用户单独占一行,密码后不用添加任何分隔符号。
4.设置svn权限,修改authz文件:设置【groups】:按照一种规则,将所有人员分组,例如可以按照对每个项目、每个项目的不同权限进行分组,人员之间用逗号分隔,每个组单独占一行,结尾不需要任何分隔符号。
linux下搭建SVN
linux下搭建SVN查看系统下有没有安装过⽼版本的svn:rpm -qa subversion,如果没安装过则什么都不显⽰如果有⽼版本先运⾏⼀下yum -y remove subversion,删除⽼版本。
第⼀步:通过yum命令安装svnserve,命令:yum -y install subversion此命令会全⾃动安装svn服务器相关服务和依赖,安装完成会⾃动停⽌命令运⾏若需查看svn安装位置,可以⽤命令:rpm -ql subversion第⼆步:创建版本库⽬录(此仅为⽬录,为后⾯创建版本库提供存放位置,subversion默认是把/var/svn作为数据根⽬录的,开机启动默认也是从这⾥):mkdir /var/svn/svnrepos第三步:创建svn版本库在第⼆步建⽴的路径基础上,创建版本库:svnadmin create /var/svn/test(test为⽬录(项⽬或版本库)名称,后⾯checkout项⽬时会⽤到。
)创建成功后,进⼊test⽬录下,可以看见如下⽂件信息:cd /var/svn/testconf:是这个仓库配置⽂件(仓库⽤户访问账户,权限)format:是⼀个⽂本⽂件,⾥边只放了⼀个整数,表⽰当前⽂件库配置的版本号hooks:放置hook脚步⽂件的⽬录locks:⽤来放置subversion的db锁⽂件和db_logs锁⽂件的⽬录,⽤来追踪存取⽂件库的客户端第四步:配置修改进⼊conf,conf⽬录下,⼀共存放三份重要的配置⽂件,如下:authz:负责账号权限的管理,控制账号是否读写权限passwd:负责账号和密码的⽤户名单管理svnserve.conf:svn服务器配置⽂件修改svnserve.conf:vim svnserve.conf原始⽂件内容,都被注释掉的,我们只需要去掉指定内容前注释即可,如下:[general]anon-access = none #控制⾮鉴权⽤户访问版本库的权限auth-access = write #控制鉴权⽤户访问版本库的权限password-db = passwd #指定⽤户名⼝令⽂件名,即访问时要输⽤户名和密码realm = test #指定版本库的认证域,即在登录时提⽰的认证域名称,改成⾃⼰的版本库修改authz⽂件信息:vim authz在⽂件内容的末尾,添加如下:rw表⽰赋予此账号可读写的权限,r为读,w为写,注意[/]中的斜杠,这⾥如果斜杠反了,authz-db = authz ⼀直会提⽰“认证失败”第⼀种⽅式:单个添加:# 按账号分权限[test/]admin = rwtest = r第⼆种⽅式(后⾯采⽤此⽅式配置):⽤户分组,再设权限[groups]# 按⽤户组分权限admin = admin,admin1 # admin为⽤户组,等号之后的为⽤户test = test1, test2 # test为⽤户组,等号之后的为⽤户[/] # 表⽰svn仓库⽬录(/var/svn/test),test: 对应前⾯配置的realm = test@admin = rw # 表⽰admin组对仓库(/var/svn/test)⽬录有读写权限,r为读,w为写@test = r # 表⽰test组的⽤户对对仓库(/var/svn/test)⽬录只有读的权限[/test1] # 表⽰test1⽬录(/var/svn/test/test1)@test = rw # 表⽰test组对test1⽬录有读写权限* =备注:版本库的⽬录格式如下:[<版本库>:/项⽬/⽬录]@<⽤户组名> = 权限<⽤户名> = 权限其中[]內容有許多写法:[/],表⽰根⽬录及其⼀下的路径,根⽬录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表⽰对全部版本设置的权限[test:/],表⽰对版本库test设置权限;[test:/svnadmin],表⽰对版本库test中的svnadmin项⽬设置权限;[test:/svnadmin/second],表⽰对版本库test中的svnadmin项⽬的⽬录设置权限;权限的主体可以是⽤户组,⽤户或者*,⽤户组在前⾯要以@开头,*表⽰全部⽤户权限分为:r ,w, rw和null ,null空表⽰没有任何权限。
linux下安装svn详解
前言SVN服务器有2种运行方式:独立服务器和借助apache。
2种方式各有利弊,独立SVN服务器不结合Apache安装使用,连接独立SVN服务器也不用HTTP协议。
这是比较快捷的SVN服务器配置方法。
本次安装时使用的是独立用品方式。
SVN存储版本数据也有2种方式:BDB和FSFS。
因为BDB方式在服务器中断时,有可能锁住数据所以还是FSFS方式更安全一点,我安装时也使用的是FSFS方式。
一下载工具1. subversion-1.6.17.tar.gz2. subversion-deps-1.6.17.tar.gz这两个包可以直接到CSDN去下载,版本要一样,都是必须下载的,否则单独下载第一个包编译时就会提示缺少模块。
这两个包下载解压后会解压到同一个目录下,不需要特别指定。
二解压安装1. 解压两个包:在此之前,我已经创建了一个用户svnadmin专门用来安装管理svn的,就解压在/home/svnadmin/目录下tar -xzvf subversion-1.6.17.tar.gztar -xzvf subversion-deps-1.6.17.tar.gz2. 编译安装./configure --prefix=/home/svnadmin/subversion --without-berkeley-db //prefix指定安装的目录,without-berkeley-db表明不使用berkeley数据库//在这一步有可能不成功,是因为有一些依赖的软件没装,具体见下面“遇到的问题”makemake install//也许要sudo,看情况3. 查看是否安装成功/home/svnadmin/subversion/bin/svnserve --version//如果出现SVN的版本则证明安装成功三添加环境变量可以在/etc/profile中添加,这是全局的。
其实最好是专门添加一个svnadmin 用户,在~/.bashrc中添加即可:exprot PATH=$PATH:/home/svnadmin/subversion/bin四建立仓库1. 创建目录mkdir -p /home/svnadmin/svndata/repos1加上参数P,是如果没有父目录则自动创建注意: /home/svnadmin/svndata在这里将是所有仓库的根目录,repos1是其中的一个仓库。
linux下svn的用法
linux下svn的用法SVN(Subversion)是一种版本控制系统,它可以帮助开发团队更好地管理和控制项目的版本。
在Linux操作系统下,使用SVN可以更加方便地进行代码的版本管理和协作开发。
本文将介绍Linux下SVN 的基本用法。
首先,我们需要在Linux系统中安装SVN。
在终端中输入以下命令进行安装:```sudo apt-get install subversion```安装完成后,我们可以使用以下命令来创建一个新的SVN仓库:```svnadmin create /path/to/repository```其中,`/path/to/repository`是你希望创建仓库的路径。
创建完成后,我们可以使用以下命令来导入项目到SVN仓库中:```svn import /path/to/project file:///path/to/repository -m "Initial import"```其中,`/path/to/project`是你希望导入的项目路径,`file:///path/to/repository`是你创建的SVN仓库路径。
`-m`参数用于添加一条提交信息。
接下来,我们可以使用以下命令来从SVN仓库中检出项目:```svn checkout file:///path/to/repository /path/to/working/copy```其中,`/path/to/repository`是你创建的SVN仓库路径,`/path/to/working/copy`是你希望将项目检出到的路径。
在进行项目开发时,我们可以使用以下命令来添加新文件或修改已有文件:```svn add /path/to/filesvn commit -m "Add new file"```其中,`/path/to/file`是你希望添加或修改的文件路径。
`svn add`命令用于将新文件添加到SVN仓库中,`svn commit`命令用于提交修改到SVN仓库,并添加一条提交信息。
Linux下SVN详细配置配置
Linux 下SVN安装及设置如无需用户自行修改密码之必要灰色文字可跳过。
1.软件安装Subversion 1.5.3Apache Httpd 2.2.8Apache Apr 1.3.2Apache Apr-Util 1.3.2安装顺序1.Apr#cd apr-1.3.2#./configure –prefix=/usr/local/apr#make#make install2.Apr-util#cd apr-util-1.3.2#./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr#make#make install3.Httpd//配置apache安装,前两个参数是必须要加的,你还可以根据您的需要添加其他的参数。
//后面的参数制定你要把apache安装哪里# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/# make//安装# make install# cd /usr/local/apache2/bin//启动apache服务# ./apachectl start//打开浏览器http://localhost/如果有测试页"It works!"出现则证明已经安装成功。
4.Subversion#cd subversion-1.5.3#./configure –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util#make#make install检查WebDav for SVN 模块:# cd /usr/local/apache2/modules检查 mod_dav_svn.so 和 mod_authz_svn.so,如果上述第2步编译成功,这两个模块应该可以看到。
Linux系统SVN最详细安装指导配置说明
Linux系统SVN安装指导配置说明检查是否安装SVN rpm -qa subversion 查看安装SVb版本信息:svnserve --version如果存在旧版本,卸载旧版本SVN yum remove subversionyum in stall subvers ionmkdir -p /opt/sv n/repossvn adm in create /opt/sv n/repos执行上面的命令后,自动建立repos库,查看/opt/svn/repos 文件夹发现包含了conf, db,format,hooks, locks, README.txt 等文件,说明一个SVN库已经建立。
4配置代码库:进入上面生成的文件夹conf下,进行配置:cd /opt/svn/repos/conf1)设置SVN用户及口令:修改文件passwd,如以下内容:目的是设置哪些用户可以访问SVF资源库[root@admin conf]# vi passwd[users]# harry = harryssecret# sally = sallyssecret#用户名=密码che nqian = che nqianwan gwu = wan gwuhello = 123#这样我们就建立了3个用户,其中有个用户为hello,密码123,以上语句都必须顶格写左侧不能留空格,否则会出错.2)设置SVF用户访问权限控制:修改文件authz,如以下内容:目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:[root@admin conf]# vi authz[groups]# harry_a nd_sally = harry,sally# harry_sally_a nd_joe = harry,sally,&joeadm in = che nqian,wan gwu#设置[/]代表根目录下所有的资源[/] 或者写成[repl:/]@admin = rwhello = r#意思是admin组中的2个用户对repos库下所有的目录有读写权限,hello只有可读权限,当然也可以限定。
linux环境svn使用方法
linux环境svn使用方法摘要:1.SVN简介与安装2.配置SVN客户端3.创建与克隆仓库4.提交与更新代码5.合并与解决冲突6.团队协作与权限管理7.常见问题与解决方法8.实战案例分享正文:一、SVN简介与安装1.SVN(Subversion)是一个开源的版本控制系统,用于管理分布式团队之间的源代码。
2.安装SVN:在Linux环境下,可以通过软件包管理器(如apt、yum 等)安装SVN。
二、配置SVN客户端1.设置SVN代理:在客户端机器上配置SVN代理,以便访问远程仓库。
2.配置SVN用户名和密码:在客户端机器上设置SVN用户名和密码,以备后续使用。
三、创建与克隆仓库1.创建本地仓库:在本地机器上创建一个新的SVN仓库。
2.克隆远程仓库:通过SVN客户端克隆远程仓库到本地机器。
四、提交与更新代码1.提交代码:将本地仓库的修改提交到远程仓库。
2.更新代码:从远程仓库拉取最新代码到本地仓库。
五、合并与解决冲突1.合并代码:将不同团队成员的修改合并到同一个分支。
2.解决冲突:在合并过程中遇到冲突时,学会使用SVN的冲突解决机制。
六、团队协作与权限管理1.创建分支:为不同团队成员创建单独的分支,以便并行开发。
2.权限管理:通过SVN对仓库和分支进行权限控制,保障团队协作的安全性。
七、常见问题与解决方法1.无法连接远程仓库:检查网络连接、SVN服务器配置等问题。
2.代码冲突:使用SVN的冲突解决机制,或切换到其他分支进行开发。
八、实战案例分享1.以实际项目为例,分享SVN在团队协作中的具体应用。
2.介绍SVN在不同场景下的优势和劣势。
通过以上步骤,您可以更好地在Linux环境下使用SVN进行版本控制和团队协作。
Linux部署SVN详解(含备份与还原)
Linux部署SVN详解1安装操作系统安装系统采用CentOS-6.2/Database Server2安装配置apache与SVN1)数据包安装顺序:(安装包在CentOS-6.2盘的Packages目录下均可找到)a)apr-1.3.9-3.el6_1.2.i686.rpmb)apr-util-1.3.9-3.el6_0.1.i686.rpmc)httpd-2.2.15-15.el6.centos.i686.rpm依赖文件:httpd-tools-2.2.15-15.el6.centos.i686.rpm与apr-util-ldap-1.3.9-3.el6_0.1.i686.rpmd)sqlite-3.6.20-1.el6.i686.rpme)subversion-1.6.11-2.el6_1.4.i686.rpm依赖文件:neon-0.29.3-1.2.el6.i686.rpmneon依赖文件:pakchois-0.4-3.2.el6.i686.rpm与libproxy-0.3.0-2.el6.i686.rpm安装libproxy命令:三个包同时安装rpm -ivh libproxy-0.3.0-2.el6.i686.rpm libproxy-bin-0.3.0-2.el6.i686.rpm libproxy-python-0.3.0-2.el6.i686.rpmf)mod_dav_svn-1.6.11-2.el6_1.4.i686.rpm安装后将生成文件:/etc/httpd/conf.d/subversion.conf2)修改apache(即httpd)配置文件#vi /etc/httpd/conf/httpd.conf执行上述命令后,对文件进行以下修改:ServerName localhost:80localhost表示自己的IP地址(找到上面一行并做类似修改后保存退出)#service httpd start#chkconfig httpd on文件修改完成后,启动http服务并使用chkconfig命令设置开机自启动。
SVN部署(基于Linux)
SVN部署(基于Linux)1、通过 yum 命令安装 svnserve,命令如下:# 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行yum -y install subversion# 若需查看svn安装位置,可以用以下命令:rpm -ql subversion2、创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)# 选择在 var 路径下创建版本库,当前处于根目录下,一次性创建如下:mkdir /var/svnrepos3、创建 svn 版本库# 在第二步建立的路径基础上,创建版本库,命令如下:svnadmin create /var/svnrepos/xxxx (xxxx为你预期的版本库名称,可自定义)# 创建成功后,进入 xxxx 目录下cd /var/svnrepos/xxxx# 进入目录,可以看见如下文件信息:total 24drwxr-xr-x 2 root root 4096 May 2 13:48 confdrwxr-sr-x 6 root root 4096 May 2 13:48 db-r--r--r-- 1 root root 2 May 2 13:48 formatdrwxr-xr-x 2 root root 4096 May 2 13:48 hooksdrwxr-xr-x 2 root root 4096 May 2 13:48 locks-rw-r--r-- 1 root root 229 May 2 13:48 README.txt4、配置修改# 进入已经创建好的版本库目录下,也就是前文说创建的xxxx,进入 confcd /var/svnrepos/xxxx/conf# conf 目录下,一共存放三份重要的配置文件,如下:total 12 -rw-r--r-- 1 root root 1080 May 2 13:48 authz-rw-r--r-- 1 root root 309 May 2 13:48 passwd-rw-r--r-- 1 root root 3090 May 2 13:48 svnserve.conf# authz:负责账号权限的管理,控制账号是否读写权限# passwd:负责账号和密码的用户名单管理# svnserve.conf:svn 服务器配置文件•编辑 authz 文件(注意:[/] 也是必须的)# 用户组(权限分组管理,组名 = 用户1,用户2)[groups]teacher = zhengying,zhugcclass1 = zhangsan# 拥有根目录(版本库)下权限的用户组配置,r 代表可读权限--可以从 svn 服务器上dowm 资料,但是不能上传和删除资料;rw 代表可读可写权限--可以从 svn 服务器上dowm 资料,也可以上传和删除资料[/]@teacher = rw# 拥有版本库下 class1 文件夹权限的用户组配置(xinfs 为版本库)[xinfs:/class1]@class1 = rw•编辑 passwd 文件,管理用户密码(用户名 = 密码)•编辑 svnserve.conf 文件,取消下面几行注释(注意:配置的前面不能有空格,一定要顶格写)anon-access = none # 表示禁止匿名用户访问。
linux下svn的配置及svn常用命令
linux下svn的配置及svn常用命令SVN是Subversion的简称,是一个开放源代码的版本控制系统,svn服务器有两种运行方式:独立服务器和借助apache运行。
右图是一个svn的工作流程,它可以很方便用户的代码编写。
1.首先安装SVN:”sudo apt-get install subversion”.查看svn的版本和确定是否安装成功:”svnserve –version”.2.创建svn仓库:“svnadmin create msm”,其中msm是版本仓库的名字,仓库建立好了以后会有出现一个仓库名字的文件夹,文件夹下面有conf等几个目录和文件.接下来就需要设置版本仓库的权限了。
这里说明一下:版本库之间是独立的。
(下图为msm的目录)3.增加用户修改conf文件夹下的authz文件,该配置文件采用”基于路径授权”的策略,中括号里指定路径,以下列出对各用户的授权。
包括只读r,读写rw。
没有列出的用户,则不允许访问。
还可以对用户分组,列子如下用户组格式:[groups]<用户组名>=<用户1>,<用户2>其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:[<版本库>:/项目/目录]@<用户组名>=<权限><用户名>=<权限>,其中,方框号内部分可以有多种写法:/,表示根目录(仓储目录)及以下。
根目录是svnserve启动时指定的,我们指定/opt/svndata。
这样,/就是表示对全部版本库设置权限。
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
下图是我增加的用户组:(注意:等号后留有空格)增加后:4.修改用户密码添加用户后就要为用户设置密码了,打开conf/passwd文件:输入格式为,[users]<用户1> = <密码1> 如: admin = admin<用户2> = <密码2> 如: username2 = password2…...左边是我的添加:5.启动svn对用户权限、密码的控制需要启动SVN对用户权限、密码的控制,不然的话你就只能读而不能写了。
linux下实现web数据同步的四种方式(性能比较)
实现web数据同步的四种方式=======================================1、nfs实现web数据共享2、rsync +inotify实现web数据同步3、rsync+sersync更快更节约资源实现web数据同步4、unison+inotify实现web数据双向同步=======================================一、nfs实现web数据共享nfs能实现数据同步是通过NAS(网络附加存储),在服务器上共享一个文件,且服务器需要设置文件系统的权限和配置文件设置的权限,权限两者之间取交集,然后客户端把共享的文件挂载到本地,客户端对文件有读写权限,则实现数据的同步。
nfs+web:服务器端的配置:1)、安装相关软件,httpd提供web服务,nfs-utils提供nfs服务[root@jie1 ~]# yum -y install httpd nfs-utils2)、设置web的相关配置,使得web能够提供web服务复制代码代码如下:[root@jie1 ~]# vim /etc/httpd/conf/httpd.conf########################################ServerName 172.16.22.1:80#DocumentRoot "/var/www/html" #提供虚拟主机,注释默认存放网页文件的路径<VirtualHost *:80>ServerName DocumentRoot /web/htdocs</VirtualHost>#######################################[root@jie1 ~]# mkdir -pv /web/htdocs #创建存放网页的目录[root@jie1 ~]# cd /web/htdocs/[root@jie1 htdocs]# touch index.html test.html test.php[root@jie1 htdocs]# lsindex.html test.html test.php[root@jie1 htdocs]# echo "This is Jie1 Web+nfs Server" >index.html[root@jie1 htdocs]# httpd -t #检查web的配置文件是否有语法错误Syntax OK[root@jie1 htdocs]# service httpd start #开启web服务Starting httpd: [ OK ]3)、设置nfs的相关配置,共享网页文件复制代码代码如下:[root@jie1 htdocs]# id apache #安装httpd软件后,系统会创建apache用户,查看apache的id号uid=48(apache) gid=48(apache) groups=48(apache)[root@jie1 htdocs]# vim /etc/exports######################################/web/htdocs 172.16.22.3(rw,sync,root_squash,anonuid=48,anongid=48)#nfs是以id号来确定是否能访问共享的文件的,因为两个服务器都安装了httpd软件,都会有apache用户,所以apache用户的id号能访问共享的文件#/web/htdocs 共享的目录#172.16.22.3 指定客户端能共享此文件,多个客户端用逗号隔开#rw,读写权限#sync,同步方式#root_squash,压缩root用户的权限#anonuid=48,指定此用户的id能访问共享文件#anongid=48指定此组的id能访问共享文件######################################[root@jie1 htdocs]# service nfs start #开启nfs服务Starting NFS services: [ OK ]Starting NFS quotas: [ OK ]Starting NFS mountd: [ OK ]Stopping RPC idmapd: [ OK ]Starting RPC idmapd: [ OK ]Starting NFS daemon: [ OK ][root@jie1 htdocs]#web:客户端的配置1)、安装httpd的软件复制代码代码如下:[root@jie3 /]# yum -y install httpd[root@jie3 /]# vim /etc/httpd/conf/httpd.conf########################################ServerName 172.16.22.3:80#DocumentRoot "/var/www/html"<VirtualHost *:80>ServerName DocumentRoot /website #存放网页文件的路径</VirtualHost>#######################################[root@jie3 /]# mkdir /website[root@jie3 /]# httpd -tSyntax OK[root@jie3 /]# service httpd startStarting httpd: [ OK ][root@jie3 ~]# cd /website/[root@jie3 website]# ls #现在查看是没有任何文件[root@jie3 website]#实现同步:1)服务器端设置apache用户对共享的文件有读写权限复制代码代码如下:[root@jie1 htdocs]#setfacl -R -m u:apache:rwx /web/ #设置apache用户对此中所有文件有读写可执行权限2)客户端挂载服务器的共享文件,查看客户端是否已经同步服务器端的文件复制代码代码如下:[root@jie3 website]#cd /root[root@jie3 ~]# mount -t nfs 172.16.22.1:/web/htdocs /website/ #通过nfs挂载服务器端的文件[root@jie3 /]#echo "172.16.22.1:/web/htdocs /website nfs defaults,_netdev 00" >>/etc/fstab #实现开机挂载[root@jie3 ~]# cd /website/[root@jie3 website]# ls #查看文件已经同步过来index.html test.html test.php[root@jie3 website]#3)客户端在共享的文件中新增文件,查看服务器端是否同步文件复制代码代码如下:[root@jie3 ~]# cd /website/[root@jie3 website]# lsindex.html test.html test.php[root@jie3 website]# touch website.html #在客户端创建此文件[root@jie3 website]# lsindex.html test.html test.php website.html[root@jie1 htdocs]# ls #服务器端,可以查看来着客户端上传的文件index.html test.html test.php website.html所有的数据其实都保存到了nfs服务器,不论用户访问哪台Web服务器,都要来nfs服务器获取数据,这样势必照成nfs服务器的性能下降,而且客户端对nfs服务器的依赖性较大,如果nfs服务器down掉之后,客户端的web服务器就无法工作了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[examPro:/]
@g_vip=rw
@g_fronter=r
@g_doc=r
[examPro:/protected/modules]
@g_vip=rw
@g_fronter=
*=
[examPro:/protected]
@g_doc=
对于以上代码的配置的详细说明,可以参考本文的参考文章[1]SVN权限配置,里面介绍的比较详细,这里就不多说,有疑问的请留言或mail;
Linux下SVN部署/安全及权限配置,实现web同步更新:
本文包含以下内容:
SVN服务器安装
SVN权限管理
SVN使用SASL加密
SVN上传时同步其它目录
需求
在WEB线上版本管理的基础上,能够在代码上传之后,立刻通过WEB访问,查看修改效果;同时,保证数据的安全性;
#export LANG=zh_CN.UTF-8
export LANG=en_US.UTF-8
2.设置SVN更新时需要同步更新的目录
svn update /alidata/www/examplePro --username yoursname --password yourpwd
以上这行表明,当svn服务器版本有更新时,则同步更新到/alidata/www/examPro目录下的对应文件;yoursname 和yourpwd是你在sasl中设置的用户名和密码;(这里还是涉及到了明文存放,对此,你可以分配一个用户对svn版本库只有全局的读权限)
现在,SVN就实现了版本管理的功能,同时,同步更新的目录有利于测试人员集成测试;
开发人员需要保证的是,任何时候签入到svn库中的版本是可运行的代码。
参考:
[1]:SVN权限配置:/victorlin23/item/f3f42f276e9c810a42634a94
$ svn checkout file:///home/svnadmin/examPro
在这个拷贝里,我们一般不做修改,而是用来同步更新;当开发机器上有任何修改,更新到SVN服务器上时,能同步更新到A目录;这样,就能保证A目录下的代码是整个工程的最新代码,而使用A目录搭建的WEB测试环境,就是最新的WEB测试环境;
2.SVN服务配置文件:svnserve.conf
查看该文件,首先是匿名用户的权限配置:
anon-access = none
auth-access = write
表示:对于匿名用户,无访问权限;
对于授权用户,有写权限;
接下来的一段用于配置使用哪种授权登录方式;
可选的有password-db ,就是用户名和密码都是明文存放在同级目录下的passwd文件中;优点是高效配置简单,缺点是安全性弱,明文总不是那么让人感觉可靠;
4.创建测试目录:
mkdir /home/svnadmin/test
5.创建版本库:
svnadmin create /home/svnadmin/test
4. 导入项目
例如现在有个工程,名称为examPro,
位置/alidata/www/examPro , 将这个工程导入到本地仓库中。
另一种是authz-db,这种方式的用户密码使用了sasl加密,安全上有保证;
选择这种方式的设置,将password-db 注释掉:
# password-db = passwd
authz-db = authz
#指定授权所属的域,C++的同志可将其理解为名字空间;
realm = examPro
5.启动SVN服务
$ svnserve -d -r /home/svnadmin/examPro
描述说明:
-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库。
6.停止svn服务:
killall svnserve //停止svnserve服务
svn import /alidata/www/examPro file:///home/svnadmin/examPro -m "import examPro"
在上一个例子里,将会拷贝目录examPro到版本库中;
这样这个工程就在纳入服务器的本地仓库管理。
为了使用SVN的同步更新机制,我们需要在svn服务器环境上签出一份最新工程拷贝(为表述方便,这里称为A目录)。
SVN使用SASL加密
1.配置svnserve.conf,注释掉password-db = passwd
并启用sqsl:use-sasl = true
2.新建一个svn.conf文件,一般放在/usr/lib/sasl2或者/etc/sasl2,内容为:
pwcheck_method: auxprop
sasldblistusers2 -f /home/svnadmin/config/sasldb // 查询用户
PS:如果访问库的时候出现以下提示 "Could not obtain the list of SASL mechanisms",原因是Linux默认没有安装DIGEST-MD5,此时,可用以下命令安装更新:yum install cyrus-sasl-md5 , cyrus-sasl-md5首页: /sasl/, 安装包下载地址:ftp:///pub/cyrus/
SVN安装
SVN服务器有2种运行方式:独立服务器和借助apache运行。
svnserve和apache相比是轻量级的,也比较简单,svnserve包含在subversion里面,所以只要安装了subversion就相当于安装了一个小型的svn服务器。它使用自己的一套协议通信。例如访问apache时使用 http:// 前缀,而svnserve使用 svn:// 前缀.
这里介绍的是通过独立服务器方式运行,优点是简单小巧。如果是支持较大规模的开发,还是推荐使用apache服务器方式;这里使用svnserver安装;
1.首先为SVN单独创建一个用户,这样可以使用操作系统的安全特性;
2.将svnadmin这个用户加入到sudu组;
3.安装:
sudo apt-get install subversion
接下来是[sasl]段,用于标识是否进行SASL加密处理;
use-sasl = true
min-encryption = 128
max-encryption = 256
变量 min-encryption 和 max-encryption 控制服务器所需要的加密强度。
3. 详细权限配置文件authz:
svnserve 已经在运行,你需要重启服务,并确保它读取了更新后的配置参数
killall svnserve //停止svnserve服务
svnserve –d –r /home/svn //启动svnserve服务
3.创建用户和密码
使用saslpasswd2 程序
语法:saslpasswd2 –c –f /home/svn/jiami/sasldb –u [svnserve.conf里面配置的realm名字] [username]
这个就是授权数据库,用于配置指定目录对用户的访问权限;
首先是指定一个用户组,按组来分配权限总是方便的,即使目前你的团队一个组只有一个人。在新加入成员的时候,你就能体会到按组分配权限的便利性了;
[groups]
g_fronter=cuicc,gdii
g_vip=coo
g_doc=yhh
配置完成;
SVN上传时同步到服务器其它目录
svn/examPro/hooks/目录下:
能看到一堆模版钩子文件,我们需要的是poy一份,命名为post-commit。然后修改;
1.设置语言环境:
#这行比较重要,需要根据你的服务器环境选择正确的语言环境,否则,这个update不会工作;
eg:saslpasswd2 -c -f /home/svnadmin/config/sasldb -u examPro colin
会出现交互界面,提示输入两次密码;
附:
saslpasswd2 -d -f home/svnadmin/config/sasldb -u 用户名//删除用户
auxprop_plugin: sasldb
sasldb_path: /home/svnadmin/config/sasldb
mech_list: DIGEST-MD5
其中sasldb_path 指定你打算将sasl加密的数据库放置的位置;
注释:pwcheck_method指明检查的方法,这里是“auxprop ”,这个pwcheck_method还对应了如启动一个代理作为认证服务等方式,而现在的意思就是使用本文件说的方式去检查。然后我们指明auxprop_plugin为sasldb,也就是使用一个文件存放用户名密码,也就是/home/svn/svnjiami/sasldb,其它的认证信息存放plugin还有sql和ldapdb。而mech_list指明了认证信息传递机制。
3.输出日志,便于跟踪查询
echo `whoami`,$REPOS,$REV >> /home/svnadmin/examPro/hooks/svn_hook.log
每当有更新时,更新日志里就会插入一条语句,表明何时有过更新;(这个也可用来配置环境时调试,用来查询同步是否起效)
我们的配置到这里就全部完成;
[2]:SVN使用SASL加密:/linn/archive/2011/08/04/2127014.html