diff options
Diffstat (limited to 'zh_CN.GB2312/books/handbook/network-servers')
-rw-r--r-- | zh_CN.GB2312/books/handbook/network-servers/chapter.sgml | 97 |
1 files changed, 62 insertions, 35 deletions
diff --git a/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml b/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml index 8b62b26dd7..33503f322d 100644 --- a/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml +++ b/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.87 + Original Revision: 1.88 $FreeBSD$ --> @@ -264,7 +264,7 @@ server-program-arguments</programlisting> <listitem> <para>可以是<literal>stream</literal>、<literal>dgram</literal>、<literal>raw</literal>或者 <literal>seqpacket</literal>。 <literal>stream</literal> - 用在基于连接的,TCP 服务;而<literal>dgram</literal>被用于服务用于<acronym>UDP</acronym>传输协议。</para> + 用于基于连接的 TCP 服务;而 <literal>dgram</literal> 则用于使用 <acronym>UDP</acronym> 协议的服务。</para> </listitem> </varlistentry> @@ -321,13 +321,13 @@ server-program-arguments</programlisting> 里头调用的服务是否可以自己处理socket. <option>dgram</option>socket类型必须使用<option>wait</option>, 而stream socket daemons, 由于通常使用多线程方式,应当使用 - <option>nowait</option>. <option>wait</option> 通常usually - 把多个socket丢给单个服务进程, 而<option>nowait</option> 则 - 会为每个新的socket生成一个子进程。</para> + <option>nowait</option>. <option>wait</option> 通常把多个 + socket 丢给单个服务进程, 而 <option>nowait</option> 则 + 会为每个新的 socket 生成一个子进程。</para> - <para>使用<option>max-child</option>选项可以设定针对服务, - <application>inetd</application>可以派生出来的最大子进程数量。 - 如果某特定服务需要限定最高10个实例,把<literal>/10</literal> + <para><option>max-child</option> 选项能够配置 + <application>inetd</application> 能为本服务派生出的最大子进程数量。 + 如果某特定服务需要限定最高10个实例, 把<literal>/10</literal> 放到<option>nowait</option>后头就可以了。 指定 <literal>/0</literal> 表示不限制子进程的数量。</para> @@ -598,18 +598,18 @@ mountd_flags="-r"</programlisting> <secondary>export examples</secondary> </indexterm> - <para>紧接着的这个例子说明了如何输出一个文件系统,尽管具体设定和您 - 的环境以及网络配置有关。作为实例,为了输出<filename>/cdrom</filename> - 到三个的例子机器,它们有同样域名(因此他们的域名不大对)或者在您的 - <filename>/etc/hosts</filename>文件里头有记录。<option>-ro</option> - 标志将被输出的文件系统置为只读。由于这个标志,远程系统将无法在被输出 - 的文件系统上写入任何变动。</para> + <para>下面是一个输出文件系统的例子, 不过这种配置与您所处的网络环境及其配置密切相关。 + 例如, 如果要把 <filename>/cdrom</filename> 输出给与服务器域名相同的三台计算机 + (因此例子中只有机器名, 而没有给出这些计算机的域名), 或在 + <filename>/etc/hosts</filename> 文件中进行了这种配置。 <option>-ro</option> + 标志表示把输出的文件系统置为只读。 由于使用了这个标志, + 远程系统在输出的文件系统上就不能写入任何变动了。</para> <programlisting>/cdrom -ro host1 host2 host3</programlisting> <para>下面的例子可以输出<filename>/home</filename>给三个以IP地址方式表示的主机。 对于在没有配置<acronym>DNS</acronym>服务器的私有网络里头,这很有用。 - 此外,the <filename>/etc/hosts</filename> 文件也可以用以配置主机名;参看 &man.hosts.5; 。 + 此外, <filename>/etc/hosts</filename> 文件也可以用以配置主机名;参看 &man.hosts.5; 。 <option>-alldirs</option> 标记允许子目录被作为挂载点。 也就是说,客户端可以根据需要挂载需要的目录。 </para> @@ -641,13 +641,12 @@ mountd_flags="-r"</programlisting> <programlisting>/usr/src /usr/ports client</programlisting> - <para>The properties of one file system exported to a given host - must all occur on one line. Lines without a client specified - are treated as a single host. This limits how you can export - file systems, but for most people this is not an issue.</para> + <para>在同一文件系统中, 输出到指定客户机的所有目录, 都必须写到同一行上。 + 没有指定客户机的行会被认为是单一主机。 这限制了你可以怎样输出的文件系统, + 但对绝大多数人来说这不是问题。</para> <para>下面是一个有效输出列表的例子, - <filename>/usr</filename> and <filename>/exports</filename> + <filename>/usr</filename> 和 <filename>/exports</filename> 是本地文件系统:</para> <programlisting># Export src and ports to client01 and client02, but only @@ -1212,7 +1211,7 @@ Exports list on foobar: <primary>NIS</primary> <secondary>域名</secondary> </indexterm> - <para>这可能不是您过去使用的 <quote>域名(domainname)</quote>. + <para>这可能不是您过去使用的 <quote>域名(domainname)</quote>。 它的规范的叫法, 应该是 <quote>NIS 域名</quote>。 当客户机广播对此信息的请求时, 它会将 NIS 域的名字作为请求的一部分发出。 这样, @@ -1339,7 +1338,7 @@ Exports list on foobar: (超级用户) 的帐号)。</para> <note><para>确认 - <filename>/var/yp/master.passwd</filename> 这个文件是同组,其他 + <filename>/var/yp/master.passwd</filename> 这个文件是同组用户, 以及其他用户不可读的 (模式 600)! 如果需要的话, 用 <command>chmod</command> 命令来改它。</para></note> @@ -1384,7 +1383,7 @@ ellington has been setup as an YP master server without any errors.</screen> <filename>/var/yp/Makefile.dist</filename> 来创建 <filename>/var/yp/Makefile</filename> 文件。 创建完之后, 这个文件会假定您正在操作只有 FreeBSD - 及其德单服务器 NIS 环境。 由于 <literal>test-domain</literal> + 机器的单服务器 NIS 环境。 由于 <literal>test-domain</literal> 还有一个从服务器, 您必须编辑 <filename>/var/yp/Makefile</filename>:</para> @@ -1478,9 +1477,9 @@ Don't forget to update map ypservers on ellington.</screen> 21 * * * * root /usr/libexec/ypxfr passwd.byuid</programlisting> <para>这两行将强制从服务器将映射与主服务器同步。 - 由于主服务器会场时确保所有其 NIS 映射的变动都与从服务器知会, + 由于主服务器会尝试确保所有其 NIS 映射的变动都知会从服务器, 因此这些项并不是绝对必需的, 尽管如此, - 强制更新能够保证这些对依赖于服务器的系统至关重要的口令信息及时地同步, + 强制更新能够保证这些对依赖于服务器的系统至关重要的口令信息及时地同步。 同时, 在繁忙的网络上, 有时也会出现映射同步更新不完全的情况。</para> <para>现在, 在从服务器上执行 <command>/etc/netstart</command>, @@ -1969,8 +1968,8 @@ ellington&prompt.user; <userinput>ypcat -k netgroup.byuser</userinput></screen> IT 部门也开始招收实习生了。 IT 实习生允许使用普通的终端, 以及不太重要的服务器; 而 IT 学徒, 则可以登录主服务器。 您增加了新的 netgroup <literal>IT_INTERN</literal>, 以及新的 IT - IT 实习生到这个 netgroup 并开始修改每一台机器上的配置…… - 老话说得好: <quote>牵一发, 动全身</quote>。</para> + 实习生到这个 netgroup 并开始修改每一台机器上的配置…… + 老话说得好:<quote>牵一发, 动全身</quote>。</para> <para>NIS 通过 netgroup 来建立 netgroup 的能力, 正可以避免这样的情形。 一种可能的方法是建立基于角色的 netgroup。 @@ -1988,7 +1987,7 @@ USERBOX IT_EMP ITINTERN USERS</programlisting> <para>这种定义登录限制的方法, 在您能够将机器分组并加以限制的时候可以工作的相当好。 - 不行的是, 这是种例外, 而非规律。 多数时候, + 不幸的是, 这是种例外, 而非常规情况。 多数时候, 需要按机器去定义登录限制。</para> <para>与机器相关的 netgroup 定义, 是处理上述策略改动的另一种可能的方法。 @@ -2047,7 +2046,7 @@ TWO (,hotel,test-domain) 应该可以使用您的数据库的报告工具来创建映射的第一部分。 这样, 新用户就自动地可以访问这些机器了。</para> - <para>最后的提醒: 使用基于机器的 netgroup 并不是普适的。 + <para>最后的提醒: 使用基于机器的 netgroup 并不总是适用的。 如果正在为学生实验室部署数十台甚至上百台同样的机器, 您应该使用基于角色的 netgroup, 而不是基于机器的 netgroup, 以便把 NIS 映射的尺寸保持在一个合理的范围内。</para> @@ -3671,7 +3670,7 @@ DocumentRoot /www/someotherdomain.tld <para><acronym>PHP</acronym>, 也称为 <quote>PHP: Hypertext Preprocessor</quote>, - 是一种通用的脚本语言, 并且特别适合于 Web 开发。 + 是一种特别适合于 Web 开发的通用脚本语言。 它能够很容易地嵌入到 <acronym>HTML</acronym> 之中, 其语法接近于 C、 &java;, 以及 Perl, 以期让 web 开发人员的一迅速撰写动态生成的页面。</para> @@ -3679,13 +3678,36 @@ DocumentRoot /www/someotherdomain.tld <para>要获得用于 <application>Apache</application> web 服务器的 <acronym>PHP</acronym>5 支持, 可以从安装 - <filename role="package">www/mod_php5</filename> + <filename role="package">lang/php5</filename> port 开始。</para> - <para>上述操作将安装并配置用于支持动态 <acronym>PHP</acronym> 应用程序所需的模块。 - 请检查并确认在 - <filename>/usr/local/etc/apache/httpd.conf</filename> - 中已经加入了下面的小节:</para> + <para>在首次安装 <filename role="package">lang/php5</filename> port + 的时候, 系统会自动显示可用的一系列 + <literal>OPTIONS</literal> (配置选项)。 如果您没有看到菜单, + 例如由于过去曾经安装过 <filename + role="package">lang/php5</filename> port 等等, + 可以用下面的命令再次显示配置菜单, 在 port 的目录中执行:</para> + + <screen>&prompt.root; <userinput>make config</userinput></screen> + + <para>在配置选项对话框中, 选中 + <literal>APACHE</literal> 这一项, 就可以联编出用于与 + <application>Apache</application> web 服务器配合使用的可动态加载的 + <application>mod_php5</application> 模块了。</para> + + <note> + <para>由于各式各样的原因 (例如, 出于已经部署的 web 应用的兼容性考虑), + 许多网站仍在使用 <acronym>PHP</acronym>4。 如果您需要 + <application>mod_php4</application> 而不是 + <application>mod_php5</application>, 请使用 + <filename role="package">lang/php4</filename> port。 + <filename role="package">lang/php4</filename> port 也支持许多 + <filename role="package">lang/php5</filename> port 提供的配置和编译时选项。</para> + </note> + + <para>前面我们已经成功地安装并配置了用于支持动态 <acronym>PHP</acronym> 应用所需的模块。 + 请检查并确认您已将下述配置加入到了 + <filename>/usr/local/etc/apache/httpd.conf</filename> 中:</para> <programlisting>LoadModule php5_module libexec/apache/libphp5.so</programlisting> @@ -3704,6 +3726,11 @@ DocumentRoot /www/someotherdomain.tld <screen>&prompt.root; <userinput>apachectl graceful</userinput></screen> + <para>在未来您升级 <acronym>PHP</acronym> 时, + <command>make config</command> 这步操作就不再是必需的了; + 您所选择的 <literal>OPTIONS</literal> 会由 &os; + 的 Ports 框架自动保存。</para> + <para>在 &os; 中的 <acronym>PHP</acronym> 支持是高度模块化的, 因此基本安装的功能十分有限。 增加其他功能的支持非常简单, 只需通过 <filename role="package">lang/php5-extensions</filename> port |