SVN服务器搭建和配置

by pxz


发布于: 2011-04-11 所属分类: 工具 服务器 标签:  157


<h3 id="h3-1-svn-"><a name="1. 创建svn仓库根目录" class="reference-link"></a><span class="header-link octicon octicon-link"></span>1. 创建svn仓库根目录</h3><p><code>$ mkdir svnroot</code></p> <h3 id="h3-2-svn-"><a name="2. 进入svn根目录" class="reference-link"></a><span class="header-link octicon octicon-link"></span>2. 进入svn根目录</h3><p><code>$ cd svnroot</code></p> <h3 id="h3-3-code-www-test-com-code-"><a name="3. 创建名称为 <code>www.test.com</code> 的仓库**" class="reference-link"></a><span class="header-link octicon octicon-link"></span>3. 创建名称为 <code>www.test.com</code> 的仓库**</h3><p><code>$ svnadmin create --fs-type fsfs www.test.com</code></p> <p>创建好后, svnroot目录下会多出一个 <code>www.test.com</code> 文件夹</p> <p>注: bdb已过时,不推荐使用 <code>svnadmin create --fs-type bdb www.test.com</code> 创建</p> <h3 id="h3-4-svnroot-svn-"><a name="4. 以svnroot为根目录启动svn服务" class="reference-link"></a><span class="header-link octicon octicon-link"></span>4. 以svnroot为根目录启动svn服务</h3><p><code>$ svnserve -d -r .</code></p> <p>参数说明:<br>-r [—root] ARG : root of directory to serve 指定服务器根目录<br>-d [—daemon] : daemon mode 以守护进程的方式运行</p> <h3 id="h3-5-"><a name="5. 测试服务是否正常" class="reference-link"></a><span class="header-link octicon octicon-link"></span>5. 测试服务是否正常</h3><pre><code>$ cd /tmp/ $ mkdir svntest $ cd svntest $ svn co svn://127.0.0.1/www.test.com $ cd www.test.com $ ls #这时查看仓库是空的 $ touch t.php #创建一个新的文件进行提交 $ svn add t.php A 1.php $ svn ci -m 'test' svn: E170001: Commit failed (details follow): svn: E170001: Authorization failed </code></pre><p>可以发现,创建的 <code>www.test.com</code> 仓库可无须账号直接检出, 但是没有提交的权限, 接下来需要配置svn账号和权限</p> <h3 id="h3-6-"><a name="6. 配置账号和权限" class="reference-link"></a><span class="header-link octicon octicon-link"></span>6. 配置账号和权限</h3><pre><code>$ cd /tmp/svnroot/www.test.com/conf/ $ ls authz passwd svnserve.conf </code></pre><p>进入<code>www.test.com</code>仓库的配置目录, 这里有三个文件</p> <pre><code>passwd : 用于存放用户名和密码信息 authz : 用户组配置,用户组权限配置, 目录权限配置 svnserve.conf : 用于配置 authz passwd 文件位置及匿名用户和非匿名用户的读写权限 </code></pre><p>1). 如何开启匿名用户的提交权限</p> <p>如果我们需要匿名用户有提交的权限, 只需要把 svnserve.conf 中的 </span>anon-access = read 取消注释并修改成 anon-access = write</p> <p>2). 配置svn用户</p> <p>修改svnserver.conf配置文件文件, 找到</p> <pre><code>auth-access = write password-db = passwd authz-db = authz </code></pre><p>这三行, 把其注释去掉。<br>修改passwd文件, 添加两个用户</p> <pre><code>[users] zsg=pwdzsg #用户名zsg,密码pwdzsg tlv=pwdtlv </code></pre><p>修改auths文件, 添加配置如下</p> <pre><code>#这里把zsg分配给admin分组, tlv分配user分组 [groups] admin=zsg user=tlv #这里设置版本库的根目录的权限 [/] #这里设置各个分组的权限 @admin=rw #admin组拥有读写权限 @user=r #user组只有读权限, 没有写权限 </code></pre><p>此时, 如果我们使用zsg账户, 可检出, 也可提交代码<br>如果我们用tlv账户, 只能检出查看, 不能提交代码</p> <h3 id="h3-7-"><a name="7. 关于钩子目录" class="reference-link"></a><span class="header-link octicon octicon-link"></span>7. 关于钩子目录</h3><p>start-commit 提交开始之前执行<br>pre-commit 提交结束之前执行<br>post-commit 成功提交后执行</p> <p>pre-unlock 路径解锁前执行<br>post-unlock 路径解锁后执行<br>pre-lock 路径被锁定前执行<br>post-lock 路径被锁定后执行</p> <p>pre-revprop-change property的添加,删除,修改前执行<br>post-revprop-change property的添加,删除,修改成功后执行</p>

发表评论

暂无评论

搜索
用户登陆