<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux for Fun 中文站 &#187; 编程</title>
	<atom:link href="http://zh.linuxforfun.net/tag/%e7%bc%96%e7%a8%8b/feed/" rel="self" type="application/rss+xml" />
	<link>http://zh.linuxforfun.net</link>
	<description>Just for Fun</description>
	<lastBuildDate>Mon, 22 Feb 2010 06:56:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>使用 cvsd 配置 cvs 服务器</title>
		<link>http://zh.linuxforfun.net/2008/04/27/cvsd-setup-cvs-pserver/</link>
		<comments>http://zh.linuxforfun.net/2008/04/27/cvsd-setup-cvs-pserver/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 14:49:10 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[软件开发]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[cvsd]]></category>
		<category><![CDATA[开发]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/?p=18</guid>
		<description><![CDATA[CVS 服务器最初被设计成由“xinetd”启动。不过现在的 Linux 发布版大多缺省不再安装或启动 xinetd 了，并且 CVS 服务器的配置也比较复杂。cvsd 是一个对 CVS pserver 的包装程序，它可以把 CVS 启动成一个独立的服务，并用指定的 uid/gid 运行在 chroot 的环境下，其安全性有所提高。并且，cvsd 的配置也要相对简单些。 本文将描述如何使用 cvsd 配置一个 CVS pserver。 1、安装 cvsd 软件包 对于基于 RPM 的 Linux 发布版，本站提供了预编译的 RPM 下载： cvsd-1.0.14-1.i386.rpm cvsd-1.0.14-1.src.rpm (source) 对其他发布版，您可以从 cvsd 的原始站点下载 源代码包，自己编译和安装。 2、配置文件 /etc/cvsd/cvsd.conf 检查 cvsd 的配置文件。有几点需要注意： RootJail：cvs 将运行的 chroot 根目录。缺省设置为 RootJail /var/lib/cvsd 对于基于 RPM 的发布版，cvsd [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "使用 cvsd 配置 cvs 服务器", url: "http://zh.linuxforfun.net/2008/04/27/cvsd-setup-cvs-pserver/" });</script>]]></description>
			<content:encoded><![CDATA[<p>CVS 服务器最初被设计成由“xinetd”启动。不过现在的 Linux 发布版大多缺省不再安装或启动 xinetd 了，并且 CVS 服务器的配置也比较复杂。<a href="http://ch.tudelft.nl/~arthur/cvsd/">cvsd</a> 是一个对 CVS pserver 的包装程序，它可以把 CVS 启动成一个独立的服务，并用指定的 uid/gid 运行在 chroot 的环境下，其安全性有所提高。并且，cvsd 的配置也要相对简单些。</p>
<p>本文将描述如何使用 cvsd 配置一个 CVS pserver。</p>
<p><strong>1、安装 cvsd 软件包</strong></p>
<p>对于基于 RPM 的 Linux 发布版，本站提供了预编译的 RPM 下载：</p>
<blockquote><p><a href="http://linuxforfun.net/misc/cvsd-1.0.14-1.i386.rpm">cvsd-1.0.14-1.i386.rpm</a><br />
<a href="http://linuxforfun.net/misc/cvsd-1.0.14-1.src.rpm">cvsd-1.0.14-1.src.rpm</a> (source)</p></blockquote>
<p>对其他发布版，您可以从 cvsd 的原始站点下载 <a href="http://ch.tudelft.nl/~arthur/cvsd/downloads.html">源代码包</a>，自己编译和安装。</p>
<p><span id="more-18"></span></p>
<p><strong>2、配置文件 /etc/cvsd/cvsd.conf</strong></p>
<p>检查 cvsd 的配置文件。有几点需要注意：</p>
<ul>
<li>RootJail：cvs 将运行的 chroot 根目录。缺省设置为<br />
<blockquote><p><code>RootJail /var/lib/cvsd</code></p></blockquote>
<p>对于基于 RPM 的发布版，cvsd 的安装包已经对这个目录进行了初始化：</p>
<blockquote><p><code># cvsd-buildroot /var/lib/cvsd</code></p></blockquote>
<p>对于其他发布版，如果这个目录没有初始化；或者您在配置文件中改变了缺省目录“RootJail”，您就需要运行 cvsd-buildroot 命令手动初始化。</li>
<li>Uid 和 Gid: cvsd 运行时使用的用户 ID 和组 ID。缺省设置是：<br />
<blockquote><p><code>Uid cvsd<br />
Gid cvsd</code></p></blockquote>
<p>对于基于 RPM 的发布版，cvsd 的安装包已经创建了 cvsd 用户和组。对于其他发布版，您必须手动创建它们。</li>
<li>Repos: 软件仓库的路径，每个仓库在配置文件中用一行这个配置。每个路径都是相对于“RootJail”并且以“/”字符开头。例如：<br />
<blockquote><p><code>Repos /coolsoft<br />
Repos /hotsoft</code></p></blockquote>
</li>
</ul>
<p><strong>3、创建软件仓库</strong></p>
<p>创建软件仓库，如“coolsoft”，用如下命令：</p>
<blockquote><p><code># cvs -d /var/lib/cvsd/coolsoft init</code></p></blockquote>
<p>这个命令将创建目录 /var/lib/cvsd/coolsoft，并在其下创建一个 CVSROOT 目录树。</p>
<p>如果您允许用户创建此仓库的顶级目录：</p>
<blockquote><p><code># chown cvsd:cvsd /var/lib/cvsd/coolsoft</code></p></blockquote>
<p>编辑文件 <code>/var/lib/cvsd/coolsoft/CVSROOT/config</code> 修改“LockDir”选项：</p>
<blockquote><p><code>LockDir /tmp/coolsoft</code></p></blockquote>
<p>这个目录是相对于“RootJail”目录，如 /var/lib/cvsd。必须手工创建此目录：</p>
<blockquote><p><code># mkdir /var/lib/cvsd/tmp/coolsoft<br />
# chown cvsd:cvsd /var/lib/cvsd/tmp/coolsoft</code></p></blockquote>
<p>现在，创建所有可以访问这个仓库的用户和他们的密码：</p>
<blockquote><p><code># cvsd-passwd /var/lib/cvsd/coolsoft jack</code></p></blockquote>
<p>如果您允许匿名访问这个仓库，创建一个用户，名为“anonymous”或“anoncvs”，并设置密码为空：</p>
<blockquote><p><code># cvsd-passwd /var/lib/cvsd/coolsoft anoncvs</code></p></blockquote>
<p>创建新文件 <code>/var/lib/cvsd/coolsoft/CVSROOT/writers</code>：</p>
<blockquote><p><code># touch /var/lib/cvsd/coolsoft/CVSROOT/writers</code></p></blockquote>
<p>可以保护仓库的访问权限，否则所有的用户都可以对本仓库有写入权限。在这个文件里，加入所有可以对本仓库有写入权限的用户名，一行一个用户。</p>
<p>如果您不允许用户创建仓库的顶级目录，您可以先创建将要用到的顶级目录，以存放用户递交的文件：</p>
<blockquote><p><code># cd /var/lib/cvsd/coolsoft<br />
# mkdir client server<br />
# chown cvsd:cvsd client server</code></p></blockquote>
<p><strong>4、启动 cvsd，测试软件仓库及权限</strong></p>
<p>启动 cvsd，使用命令</p>
<blockquote><p><code># /etc/init.d/cvsd start</code></p></blockquote>
<p>测试新的仓库：</p>
<blockquote><p><code># cvs -d :pserver:jack@myhost.at.office/coolsoft login<br />
# cvs -d :pserver:jack@myhost.at.office/coolsoft co client</code></p></blockquote>
<p><a href="http://sharethis.com/item?&wp=3.0.1&amp;publisher=cc961fc8-1c70-4a60-b106-d269532ab684&amp;title=%E4%BD%BF%E7%94%A8+cvsd+%E9%85%8D%E7%BD%AE+cvs+%E6%9C%8D%E5%8A%A1%E5%99%A8&amp;url=http%3A%2F%2Fzh.linuxforfun.net%2F2008%2F04%2F27%2Fcvsd-setup-cvs-pserver%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/04/27/cvsd-setup-cvs-pserver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
