====================================================================================== 环境: Centos 5.5x86 svn-server:10.0.0.99 web-server:10.0.0.105 ====================================================================================== 一:svn-server安装 mkdir -p /tools/svn cd /tools/svn subversion-1.6.6.tar.gz subversion-deps-1.6.6.tar.gz root用户编译安装 -------------------------------------------------------------------------------------- tar xfvz subversion-1.6.6.tar.gz tar xfvz subversion-deps-1.6.6.tar.gz cd subversion-1.6.6 ./configure --prefix=/usr/local/svn \ --without-berkeley-db make make install cd .. #测试是否安装成功 -------------------------------------------------------------------------------------- [root@jesse svn]# /usr/local/svn/bin/svnversion --version svnversion, version 1.6.6 (r40053) compiled Feb 18 2012, 17:34:14 Copyright (C) 2000-2009 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). -------------------------------------------------------------------------------------- 二:配置建立svn版本库目录可建多个 #建立svn数据目录和密码文件目录 mkdir -p /data/svndata mkdir -p /data/svnpasswd #建立svn版本库: /usr/local/svn/bin/svnadmin create /data/svndata/develop #修改svn版本库配置文件版本库: vi /data/svndata/develop/conf/svnserve.conf #-------------------------------------------------------------------------------------- [general] anon-access = read auth-access = write password-db = /data/svnpasswd/passwd authz-db = /data/svnpasswd/authz [sasl] # use-sasl = true # min-encryption = 0 # max-encryption = 256 #-------------------------------------------------------------------------------------- 配置SVN用户访问权限: -------------------------------------------------------------------------------------- * 权限配置文件中出现的用户名必须已在用户配置文件中定义. * 对权限配置文件的修改立即生效,不必重启svn. 用户组格式: 其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔. 版本库目录格式: [/项目/目录] @<用户组名> = <权限> <用户名> = <权限> 方框号内部分可以有多种写法: [/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/data/svndata,[/]就是表示对全部版本库设置权限. [/] 表示对版本库develop设置权限. [/abc] 表示对版本库develop中的abc项目设置权限. [/abc/aaa] 表示对版本库develop中的abc项目的aaa目录设置权限 权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户. 权限可以是w、r、wr和空,空表示没有任何权限. -------------------------------------------------------------------------------------- vi /data/svnpasswd/authz #-------------------------------------------------------------------------------------- [groups] develop=zhangly [develop:/] @develop=rw *= #-------------------------------------------------------------------------------------- vi /data/svnpasswd/passwd #-------------------------------------------------------------------------------------- [users] zhangly=654321 #-------------------------------------------------------------------------------------- 三:启动svn建立启动svn的用户 groupadd develop useradd -g develop www echo "654321"|passwd --stdin www && history -c #允许用户svn访问版本库: #chown -R svn:svn /data/svndata #启动svn #su - svn -c "/usr/local/svn/bin/svnserve -d --listen-port 9999 -r /data/svndata" /usr/local/svn/bin/svnserve -d --listen-port 9999 -r /data/svndata 其中: su -svn表示以用户svn的身份启动svn; -d表示以daemon方式(后台运行)运行; --listen-port 9999表示使用9999端口,可以换成你需要的端口.但注意,使用1024以下的端口需 要root权限,不加此参数的默认端口是3690. -r /data/svndata指定根目录是/data/svndata #检查: [root@jesse svn]# ps -ef|grep svnserve root 25441 1 0 18:14 ? 00:00:00 /usr/local/svn/bin/svnserve -d --listen-port 9999 -r /data/svndata #加入开机启动项 echo '/usr/local/svn/bin/svnserve -d --listen-port 9999 -r /data/svndata' >> /etc/rc.local -------------------------------------------------------------------------------------- 至此,纯svn部署完毕!
相关文章: