中文 Linux WWW HOWTO 原著作者: Mr. Poet, [1]poet@linuxports.com 译者: 王世渠[Wang, Shyh-Chyu] v0.85, 21 August 1999 _________________________________________________________________ 本文叙述,为了提供全球资讯网[WWW]的各种服务,在Linux上的设定资讯[包 括设定伺服端及用户端程式]。本篇HOWTO的目的,不是在提供一份详细的手册, 而是在提供一份概略的叙述,并提供如何去找到进一步资讯的方向。 _________________________________________________________________ 1. 前言 * 1.1 著作权声明 * 1.2 读者意见 * 1.3 最新版本 2. 如何设定全球资讯网用户端软体 (Antiquated) * 2.1 概述 3. Lynx * 3.1 如何取得? 4. Emacs-W3 * 4.1 如何取得? 5. Netscape Navigator/Communicator * 5.1 各种版本及选项 * 5.2 如何取得 * 5.3 安装 6. 设定全球资讯网伺服器 * 6.1 概述 7. Apache * 7.1 如何取得 * 7.2 编译及安装 * 7.3 设定 * 7.4 建立虚拟网站主机 * 7.5 CGI scripts * 7.6 使用者网页目录 * 7.7 Daemon模式与Inetd模式 * 7.8 开放Put及delete命令 * 7.9 使用Authentication/Access Control * 7.10 su-exec * 7.11 Imagemaps * 7.12 SSI/XSSI * 7.13 模组系统 8. 伺服器另集 9. 区域网路[Intranet] * 9.1 基本需求 * 9.2 本文件的更新版本 * 9.3 读者意见反映 10. 安装HTTP伺服器 * 10.1 下载前准备工作 * 10.2 编译HTTPd 11. 测试HTTPd 12. 连线到Linux伺服器 * 12.1 设定Linux伺服器 * 12.2 设定Netware伺服器 * 12.3 设定Netware Client * 12.4 设定微软用户端 * 12.5 在Macintosh上设定TCP/IP 13. 设定区域网路 * 13.1 NCPFS * 13.2 SMBFS * 13.3 NFS 14. 存取网站资料 * 14.1 存取上挂的档案系统 * 14.2 连线到网际网路 * 14.3 其馀用途 15. 其他可以办到的事 16. 贡献及版权[Credits and Legalities] * 16.1 感谢[Thanks] * 16.2 著作权资讯[Copyright information] 17. 进一步阅读 * 17.1 O'Reilly & Associates Books * 17.2 Internet Request For Comments (RFC) _________________________________________________________________ 1. 前言 为了追求一个真正擅长网际网路的操作系统,许多人因而开始试用Linux。 另外 ,又有一些学院.、大学、非营利事业、及一些小型企业。他们希望建立一个网站 , 又不需要什麽经费。这就是 WWW-HOWTO 原始的目的。本文件主要叙述如何为 网际网路 中最主要的全球资讯网[World Wide Web]设定伺服端及用户端程式。 文中的价格一律以美金计算。并假设你的Linux是建立在Intel的平台上。如果你 使用其他 平台,指令及产生的结果可能会不一样。你可经由许多连结来下载此文 件,如果可能请尽 量经由映射站来下载,并保留一份在你的主伺服器上。 1.1 著作权声明 本文件的著作权 (c) 1999 属於 Mr. Poet。 本文件的著作权 (c) 1999 属於本文件原始作者 Peter Dreuw。[0.8版前的所有 文件] 本文件为自由软体文件,在不违反自由软体协会发行的GNU General Public Licence[第二版或 任何《参考你的意见後的》後续版本]下,可以自由复制发 行或改写。 本HOWTO的发行,只期望能够是一份有用的资料,而没有附带任何的保证。对任何 商业行为不隐含任何 保证,对任何特定的目的也不保证绝对符合。相关细节请参 考GNU General Public Licence。 要取得一份GNU General Public License,请来信给自由软体协会[Free Software Foundation], 地址:Inc., 675 Mass Ave, Cambridge, MA 02139, USA.。 文件中所提到的注册商标,归各自拥有者所有。 原著作内容(Origional Copyright): This document is Copyright (c) 1999 by Mr. Poet This document is Copyright (c) 1997 by Wayne Leister. The original author of this document was Peter Dreuw.(All versions prior to 0.8) This HOWTO is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This document is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details. You can obtain a copy of the GNU General Public License by writing to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Trademarks are owned by there respective owners. 1.2 读者意见 欢迎所有的意见,笔者并非万事通,有些资料来源还是一些蛮烂的网站,疏忽错 误 在所难免。但在反映错误前,请先比对一下最新版本。也许你所发现的问题, 已经在 下一版中订正了。[下一段告诉你如何取得最新版本]。 读者意见请寄 至 [2]poet@linuxports.com. 1.3 最新版本 最新版本可经由下面的永久网址中取得: [3]Website. 2. 如何设定全球资讯网用户端软体 (Antiquated) 请注意!本章自1997年来,一直都还未修改过。它所以保留下来,只是要告诉 你以 前的作法。所有有关Linux的软体,都是来自Netscape及Lynx。它们也 是Linux上最主要的 浏览器,如果你还没有这些浏览器,那麽赶快依照相关章 节的线索去下载吧! 下面章节介绍如何设定全球资讯网浏览器。如果你认为某个浏览器值得一题,却 不在其中, 请惠於赐教。在这一版本中,只有某些浏览器有单独的章节。但是在 概论中,会尽量含盖所 有可以找得到的浏览器。某些主要浏览器如果真的值得细 说,也会在未来另辟章节加以介绍。 「概述」是用来提供你一些资讯,帮助你决定要用什麽浏览器。「细说」针对每 一浏览器, 细述如何去安装、设定及维护。 事实上,平常当我不想放出X-Window/Netscape这个怪兽出来捣蛋时,我只 用Lynx。 2.1 概述 [4]Navigator/Communicator Navigator是本文中唯一在Linux上支援完整HTML功能的浏览器。例如 ,Frame、Java、 Javascript自动更新、及Layers的功能。它还可以收 发news及mail。但是,它对电脑资源 也许太像一只贪婪的猪,吃掉一大 堆CPU time及记忆体。而且,还在硬碟中设快取空间, 浪费硬碟空间。 现在Netscape乃是一OpenSource的软体,可以从 [5]ftp.netscape.com下 载。 [6]Lynx Lynx是最小的浏览器。为一自由软体原始程式,可依照GNU的public licence取得。虽然是 以文字为主,但Lynx还是有蛮多特殊功能。现在已 可支援table、color[非curses]及frame。 Lynx支援的frame功能: Lynx只支援部份的frame功能。一旦发现了frame,它会读frame的标题,显示 成连结。这常常在语意上让人误解。 Kfm Kfm为K Desktop Environment[KDE]的一部份。KDE是在X-Windows上的 一个系统。提供一些 像drag and drop、sound、trashcan及look and feel的功能。Kfm是K file manager ,也是浏览器。用来当浏览器时,可 以支援frame、table、ftp下载,检查tar文件库[Archieve] 等等.. .。现在的版本为1.1.1而1.1.2即将启用。虽然在没有KDE下,可以使 用Kfm,但KDE的函 式库还是要有。KDE及Kfm的细节,请参考 [7]http://www.kde.org。 [8]Emacs Emacs是个万能的程式。是文件处理器、是news阅读器、是Mail阅读器、 也是浏览器。要学习使用 Emacs,一开始时,要学的东西实在太多了,因 为你必须去学所有按键的功能。而X-Windows的版 本就容易得多了,因为 大部份的功能都在选单中。但是有一个缺点,即它主要是以文字模式为主 。[注:在X-Windows中,Emacs可以画图。]Emacs也是自由软体,原始 程式可依据GNU的 public licence取得。 NCSA Mosaic Mosaic是Illinois大学的NCSA[National Center for Supercomputing Application]发 展的X-Windows浏览器:NCSA曾花四年时间在这个开发 计划,现在已转移注意力到其它计划,所以Mosaic 已经无人更新。因为 它的原始程式,为自由软体,如果有人想搞个计划,开发在非商业用途上 的浏览器, Mosaic对它来说可能蛮值得考虑的。 Amaya Amaya是为了W3C的HTML3.2标准所开发的X-Windows观念设计用途浏览器, 所以可支援所有HTML3.2 标准。它也支援HTML4.0的部份标准。Table 、form、用户端image map、put publishing、gif、 jpeg及png图形都可 支援。不但可当浏览器,也可当编辑工具。最新版本为1.0 beta版。1.1 beta 版还在作内部测试,不久就可开放使用。 相关细节参考 [9]http://www.w3.org/Amaya/。 Amaya可从 [10]ftp://ftp.w3.org/pub/Amaya-LINUX-ELF-1.0b.tar.gz下 载。 Qweb Qweb是另一个X-Windows的基本浏览器。Table、form、及伺服器image map都可支援。最新版本为 1.3版。 相关细节参考 [11]http://sunsite.auc.dk/qweb/。 来源档可从 [12]http://sunsite.auc.dk/qweb/qweb-1.3.tar.gz取得。 也可从 [13]http://sunsite.auc.dk/qweb/qweb-1.3-1.i386.rpm取 得RedHat的RPM档。 笔者建议所有浏览器的使用者只使用Netscape 4.x,Lynx或Netscape 5.x Alpha 。他们是在 Linux中,唯一支援大部份功能的浏览器。个人建议使用Netscape 5.x Alpha。它虽然只是 Alpha版,但极安定且比4.x版更能支援各种标准。 3. Lynx Lynx是一个现有的轻巧型浏览器。因为只展示文字,它不会吃掉太多线路宽频 [bandwith], 也不会吃掉太多系统资源。可在任何显示方式、任何终端机 或xterm中展示。执行这个小浏览 器,你并不须要X Windows 系统或多馀的系统 记忆体。 3.1 如何取得? 大部份的Linux套件中,就已经有Lynx了。告诉你如何编译、安装,可能对你来说 没什麽意义。 最新版本为2.8.2版,可由 [14]http://www.slcc.edu/lynx/fote/取得,也可从任何 像 [15]ftp://sunsite.unc.edu under /pub/Linux/apps/www/broswers/ 的Linux FTP伺服器或映射站取得。 相关细节,可试试下列网站: Lynx Links [16]http://www.crl.com/~subir/lynx.html Lynx Pages [17]http://lynx.browser.org Lynx Help Pages [18]http://www.crl.com/~subir/lynx/lynx_help/lynx_help_main.htm l (the same pages you get from lynx --help and typing ? in lynx) 注:Lynx help page最近迁移,如果你在使用旧版Lynx,请将lynx.cfg[ 在/usr/lib中]中 的地址改为上述地址。 Lynx最特殊的处,大概是它的batch mode retrieval。你可以写一个shell script,用http, FTP, gopher, WAIS, NNTP或file://来抓一个档案、文件库 [Archieve] 或类似的东西,然後还可存在磁碟中。你还可只由-post_data选项 来抓标准输入资料,在 batch mode中填写HTML form。 Lynx的其馀功能,请参考Lynx的help及man page。如果你发现Lynx的其他功能, 而且认为它非常值得 写入本文件中,请不吝赐教。 4. Emacs-W3 Emacs有许多不同的款式。最受注目的是GNU Emacs及xEmacs。GNU Emacs是最早 的Emacs,由Free Software Fundation开放使用。主要以文字为主,但可 在X-Windows中执行。Xemacs[正式名称为 Lucid Emacs]只能在X-Windows中执 行。它还有许多和X-Windows有关的功能[较好的目录等...]。 4.1 如何取得? 大部份Linux套件含有GNU Emacs。 GNU Emacs的最新版本为19.34。没有网站,但有FTP站 [19]ftp://ftp.gnu.ai.mit.edu/pub/gnu/。 最新版的XEmacs是20.2版。FTP站在 [20]ftp://ftp.xemacs.org/pub/xemacs。 相关资讯参考 [21]http://www.xemacs.org。 两者都可以由 [22]ftp://sunsite.unc.edu under /pub/Linux/apps/editors/emacs/ 取得。 一旦安装了GNU Emacs及XEmacs,就有了W3浏览器。 Emacs使用Emacs Lisp系统,几乎含盖所有的浏览器功能。它主要以文字模式为主 ,但是在 X Windows系统下,至少还可以展示图形。 要让XEmacs启动它的W3模式,点选'apps',再选'brows the web'。 我没有用过Emacs,如果有人知道怎样启动它的W3模式,我可以把它加进这个文件 中。上 述资料大都抄袭自原著,如果你发现任何错误,或希望加入些什麽题材, 请不吝赐教。 5. Netscape Navigator/Communicator 5.1 各种版本及选项 Netscape Navigator为全球资讯网浏览器之王。他几乎十项全能。若是换一个角 度,他却 是啃蚀记忆体及系统资源最严重的程式。 它有3种不同版本: Netscape Navigator 包含浏览器、netcaster(push client)及基本的mail程式。 Netscape Communicator 包含浏览器、网路文件编辑器、较先进的mail程式 、news阅读器、 netcast[push client]及一堆网路会议工具。 Netscape Communicator Pro包含 Netscape Communicator的所有功能,外加一堆 日历、 IBM终端机模拟功能及远端系统管理功能[系统管理员可待在自己的桌面 [desktop],更新 几千份远方机器中的 Netscape ]。 除了上述三个版本外,还有两个选项值得注意。 首先有完整安装及基本须修求安装。完整安装可以安装所有功能;而基本安装只 安装足以让 你使用的功能。如有必要你还可以下载其他元件[如多媒体支援 及netcaster]。你可用 Netscape智慧安装工具来安装[安装後选'help' →'software updates']。但是现在Linux上 的 Netscape还未支援完整安装。 第二选项为内销版或外销版。在美加地区,你可以使用内销版,而128 bit加密的 安全传输[SSL] 的强大功能。否则,你只有40 bit加密能。在美加以外,只允 许使用此一版本。 Netscape Navigator / Communicator / Communicator Pro的最新版为4.6.1 。Linux只拥有 两种不同版本。其一搭配旧版[1.2系列]核心系统[kernels ],另一搭配新版[2. x]。如 果你还没有高於2.0版的核心系统,给你一个良心 的建议,快快升级吧!新版本已有了许多改善。 Netscape还有beta版。如果测试用beta版,通常有一个月的试用期。 也可以试一下5.0 alpha版。它可从Mozilla计划 [23]www.mozilla.org下载。 你也可以试一下从 [24]www.mozilla.org下载的 5.0 alpha。我个人非常建议使 用Netscape 5。它是我所见过最有弹性、最安定的浏览器。 5.2 如何取得 取得Netscape软体最好的方法,就是直接到他们的网站 [25]http://www.netscape.com/download/。该站有选单,带你完成选择。它会问 你 你的Linux版本为何,这时你要用核心系统的版本来回答[现在大部份人都 用2.0版]。如果你不确 定你的Linux版本为何,可用指令'cat /proc/version' 来查你的版本。此站为唯一取得内销版的网站。 如果你要外销版,可从Netscape FTP伺服器下载。这些FTP站还更新的很快。例如 说,我初写此 文件,其中还没有Linux的non-beta 4.03版,现在已经在站上了。 下列为连到支援Linux 2.0及 2.2的网址: Netscape Navigator 4.6.1在 [26]ftp://ftp.netscape.com/pub/communicator/4.6/shipping/english/unix/ linux20/navigator_standalone/navigator-v403-export.x86-unknown-linux2. 0.tar.gz。 Netscape Communicator 4.6.1 for Linux 2.0 (kernel)在 [27]ftp://ftp.netscape.com/pub/communicator/4.6/shipping/english/unix/ linux20/base_install/communicator-v403-export.x86-unknown-linux2.0.tar .gz。 但有新版本时,他们的URL可能会更改。如果你连不上,可试试下列的FTP站: [28]ftp://ftp.netscape.com/pub/communicator/。 这些站有时会塞车。最好挑非尖端时间或映射台来下载。而且还要有长期抗战的 心理准备,因 为文件库[Archieve]都不小。Navigator几乎有8 megs ,Communicator 基本安装有10 megs。 5.3 安装 本节说明如何安装 Netscape Navigator Communicator 及 Communicator Pro。 首先,在暂用的目录中打开[unpack]文件库[Archieve],执行 ns-install script (type ./ns-install),然後设定连结,连接 /usr/local/netscape/netscape到/usr/local/bin/netscape (type ln -s /usr/local/netscape/netscape /usr/local/bin/netscape)。 最後设定系统环 境变数,将$MOZILLA_HOME改为 /usr/local/netscape,让Netscape可以找到自己 的档案。如果你用bash为你的 shell,还要编辑/etc/profile并加入: MOZILLA_HOME="/usr/local/netscape" export MOZILLA_HOME 一旦安装完毕,他们就可以开始用智慧更新功能来作陆续更新了。用法是,打 开Netscape 到'help'→'software updates',即可开始更新。 即使只安装了基 本安装版,你还可以从它去安 装其他元件。 注:上述步骤并不能移除旧版Netscape,你要用手动方式 移 除Netscape(version 3)的执行档及 其Java class档。 6. 设定全球资讯网伺服器 本章节含盖不同http伺服器软体套件,及一些伺服器工具[例如一些CGI 的script语言]。现在 市面上有几十种网路伺服器,但本文只含盖其中一些功能 完整的伺服器。另外,也因为有些是商 用产品,我无法一一试用。文中大部份资 料是用一些网页的内容拼拼凑凑出来的,如有错误,在所难 免。尚请惠於赐教。 如要了解http的机制,请参考「後续」一章中的参考文件。 我个人较爱用Apache伺服器。它的功能完整而且是自由软体!不好意思。本文事 实上倾向Apache。 所以我集中火力在Apache上,而不是依章节介绍各种伺服器。 以後,我可能会把其他伺服器纳入 文中。 6.1 概述 Cern httpd Cern httpd是世上最早的全球资讯网伺服器。由European Laboratory for Particle Physics [CERN]发展。现在已没人维护了。据说它有许 多严重的臭□,很慢而且浪费系统资源。相关 细节参考 [29]http://www.w3.org/Daemon/Status.html, 也可从 [30]ftp://sunsite.unc.edu/pub/Linux/apps/www/servers/httpd-3.0. term.tpz下载。 (no it is not a typo, the extension is actually .tpz on the site; probably should be .tgz) NCSA HTTPd NCSA Httpd 是Apache之父[它後来发展成两种不同伺服器]。所以设定 档和Apache极为神似。NCSA Httpd是自由软体,原始档案也可取得。虽然 你可以从阅读Apache得到相关知识,但本文并不细 述这一个伺服器 。NCSA曾经风行一阵子,但爱用者大都已转向Apache了。Apache改善 了NCSA伺 服器的一些缺点[它们的Configuration files 相同],NCSA Httpd变成只占有4.9%的伺服 器用户[资料来源1997年9月 [31]Netcraft survey]。相关细节,参 考 [32]http://hoohoo.ncsa.uiuc.edu。 [33]Apache Apache为伺服器之王。 Apache 含原始档都是自由软体。Apache是以模组 化设计,所以新功能 很容易加入,极有弹性,而且有许多的功能,各种 系统的用户占有率达55%。世上已有3,928,112 个Apache伺服器在运作[ 资料来源1999年8月 [34]Netcraft survey]。正式 Apache漏掉了SSL, 但有两个系统补了这个漏洞。Stronghold是Apache支系中的商品。零售价 $995元;经济型$495元。[经济型延用Apache旧版]。它是仅次 於Netscape的 保全伺服器。[资料来源 [35]C2 net 及 [36]Netcraft survey]。 相关细节参考 [37]http://www.c2.net/products/stronghold/。因为它 是在美国国外 开发的,所以在全球都具有128 bit SSL。 Apache-SSL实现SSL为一自由软体,但在美国不可使用在商业用途[RSA在 美国拥有SSL科技的专 利]。如果连接free RSAREE library,可在美国 利用在非商业用途上。 相关细节参考 [38]http://www.algroup.co.uk/Apache-SSL/。 Netscape Fast Track Server Fast Track由Netscape开发,Linux版本在Caldera站上公开。该站说 Fast Track'用於'OpenLinux。 不知道是说它只能在Caldera OpenLinux 上执行,还是说也能在其他Linux版本上执行[如果你知 道的话, 请E-mail告诉我]。 Netscape伺服器用户占有率为6.11%[资料来 源1999年8月 [39]http://www.netcraft.com/survey/]。售价295元。搭 配成 Caldera OpenLinux Standard distribution 售价$399元[教育用 价格$199.50元]。该网站声称,具有 优良系统管理介面,可在十分钟内 安装设定完成。可支援40-bit SSL,但是如果要完整128-bit SSL 功能, 就须购买Netscape Enterprise Server。不幸的很,这一版本尚不支 援Linux[支援Linux的 最新版本为2.0版。3.0版有beta版,但尚不支 援Linux ]。 购买网路版到 [40]http://www.caldera.com/products/netscape/netscape.html。 相关细节参考 [41]http://www.netscape.com/comprod/server_central/product/fast _track/。 WN WN有许多吸引人的特色。第一,它比CERN、 NCSA Httpd及 Apache小。它 还有一些支援CGI的 内建功能。它还能运用它的filter功能,快速压缩/ 解压缩档案。它还可以抽取压缩档中的部份 项目。它经由GNU public license 开放使用。最新版本为2.08版。相关细节参考 [42]http://hopf.math.nwu.edu/。 AOLserver AOL server由美国线上[America Online]所开发。我不得不承认,美国 线上设计的伺服器 的功能的确很惊人。除了支援一些标准功能外,这个 伺服器还支援资料库连接。它允许首页以 SQL[Structured Query Language]指令查询资料库。可用ODBC[Open Database Connectivity] 存取资料库。另外还有内建式搜寻引擎及TCL scripting。如果还不够用 ,你可以用C语言的API [Application Programming Interface]加入个 人设计模组。还有!还能支援40-bit SSL。 这些功能都属於一个自由软 体。 相关细节参考 [43]http://www.aolserver.com/server/。 CL-HTTP CL-HTTP就是Common Lisp Hypermedia Server。如果你是Lisp程式设计师 ,你要的伺服器 就是这一个了。你可以用Lisp写CGI script。CL-HTTP还 提供以网站为主的设定功能,并且支 援所有的标准。它是个自由软体, 原始程式也可取得。 相关细节参考 [44]http://www.ai.mit.edu/projects/iiip/doc/cl-http/home-page.h tml。 如果你是为商业目的架设网站,我建议你使用Apache,也有人建议Netscape,因 为它较易於 设定。如果你的网站只是对内的话,它让你的网站比较有弹性。除非 你的需求只能由其他伺 服器来满足,不然...[原文疏漏]。 以上只叙述部份伺服器,如果你要完整项目,可查询Netcraft的网站: [45]http://www.netcraft.com/survey/servers.html or Web Compare at [46]http://webcompare.internet.com. 7. Apache Apache最新版本为1.3.9。它的主要网站为 [47]http://www.apache.org/。 Apacheweek也有不错的资料网站为: [48]http://www.apacheweek.com/。 Apache的文件还好啦!所以我不必再多加细述如何设定Apache。他们在网站上, 也跟 原始程式在一起[HTML格式]。虽然也有一般文字档格式,但以HTML格式较 佳。等 到Apache Documentation Project完成後,它应该会更好。但现在大部份 的文件 都由他们的开发者自行撰写。我并不是要批评他们,但是如果不了解其中 的术语, 还真不了解这些文件。 7.1 如何取得 RedHat 、 Slackware 及 OpenLinux中即已经有 Apache。版本可能不是最新的, 但 二位元档绝对可靠。不幸的是,各种版本都使用不同的目录。 原始程式可从 [49]http://www.apache.org/dist/取得。二位元档可从 [50]ftp://sunsite.unc.edu/pub/Linux/apps/www/servers/取得。使用 RedHat 的人还可以从 [51]ftp://ftp.redhat.com/pub/contrib/i386/取得RPM档。 如果你的伺服器是用於商业用途,最好是从Apache的网页下载原始程式自行编译 。也 可以使用如 RedHat、 Slackware或 OpenLinux本来就附带的二位元档。如 果你用其他执 行档,其中可能会有骇客偷加的'後门'。也可能因为一些patch不 够安定,而造成当机。 如果自行编译,你还可以掌握实际编译进去的模组,你也 可以决定要放在那一个目录中。 编译并不难,而且从编译的过程中,你还能学到 如何成为真正的Linux使用者;) 7.2 编译及安装 首先将文件库打开[untar]。放入一暂存目录中,然後到src目录。如要加入特 殊模组, 就在此修改configuration档案[平常主要的模组已经加入了]。然後 执行此configuration shell script(./Configure)。须确定它正确叙述你是在 用Linux平台,而且以 gcc为编译器。接下来,你可以修改http.h来改变预设的目 录[放config档]预设为 /usr/local/etc/httpd/,你可能会考虑简化 为/etc/httpd/。伺服器 的根目录[放HTML首页]预设 为/usr/local/etc/httpd/htdocs/,你也可能考 虑改为/home/httpd/html[这个 是RedHat的预设目录]。如果你要使用su-exec 目录[参考後述的各项功能细说 ],你也可以考虑简化之。伺服器的预设根目录还可以用 config档来更改。如 果Apache无法读到config档时,还是在http.h中定义编译後的根目录 位置吧。其 他的的预设目录都必须用config档案来修改。最後,在此执行make档来编译 Apache。 如果因为遗漏include档案,而在编译时出问题,下面这些项目值得检查一下:确 定已安装 了适合你的核心系统版本的Kernel header[即include档案]。并检查 下述的连结是正确的, /usr/include/linux should be a link to /usr/src/linux/include/linux /usr/include/asm should be a link to /usr/src/linux/include/asm /usr/src/linux should be a link to the Linux source directory (ex.linux-2.0.30) 要连结档案可用ln -s指令。这和cp指令相类似,只是它连结而不是复制 [ln -s source-dir destination-link]。 如果在执行make时没有问题,现在的目录中应有个叫httpd的执行档。把它移 到bin目录中。 /usr/sbin或/usr/local/sbin都可。 另外将conf.、logs及 icons三个次目录从src目录复制到伺服器的home目录。然 後将conf次 目录中的三个档案名称修改一下,拿掉其中的-dist,[例:将 httpd.conf-dist改成/usr/local/sbin]。 Apache中还有些支援程式。他们都在support目录中,都要各别编译并安装。大部 份这 些程式都可用该目录[你执行configure script时,已编译好了]中 的makefile来编译。 你使用Apache时,并不一定要用到这些程式,但其中有些可 以简化系统管理员的工作。 7.3 设定 此时在conf次目录中,你应该会有四个档案。其中,httpd.conf用来设定伺服器 守护神[port号码、使用者等..]。srm.conf用来设定root documen tree、 special handle等。而access.conf用来设定基本存取。最後,mine.types用来告 诉伺服器,那一个延伸档案名代表送给浏览器那一种mine型式。 一旦了解其中怪术语,你就会发现这些设定档中有许多附带说明。在你启用伺服 器之前,彻 彻底底得读它一遍。其中的每一个项目在Apache文件中都有说明。 mine.types档案并不是真正的设定档。伺服器在送资料给浏览器之前,将延伸档 案名译 为mine型式。一般的 mine型式都已在此档案中了,大多情况下不须修改 此一档案。未来一些 日子以後,有一些新的mine型式开发出来以後,此时才真正 要修改这一档案。 记著一点!每当你改变了设定档,就须重新启动Apache。不然也要用kill送一 个SIGNUP 讯号,来启动新的设定。这个讯号是要送到父程式而不是子程式。要查 出父程式的代号有些 方法,父程式的代号一般较小。父程式的代号也可从log次 目录的httpd.pid档案中查到。 而且如果你送kill给子程式,子程式死了,而父 程式又会立刻产生一个子程式。 我不想带著你一步一步地去设定Apache。我想针对一些特殊的案例、选项及功能 加以说明。 强烈建议好好读一读Apache文件中的保全诀窍。它可以从 [52]http://www.apache.org/docs/mics/security_tips.html下载。 7.4 建立虚拟网站主机 虚拟主机用於一台电脑拥有数个网域名称的情况。老的方法是给每一虚拟主机一 个专用的 IP位址。新的方法只用一个共用的IP位址,但是如果浏览器不支 援HTTP 1.1则没有用。 我建议,如果是用在商业上,先用老方法,直到人人的浏览器都支援HTTP 1.1时 ,再改用 新方法。而且老方法的说明也较多。两种方法都有虚拟mail功能[这对 吗?],但只有老 方法才有虚拟FTP功能。 如果用在小组织或个人网页,你可考虑新的方法。它可以省去你昂贵的IP位址。 你还可以在同一伺服器混合两种方法。相关细节参考Apacheweek: [53]http://www.apacheweek.com/features/vhost。 专用IP位址[IP based]虚拟主机 以此一方法,每一虚拟主机各有一个IP位址。使用每一请求[request]所送往 之IP位址 ,Apache及其他程式,决定要用那一个网域来完成服务。这个步骤非常 浪费IP空间。以 我的虚拟网域所在的伺服器来举例,他们都有35,000个虚拟帐号 ,也就是35,000个IP位址 ,但我相信只有不到50个伺服器是真正在运作。 设定这种虚拟主机有两大步骤,第一是设定Linux,使它能接受两个以上的IP位址 。其次 ,是设定Apache使它支援虚拟主机功能。 第一步骤,设定Linux,使它接受数个IP位址,这要建立一个新的核心系统,就是 使它支 援IP networking 及IP aliasing。[在2.0版及其後的版本,这步骤较容 易]。编译核 心的说明,参考 [54]kernel howto。 第二步骤,要设定开机程序中的介面。如果你用的是Red Hat,可用控制台来设定 。用 root打开X-Windows,你应该可以看到控制台。双擎Network configuration,点选 interface panel并选择你的Network card。点选底下 的alias,填入资料,然後点选done。 每一虚拟主机都要一一设定。 如果你不是用Red Hat,你就要用手动方式来设定,在/etc/rc.d目录中的 rc.local档案中加入指令。每一设施都要有个ifconfig及route指令。 同名设施 为一主要设施的次设施。例如:eth0:1 、eth0:2等。下述为设定一同名设施的 例子: ifconfig eth0:0 192.168.1.57 route add -host 192.168.1.57 dev eth0:0 还可以在ifconfig命令中加入broadcast address及netmask。如果有许多同名地 址,可以用 for loop来简化命令档。 相关细节参考 [55]IP alias mini howto。 接下来就是设定网域名称伺服器[DNS]来查询这些新的网域。如果你没有你的网 域名称 ,可到 [56]Internic注册。可参考DNS-HOWTO来 设定你的DNS。 最後要设定Apache来让这些虚拟网域正常工作。使用httpd.conf设定档。其中有 个例 子,可以参考。所有的指令都放在virtualhost指令标签之内,任何指令都 可放入。一 般来说,要设定各别的根目录,script目录及log档案目录,只要加 入virtualhost标签 ,就可以不断加入新的虚拟主机。 在一些极特殊的情况下,如果某一个虚拟主机需要使用某一指令,但不幸它又不 能放入虚 拟主机的标签中,那就只好使用不同伺服器。Bindaddress指令即为一 例。每一个伺服器都 要有不同的名称及设定档。每一伺服器只负责一个 由Bindaddress指令所指定的位址。结果 系统资源就被大大的浪费掉了。 共用IP位址虚拟主机 此为建立虚拟主机的新方法。单一IP位址被采用,因而IP位址是用在真实机器上 [而非虚 拟主机]。在上述例子中,30,000个虚拟主机只会用掉50个IP位址[每 台机器一个]。这 要搭配HTTP1.1协议,浏览器在送出请求时,通知伺服器它要 接到那个网站。如果浏览器 无法支援HTTP1.1,就会去读伺服器的首页,其中应 有选单供选择要使用的虚拟主机。这样 子,原来你以为你拥有自己的伺服器的那 种感觉,就会被破坏了。 设定步骤比固定IP位址的方式容易。你仍然要从Intenic注册你的网域名称,然後 设定网 域名称伺服器。但是网域名称伺服器却是要指到原来网域名称的IP位址 。Apache的设定方 式仍然不变。因为你在virtualhost标签内使用相同IP位址 ,Apache就知道你的虚拟主机 要共用IP位址。 针对老式的浏览器则有几种调整工作要做,我只介绍其中最佳者。首先须将你的 首页目录 设为一个虚拟主机[固定IP或共用IP位址]。这样子你的首页目录就可 以腾出来用於连接 到各个虚拟主机上去。然後就是为老式浏览器开一个'後门'。 作法是用ServerPath 指令,为每一个virtualhost标签内的虚拟主机定义路径。 例如,在www.mysite.com 中加一个ServerPath /mysite/,老的浏览器就可以 用www.mysite.com/mysite/ 存取该主机的资料。然後在首页目录放入一预设首页 ,其中好好地劝使用者改用新的浏览 器,并且条列该主机上各个网站的'後门'。 如此一旦一个老式浏览器读到此站,就会显 示一个首页,告知如何连到正确的网 页。而新式浏览器则可直接连到正确的网页。还要注 意一件事,即你的首页中的 连结必须定义清楚。因为每一页都可以以两个不同的URL来连结 [例如 :www.mysite.com和www.mysite.com/mysite/]。 希望到此为止,你还能保持头脑清晰,终究上述的内容并不容易搞清楚。搞不好 ,你最後 还是决定使用专用IP位址。 相关资料可以从Apache网站取得 [57]http://www.apache.org/manual/host.html。 如果有人有关於共用IP位址的资料,请告诉我。我想知道到底有多少浏览器可支 援 HTTP 1.1。如有一份清单列出他们的版本就更好。 7.5 CGI scripts 有两种方式让你的网站用户运用CGI script功能。第一种方式是,只要是CGI script,其 延伸档名即为.cgi。另一种方式是建立一script次目录[通常 叫cgi-bin]。 两种方式也可并用。不论使用那一种方式,你的script必须设成 可执行模式 [chmod 711]。但是让用户使用script存取可能会有保全的风险, 所以先要细心的 研究。 我个人比较喜欢使用第一种方式,尤其是当script很复杂时。这种方式允许 把script放在 任何目录中。我个人喜爱将script放入相关首页目录中。如果一个 网站有许许多多的script ,那麽将他们分散安置比集中在一个目录中要容易看得 多了。而且设定也比较简单。首先 在srm.conf档後面开启[uncomment].cgi标 式,然後检查是否每一目录的 access.conf档中都有option ExecCGI或All。 建立script次目录则较为保全。作法是在srm.conf档中使用scriptAlias指令。第 一 个参数是代名[Alias],第二个参数是真实目录。例如指令 ScriptAlias /cgi-bin/ /usr/httpd/cgi-bin/定义: 当呼叫目录/cgi-bin/时,真正的script 是在/usr/httpd/cgi-bin/中执行。 为了保全的理由,在access.conf档中设定该 目录的特性为 Options none,AllowOveride none[只要开启[uncomment]该行 即可]。但要注意 ,不要把它设为任何首页的次目录。例如说,如果你的首页目 录为 /home/httpd/html/,不要设为/home/httpd/html/cgi-bin,但可以设为 /home/httpd/cgi-bin。 如果要允许用户有自己的script次目录,可以使用数个ScriptAlias命令。如果使 用虚 拟主机,则在virtualhost标签内放入ScriptAlias命令。有人可以告诉我不 须要 一一加入ScriptAlias命令的方法吗? 7.6 使用者网页目录 有两种不同方式来设定使用者的网页目录。第一个方法是在使用者的网页目录下 建立一个 个别的次目录。[一般为public_html]。第二个方法是,另外为每一 个网页目录建 立一个目录树,两种方法都须在access.conf档中设定存取选项。 第一个方法是Apache预设的方式。这种方法是,当要读/~bob/的网页,Apache读 public_html目录中bob的首页目录。作法是在srm.conf档中用UserDir指令 来设 定。该目录必须是world可读取及world可执行。因为要Apache来读取使用者的目 录,该 目录必须为world可执行,所以会产生一些保全的风险。 第二种方法则较容易设定。只有srm.conf档中的UserDir指令需要被 修改。格式 有很多种,请参考Apache的文件,弄清楚各种定义。如果想让每ㄧ使用者在目 录/home/httpd/下,有自己的目录,就要使用指令UserDir /home/httpd。 那麽 当/~bob/被读取时,读取的目录就会变为/home/httpd/bob/。若 是要让bob的目 录下另加一个次目录做为他的首页目录,就用 UserDir /home/httpd/*/html指令 。读取的目录就变成 /home/httpd/bob/html/,同时也建立一个script目录[例 如: /home/httpd/bob/cgi-bin/]。 7.7 Daemon模式与Inetd模式 Apache可在下述两种模式下运作。其一为daemon模式,在这个模式下Apache不停 运作[ Apache称之为 standalong]。另一为inetd super-server。 daemon模式比inetd模式好。Apache以它为预设模式。使用inetd模式的唯一情况 是,当使用 率很低时,例如内部测试script、小型企业的区域网路等... 。Inetd模式可节省记忆体 空间,因为Apache只有当必要时才开启,平常记忆体 中只有inetd daemon。 如果你不常使用Apache,可以考虑让它维持在daemon模式,而且只有必要时才启 动Apache。 那麽你不再需要时,可以杀掉Apache[要杀的是父程式序而不是子程 序]。 要设定Inetd模式,有一些档要修改。首先查一下/etc/services档案,看一看 http是否存在,如果不在,则以下列方式加入 http 80/tcp 在Port 79 [finger]的後面也许值得考虑。然後修改/etc/inetd.conf档案, 加入 http stream tcp nowait root /usr/sbin/httpd httpd 如果Apache在不同位置,路径要随Apache的目录来改变。第二个http不是typo, 它只是 inetd daemon的需求。如果你不再使用inetd daemon,那就把档案中你不 想启动的服务改为 注解行[像FTP、 finger、 telnet及其他常用於inetd daemon的服务项目]。 如果你在用inetd daemon,只要给它一个SIGHUP讯号[用kill命令,参考kill 的man page] 或重新启动系统让修改项目生效。如果inetd不在使用,可以以手 动方式启动的。 也可以加在init档案[也许是rc.local档]中,使得开机 时Inetd自动启动。 7.8 开放Put及delete命令 新的网页发行工具支援以http上载网页[而不限於用FTP]。其中有的甚至还不支 援FTP 上载。Apache也支援http上载,但所要用的script则没有包含,因而上载 所用的script 可能成为保全的大漏洞。在写或用别人的script前,请先搞清楚状 况。 如果有人知道任何此类的script,请告诉我。我会把它的网址纳入。 相关细节参考 Apacheweek [58]http://www.apacheweek.com/features/put。 7.9 使用Authentication/Access Control 这是我最喜爱的一个功能。它让你不须要用到CGI script就可以保护目录或档案 。它还 可以依据用户的IP位址或网域名称来决定用户的存取权。这是一种把不速 之客剔出用户名 单的好方法[只要从log档案查出它们的IP位址及网域名称即可 ]。 要设定 Authentication,目录中access.conf档案中必须要有 AllowOverrides Authconfig。而设定access control[使用网域名称或IP 位址],则加 入AllowOverrides Limit。 设定目录,就要在其中放入.htaccess档案。要设定使用者的Authentication, 要用到.htpasswd档或外带一.htgroup档。这两个档还可由数个 .htaccess档共用 。 为了保全的理由,我个人建议,每个使用者都在他们的access.conf档使用下述指 令: order deny,allow deny from all 如果你不是系统管理员,但你的目录已经设为AllowOverride Limit,你仍然可以 在 你的 .htaccess档案中加入这些指令。他们可以防止别人偷窥你的access control 档案[.htaccess 、.htpasswd等]。 Access control可运用在许多不同的选项及档案型式。这已超出本文的□畴。设 定使用 者 Authentication的资讯,请参考 [59]http://www.apacheweek.com/features/userauth,或NCSA的网页 at [60]http://hoohoo.ncsa.uiuc.edu/docs-1.5/tutorials/user.html。 7.10 su-exec su-exec功能能以owner的地位执行CGI script。平常都以网页伺服器[不是一般 的人] 的地位来执行CGI script。因此,使用者不须将他们的CGI script的存取 模式设为world writable[这是一个漏洞]。但是如果不熟悉su-exec,你可能会 搞出更大的漏洞。平常 su-exec在执行前会作保全检查,但如果设定错误,反而 产生保全的漏洞。 su-exec不是设计给外行人用的。如果没有搞清楚,最好不要用,不然你搞出来的 漏洞 可以让使用者具备root存取能力。无论如何不要修改程式,要读通所有相关 文件。 su-exec那麽难设定,是故意设计出来让外行人知难而退[全部手动操作 ,没有make档 ,也没有安装script]。 su-exec是放在support目录中。首先要为系统修改suexec.h档,然後用下面的 命 令编译su-exec程式 gcc suexec.c -o suexec 然後将su-exec的可执行档复制到适当的目录。Apache的预设目录为 /usr/local/etc/httpd/sbin/。如要改变预设目录,可修改Apache原始程式中 的httph,在重新编译Apache。Apache只会搜寻该目录,而不会搜寻路径。另外要 把su-exec的使用者改为root(chown root suexec),并且设定suid bit (chmod 4711 suexec)。最後重新启动Apache。此时Apache应该会在萤幕上显示 su-exec 正在运作。 CGI script仍要设为world executable。他们可以以CGI script owner的身份执 行。如果 设定他们的SUID[set user id]bit,则不会执行。如果他们的目录 为world或 group writable,也不会执行。如果owner为system user [root 、bin等]也不会执行。 相关保全状况,参考su-exec的文件。如果还有问题,检 查su-exec的log档cgi.log。 在Apache的inetd模式,su-exec不运作,只有在daemon模式才运作。下一版可能 会改善 ,因为inetd模式不会再用到了。要玩原始程式的话,就修 改http.main.c。你可以删除 其中使用su-exec wrapper的Apache宣告[它在每个 输出之前居然都印一次]。 好好读一下Apache有关su-exec的文件。他们和su-exec的原始程式都在Apache网 站中 [61]http://www.apache.org/docs/suexec.html。 7.11 Imagemaps Apache能用来处理伺服器端imagemaps。Imagemaps是网站上的图形,使用者点选 图形中 某个位置,可以用来决定要连结到那□去。要启动imagemaps,先确 定imagemap模式是否 已安装[它是预设要安装的一个模式]。然後将srm.conf档 中的.map 标记 开启[uncomment]。此时所有以.map结尾的档案都变成 了imagemap档案。 Imagemap档用一个图形的各个位置连结到不同的网页 。Apache以标准NCSA格式使用投影 [map]档。下述为投影档的一例: 例中,mapfile.map即为投影档。而picture.gif为点选用的图形。 有很多程式可用来产生能与NCSA投影档共存的档案,你也可以自己编写一支。相 关细 节请参考:Apacheweek [62]http://www.apacheweek.com/features/imagemaps。 7.12 SSI/XSSI 伺服器端加入[SSI]可在静态的网页中以动态方式加入某些内容。要加入的项目 在 网页中以说明[comment]的方式表示。伺服器先解析这些项目,然後将所要 的内容 加入。SSI可在档案中加入header及footer,也可以加入最後修改日期, 也可执行系 统命令或CGI script。如果使用延伸型伺服端加入 [XSSI; eXtended Server Side Includes],可做的就更多了。它可 加入变数及流程控 制[如if、else等]。这简直就像一个在使用一个程式语言。 如要对每一个HTML档都加以解析,会消费太多系统资源。所以要有个方法使那些 有SSI 项目的档案看来不一样。一般的作法是,把这些HTML的延伸档名改 为.stml。 要启用SSI/XSSI,首先确认是否该功能的模式已经安装。然後就可修改srm.conf 档,为.shml型式的AddType及AddHandler开启[uncomment]。最後 用Options Includes来定义那些目录下SSI/XSSI档可运行。这一步骤是在 access.conf档中 。那麽所有具.shtml延伸档名的档案都会被解析执行 SSI/XSSI。 另一种在网页中加入内容的方式是使用XBitHack指令。这个指令一开启,它会 检 查该档案是否为user exectable。如果是,而且该目录用Options Includes开 启 的话,该档案就被视为SSI档案。但这种方式只对mime 型式的text/html [.html .htm档案]有效。所以不是最好的方法。 用SSI来执行系统命令及CGI script,会导致一些保全的风险。所以在 access.conf档中最好使用Option IncludesNOEXEC而不要用Option Includes。 其他SSI命令则不须修改。 相关细节参考原始程式附带的Apache mod-includes文件。 可以从 [63]http://www.apache.org/docs/mod/mod_include.html取得。 SSI/XSSI实现的相关细节参考Apacheweek [64]http://www.apacheweek.com/features/ssi. 有关SSI命令的资讯,参考NCSA文件 [65]http://hoohoo.ncsa.uiuc.edu/docs/tutorials/includes.html。 而有关XSSI命令的资讯,参考 [66]ftp://pageplus.com/pub/hsf/xssi/xssi-1.1.html。 7.13 模组系统 Apache可用模组的方式加入任何东西。现在已有的模组很多,但只有一般常用的 模组 附带在Apache套件中。 要查查看还有那些模组,请参考Apache模组宝库 [67]http://www.zyzzyva.com/module_registry/。 而有关模组化设计的资讯,参考 [68]http://www.zyzzyva.com/module_registry/reference/。 8. 伺服器另集 抱歉!本章还没有写。 我们将讨论:mSQL、 PHP/FI、 cgiwrap、 Fast-cgi、 MS frontpage extentions... 9. 区域网路[Intranet] 区域网路从字面上来看,是在公司或组织□畴内使用网际网路的技术,而不是用 於全球性 的网际网路上。运用此一技术,可以使用最少经费、最短时间及最少操 作,将大量资讯送 达各个员工。本文件简介如何用现有的廉价工具或自由软体来 设定区域网路。 我们假设你已经知怎样把Linux用Ethernet卡连上LAN并安装上TCP/IP。也假设你 已有Netware、WinNT 及Mac各系统的基本常识。Netware伺服器的设定步骤是 以3.1x版为准。你可以用INETCFG来完成。而 提到用户端时,假设你是在使 用windows 3.1x、 Windows for Workgroup 、 Win95、 WinNT或 Apple PowerPC。 文中的私人网路地址[RFC-1918]是以172.16.0.0及172.17.0.0来举例。你可以 选择适合於你的设定地址。 Linux Netware WFWG/WinNT Server Server Server 172.16.0.1 172.16.0.2 172.16.0.3 | | | 172.16.0.0 ------+-----+-----+--------+--+-------------- | | 172.16.0.254 W/S 1 Router 172.16.0.5 | 172.17.0.254 | ----------+-------+-------- 172.17.0.0 | W/S 2 172.17.0.5 9.1 基本需求 安装前要有下列各项软体: * HTTP伺服器软体可从OneStep NCSA HTTPd [69]http://hoohoo.ncsa.uiuc.edu/docs/setup/OneStep.html下载。 * HTTP伺服器软体可从OneStep NCSA HTTPd [70]HTTP://support.novell.com/ (The TCP/IP files are included with the client)下载。 * The Microsoft TCP/IP client 可从 [71]HTTP://www.microsoft.com/下载 。 * The Apple MacTCP client可从 [72]HTTP://www.apple.com/下载。 * 浏览器如 Netscape 可从 [73]HTTP://home.netscape.com/ or MS Internet Explorer at [74]HTTP://www.microsoft.com/ or NCSA Mosaic from [75]http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/NCSAMosaicHome.ht ml下载。 9.2 本文件的更新版本 Linux Intranet Server HOWTO的更新版本会不定期在comp.os.linux.annonuce及 comp.os.linux.help中贴出。也会上载到包括sunsite.unc.edu的Linux FTP 网站 。 本文件的最新版本是HTML格式,可从 [76]http://www.linuxports.com/取得。 9.3 读者意见反映 如对本文有任何疑问或意见,请来信给Mr.Poot,来信件地址为 [77]poet@linuxports.com。建议、批评都很欢迎。如果发现文中有错误,请予告 知, 那麽我就可以在下一版中更正。谢谢! 10. 安装HTTP伺服器 下载了伺服器时,你有两个选择:第一则是下载原始程式,自行编译。另一则是 直接下 载已编译好的二位元档。已编译好的二位元档在NCSA网站,适於Linux [ELF]版,而不适 用於旧版。 10.1 下载前准备工作 NCSA的伺服器会带著你一步一步去完成设定选项,并为你准备各种档案。但在下 载之前, 请准备好回答下列问题的答案。 操作系统 首先,你要选择所要下载的原始程式,或来下载已经编好的版本。如果你的操作 系统不在 列出系统项中,那最好还是下载原始程式,自行编译。 要知道你的Linux的版本,先到命令行,下个命令 linux:~$ uname -a 你的Linux会回答像下列的东西 linux:~$ uname -a Linux linux 2.0.29 #4 Tue Sep 13 04:05:51 CDT 1994 i586 linux:~$ 在此例中,Linux告诉你,它的版本为2.0.29版。 其馀的参数,可在下载前或下载後在目录/usr/local/etc/httpd/conf中的 srm.conf档中修改。httpd.conf档案中真实指令在括号内。唯一 的例外 是srm.conf档案中的DocumentRoot指令。 程式型式[伺服器型式] 这是用来定义你的电脑要怎样运作HTTPd伺服器,最好用"standalone"。它会 使HTTPd daemon持续运作。如果你选择用"inetd"运作HTTPd,伺服器执行程式 只 在叫用时才载入记忆体中,这会使伺服器运作速度减慢。 Port连接[Port] 这是用来决定HTTPd daemon会接到那个Port来接收HTTP请求。如果你能以"root" 登,port则为预设值80;否则可在1025与65535间任选一个号码。 伺服器user代号[user] 伺服器在回答请求时,会以此一user代号的权限来存取档案。只有当你的伺服器 是以 "standalone"的模式时,才须回答此一选项。如果你没有root权限,就以你 的 log name来回答。如果你是系统管理员,你可以考虑为它建立一个user,然後 你可以控制 它的档案存取权限。 伺服器group代号[Group] 伺服器在回答请求时,会以此一group代号的权限来存取档案。与user代号一样, 只有当 伺服器是用standalone模型来执行时才有效。 如果你没有root权限,就以你的主要group名称来回答。要查询你的group名称, 在Linux命 令列中敲入groups。 伺服器管理员email地址[ServerAdmin] 当使用此一伺服器出问题时,此一地址是用来报告错误用的。只要使用你的个人 地址即可。 伺服器目录[ServerRoot] 这是伺服器所放在的目录。如果你有root权限,建议放 在/user/local/etc/httpd。 如果你不能用root登入,可选择你的home path下的 次目录。要查询你的home目录,使用 pwd命令。 HTML档案位置[DocumentRoot] 这是伺服器提供的HTML档案的位置。预设的位置 为/user/local/etc/httpd/htdocs。 如果你不是以root登入,可使用前面user代 号的home目录,或你自己的home目录下的次目录。 如果你仍然有疑问,可以试试预设值。现在你应该回答了上述各项问题,就可以 从 [78]http://hoohoo.ncsa.uiuc.edu/docs/setup/OneStep.html. 开始下 载NCSA HTTPd。安装前读一读 [79]http://hoohoo.ncsa.uiuc.edu/docs/ 中 的HTTPd档案。如果你要自行编译程式,在support, src, cgi-src三个目录中 的makefile都要修改。如果你的版本可完全支援,只要在最上层目录中[例: /usr/local/etc/httpd],敲入make Linux即可。 10.2 编译HTTPd 编译并不难,只要在命令列中选到伺服器根目录make linux即可。 注:pre-ELF Linux使用者须在portability.h中开启[uncomment] #define NO_PASS,并在编 译HTTPd前在Makefile中设定 DBM_LIBS= -ldbm。 11. 测试HTTPd 安装HTTPd後,以root登入,并敲入httpd &[假设你安装为standalone模式]。 那麽在ps的条例中就可看到它在运行了。最简单的测试方式是使用Telnet。 在Linux的命 令列中敲入 linux:~$ telnet 172.16.0.1 80 其中80指的是HTTP的port代号。如果你另设其他"Port"代号,就应该敲入你指定 的代号。 萤幕应出现 Trying 172.16.0.1... Connected to linux.mydomain. Escape character is '^]'. 此时,不论你敲入什麽东西,然後敲一下Enter,萤幕都应出现 HTTP/1.0 400 Bad Request Date: Wed, 10 Jan 1996 10:24:37 GMT Server: NCSA/1.5 Content-type: text/html 400 Bad Request < /TITLE> < /HEAD> <BODY><H1>400 Bad Request < /H1> Your client sent a query that this server could not understand.<P> Reason: Invalid or unsupported method.<P> < /BODY> 现在,就可以用其他pc上的全球网际网路浏览器,来连上我们的伺服器了。 12. 连线到Linux伺服器 请先参考 [80]Introduction一章中图示的地址。其中1号工作站[W/S1] 在网 路172.16.0.0上,它可以直接存取 Linux伺服器。而2号工作站[W/S2]在网 路172.17.0.0上,必须经由通道[gateway][即路由器] 172.17.0.254来存 取Linux box。当设定在w/s2的用户时,要提供通道的资讯。Netware称之为 ‘ip_router’。 这□用W/S2来说明用户设定的方式。设定W/S1则只要把地址从172.17.0.5改 为172.16.0.5,并 忽略通道。 如果你不会用到路由器,可跳过下一节并直接到 * 如果使用Netware: [81]Setup Netware Server。 * 如果使用微软client: [82]Setup MS Windows Client。 12.1 设定Linux伺服器 如果你没有路由器,跳过本节。 要让2号工作站连到伺服器,须设定Linux伺服器,使之感知路由器。要设 定Linux伺服器,须以root登入。 在命令列敲入 route add gw default 172.16.0.254 要在每次启动Linux伺服器後使用通道,可在/etc/rc.d/rc.inet1中定义通道各行 改为 GATEWAY = "172.16.0.254"。确定一下,这几行不可写为说明行。 另类作法:还可以在路由器另一端加入另一路由器。指令为 route add -net 172.17.0.0 gw 172.16.0.254 如要使Linux每次启动就加入路由器,则将指令写入/etc/rc.d/rc.local。 12.2 设定Netware伺服器 要设定Netware伺服器,要有supervisor权限,或至少有Console操作员权限。如 果两者都不无法办 到,就只好请你的系统操作员代你设定了。在伺服器启动LAN 的Ethernet_II frame type。作法是 AUTOEXC.ncf档中写入: load NE2000 frame=Ethernet_II name=IPNET load TCPIP bind IP to IPNET addr=172.16.0.2 mask=FF.FF.FF.0 你可依照你的电脑型态来决定载入NE2000 driver时的slot或board代号。 (例 如: load NE2000 slot=3 frame=.....) 12.3 设定Netware Client 在pc上,你可用Win3.1、WFWG 或WIN95。如果你要使用微软或Novell的32 bit Client, 则Win95和老式Windows的安装方式会不一样。如果你要用16 bit client,则安装方式相同,只要参 考window 3.x的安装说明即可。如要安 装win95的32 bit client直接跳至 [83]Windows 95 installation。 Windows 3.x 如果要使用win 3.1或WFWG,可以安装Netware Client[VLMs]及随TCP/IP磁片所 附的一些外 加档案,即 TCPIP.exe, VTCPIP.386, WINSOCK.dll and WLIBSOCK.dll 注意!这个WINSOCK.dll档与Win95及Trumpet的WINSOCK.dll档不同。先 用Windows来安装 Netware Client。然後复制VTCPIP.386、WINSOCK.dll 及WLIBSOCK.dll到 SYSTEM目录, 复制TCPIP.exe到NWCLIENT目录。现在修 改NWCLIENT目录中的STARTNET.bat为 lsl ne2000 ---> your network card driver c:\windows\odihlp.exe ---->if you are using WFWG ipxodi tcpip ---> add this line nwip ---> if you use Netware/IP vlm 建立一个次目录[例如说\NET\TCP]并从/etc复制HOSTS、 NETWORKS、 PROTOCOLS及 SERVICES到Linux伺服器或Netware伺服器上的SYS:ETC 目录。修改 复制的HOSTS档,加入一行描述新的Linux伺服器如下。这样在浏览器中用 http ://linux.mydomain/来读这个伺服器的内容而不须用到 http://172.16.0.1/。 127.0.0.1 localhost 172.16.0.1 linux.mydomain 然後修改NWCLIENT目录中的NET.cfg档为: Link Driver NE2000 port 300 int 3 MEM D0000 FRAME Ethernet_802.2 ; ---- add these lines ---- FRAME Ethernet_II Protocol TCPIP PATH TCP_CFG C:\NET\TCP ip_address 172.17.0.5 ip_netmask 255.255.255.0 ip_router 172.17.0.254 ---> 如果你要用通道来连接HTTP伺服器,则 ---> 加入通道的地址 Link Support MemPool 6192 ---> 最小值为1024。试试其他值看看 Buffers 10 1580 ---> 这里也能改改 ;--------------------------------- ; 如果使用Netware/IP,可以加上下面几行。 ; NWIP NWIP_DOMAIN_NAME mydomain NSQ_BROADCAST ON NWIP1_1 COMPATIBILITY OFF AUTORETRIES 1 AUTORETRY SECS 10 修改WINDOWS目录中的SYSTEM.ini档,并为VTCPIP.386加入一项目 [386Enh] ..... network=*vnetbios, vipx.386, vnetware.386, VTCPIP.386 ..... 重新开机,执行STARTNET.bat,现在你就可以开始用你最喜爱的浏览器来阅读你 的网页了。如果你使用 Windows 95 本节介绍如何在Win 95上安装32 bit 用户端。首先要安装下述各项: Netare网路用户端 [由微软或Novell提供] 微软TCP/IP通讯协定 网路介面卡 要安装这些项目、单擎、我的电脑、控制台、网路、选'新增'。现在会出现一个 视窗,显示用户端、 介面卡、通讯协定及服务。 要为Netware网路安装用户端: 1.双擎用户端 2.单擎Microsoft或Netware Networks 3.双擎Client for Netware Networks 要安装TCP/IP通讯协定: 1.双擎通讯协定 2.单擎Microsoft 3.双擎TCP/IP Win 95预设自动安装一些其馀通讯协定。要移除这些预设值的话,先选点之,再 选点'移除'键即可。一般而 言,Win 95会安装Microsoft NetBeui通讯协定 及IPX/SPX通用通讯协定。NetBeui可删除。如要 登入Netware伺服器, 则IPX/SPX通讯协定须保留。 要设定TCP/IP,点选Properties,点选IP地址 按键 Enter your IP address in the "Specify an IP address " box as 172.17.0.5 In the Subnet Mask box enter 255.255.255.0 点选通道键 Enter your gateway (router) address in the box New gateway as 172.17.0.254 Click the Add button 现在通道地址应出现已安装通道如下。接下来点选'确定'键。 现在会有讯息视窗出现,要求你重新开机。重新开机後,你就可以开始用浏览器 来接上你的HTTP伺服器了。 12.4 设定微软用户端 如果要使用微软用户端来存取你的网站,本节告诉你为下述系统安装TCP/IP的细 节资料。  * [84]Windows for Workgroups (WFWG) * [85]Windows 95 * [86]Windows NT 4.0 注:若不想用http://172.16.0.1/而要用 http://linux.mydowain/来让浏览器 及其他网际网路命令定址Linux伺服器,就须修改 host档。另外也可以此为其他 主机[Netware、Unix、WinNT]加入设定行。Windows家 族的HOSTS档 在\WINDOWS或\WINDOWS\SYSTEM中,这 是由它的版本而定。在其中,为Linux伺服 器加入一行指令如下: 127.0.0.1 localhost 172.16.0.1 linux.mydomain 172.16.0.2 netware.mydomain 172.16.0.3 winNT.mydomain 172.16.0.5 ws_1 Windows for Workgroups 本节介绍如何在WFWG上安装32 bit用户端。首先要从微软下载Windows所用 的TCP/IP驱动器。最新版本 为3.11b版,可从 [87]ftp://ftp.microsoft.com或 其他 网站下载名为tcp32b.exe的档案。要确定在载入TCP/IP-32 bit驱动器之前 已先载入 Win32s。 一旦把这些TCP/IP档案在一暂存目录[例C:\TEMP]中打开後,就到 \WINDOWS\SYSTEM 目录中找 一份OEMSETUP.INF档案。如果在的话,给它一个另外 的档名,然後将此 OEMSETUP.INF档从暂存目录复制到\WINDOWS\SYSTEM目录中 。 如果在系统中也载入了其它的TCP/IP stacks,在继续设定之前,先把他们移除。 开启网路设定或Windows设定/改变网路设定: 点选网路 点选安装Microsoft Windows Networks选支援新增网路[如果问的话] 选点'确定'键 此时会问你网路介面卡-选个合适的答案。如果没问你的话,则: 点选介面卡键 选一介面卡[例:NE2000] 点选'确定'键 点选通讯协定键 选MS TCP/IP-32通讯协定 点选'确定'键 此时会要求你设定各种TCP/IP通讯协定。可以先在介面卡选单中选TCP/IP通讯协 定,然後点选'确定'键。 1.在IP位址空格中填入172.17.0.5 2.在Subnet Mask空格中填入255.255.255.0 3.在default gateway空格中填入通道[路由器]地址为172.17.0.254 点选确定後,电脑会要求你重新启动。重新启动後,你就可以用浏览器来接上你 的HTTP伺服器了。 Windows 95 本节介绍如何在Win 95上安装32 bit 用户端。首先要安装下述各项: 微软网路用户端 微软TCP/IP通讯协定 网路介面卡 要安装这些项目、单擎、我的电脑、控制台、网路、选新增。现在会出现一个视 窗,显示用户端、介面卡、 通讯协定及服务。 要为微软网路安装用户端: To install the Client for Microsoft Networks: 1.双擎用户端 2.单擎Microsoft 3.双擎Client for Microsoft Networks 要安装TCP/IP通讯协定: 1.双擎通讯协定 2.单擎Microsoft 3.双擎TCP/IP Win 95预设自动安装一些其馀通讯协定。要移除这些预设值的话,先选点之,再 点选移除键即可。一 般而言,Win 95会安装Microsoft NetBeui通讯协定。 要设定TCP/IP,点选Properties,点选IP地址按键 Enter your IP address in the "Specify an IP address " box as 172.17.0.5 In the Subnet Mask box enter 255.255.255.0 点选通道键 Enter your gateway (router) address in the box New gateway as 172.17.0.254 Click the Add button 现在通到地址应出现已安装通道如下。接下来点选'确定'键。 现在会有讯息视窗出现,要求你重新开机。重新开机後,你就可以开始用浏览器 来接上你的HTTP伺服器了。 Windows NT 本节介绍如何在WinNT 4.0上安装32 bit 用户端。 先开启控制台/网路 Select the Adapter tab. Click Add to add a new adapter (if you don't have one) 此时会问你网路介面卡—选一个合适的答案。接下来选择通讯协定 Select the Protocols tab Click Add Select the TCP/IP protocol Click OK 此时会要求你设定各种TCP/IP通讯协定。可以先在选单中点选 TCP/IP通讯协定, 然後点选合适的按键。 Select the tab IP Address Mark the checkbox 'Specify an IP address' In the IP address box enter 172.17.0.5 In the Subnet Mask box enter 255.255.255.0 Enter your gateway (router) address in the box Default Gateway as 172.17.0.254 点选'确定'键後,现在会有讯息视窗出现,问你是否要重新开机。重新开机後, 你就可以开始用浏览器来接 上你的HTTP伺服器了。 12.5 在Macintosh上设定TCP/IP 如果你要用Macintosh存取你的网站上的资料,本节告诉你为PowerMacs设 定MacTCP的细节。 注:若不想用http://172.16.0.1/,而要用 http://linux.mydomain/来让浏览器 及其他网际网路命令定址Linux伺服器, 就须修改hosts档。此处的hosts档 与Unix上用的hosts档不同。 Mac系统的hosts档是依据RFC-1035标准。另外也可 以此为其他主机[Netware、Unix、WinNT] 加入设定行。MacOS的HOSTS档是 在System folder中的 Preference folder中。在其中,为Linux伺服器加入一行 指令如下: linux.mydomain A 172.16.0.1 netware.mydomain A 172.16.0.2 winNT.mydomain A 172.16.0.3 ws_1 A 172.16.0.5 MacTCP 本节说明如何安装MacTCP。首先要从Apple公司下载或从Internet Connection CD片取得MacTCP。 要设定MacTCP,点选Apple Menu/控制台/TCP/IP。在萤幕上 将'Connect via:'的设定改为 'Ethernet'。 将'Configure'设定内容改为'Manually'。 In the IP address box enter 172.17.0.5 In the Subnet Mask box enter 255.255.255.0 Enter your gateway (router) address in the box Router address as 172.17.0.254 选'确定',然後你就可以用浏览器来连上你的HTTP伺服器了。 13. 设定区域网路 如果在不同的平台上无法共用资源,区域网路就不算完整。区域网路必须能支援 各种档案系统,我们才能 存取在他所连接的系统上的资料。本文件说明如何 将Linux连到下列的档案系统: * [88]NCP filesystem for Netware * [89]SMB filesystem for Windows * [90]NFS filesystem for Unix 这些档案系统可以编译到Linux核心系统中,也可以模组的方式加入,全视 的Linux版本而定。如果不清 楚如何编译核心系统,参考Kernel HOWTO [91]http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html。 有关以模组方式 加入核心系统,参考Module HOWTO [92]http://sunsite.unc.edu/mdw/HOWTO/Module-HOWTO.html。 13.1 NCPFS 若要在Netware伺服器上共用档案,区域网路就必须能支援NCP[ncpfs]。1.2.x 及1.3.71以上版本 的核心系统可支援NCPFS。虽然无法存取Netware 4.x中的资料 库,但可以使用bindery。如果使用的 版本为Netware 4.x,可以在命令列中 以set Bindery Context命令,启动特定 container的bindery支援: set Bindery Context = CORP.MYDOM;WEBUSER.MYDOM 上面这个例子中,有两个container启动了bindery支援。 首先从阳升的网站 [93]ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ncpfs/ncpfs.tgz 下载NCP档案系统工具(现为ncpfs-2.0.10)。 安装 要安装ncpfs工具,敲入 zcat ncpfs.tgz | tar xvf - 则会将相关档案打开,放入预设的目录中。这个目录即为ncpfs-2.0.10。要进行 安装,先 跳到这个目录中,先读一下其中的README文件。如有必要依其中内容修 改一下Makefile档。 ncpfs的安装步骤,视核心系统的版本而定。如果是1.2版,只要敲入'make',再 敲'make install', 就可安装可执行档及man page。 如果核心系统是1.3.71版或更新的版本,可能就要重新编译核心系统。这些版本 中有的可能在 main source tree中已包括了ncpfs。要检查是否有必要重新编译 ,敲入 cat /proc/filesystems 回答的其中一行可能说ncpfs已经支援了。 如果ncpfs不被支援,可以考虑重新编译核心系统或以模组方式加入ncpfs。要重 新编译核心系统, 敲入'make config',然後当它问你 The IPX protocol (CONFIG_IPX) [N/y/?] 时,回答'y'。接下来会问你是否要full internal net。一旦核心系统成功安装 後, 重新开机,检查/proc/filesystems,如果一切顺利,就可开始安装ncpfs工 具。跳回原 来放置下载的ncpfs工具档案的目录,敲入'make'。编译完成後,再 敲入'make install'来安装各 种工具及man page。 挂上NCPFS档案系统 先用下面命令检查档案系统是否已安装好 ipx_configure --auto_interface=on --auto_primary=on ....等10秒再键入 slist 此时应可看到一串Netware伺服器列了出来。那麽就可以开始在Netware伺服器上 共用档案了。 假设从MYDOM_NW伺服器的VOL1:卷中的\home\htmldocs目录上存取 HTML档案,建 议你先在伺服器上建立一个使用者帐号[例如]'EXPORT'给它一个密码'EXP123' , 并设定他存取该目录的权限为SYSCON或NWADMIN。 首先在Linux的机器上建立一目录/mnt/MYDOM_NW。要挂上该档案系统,敲入 ncpmount -S MYDOM_NW -U EXPORT -P EXP123 /mnt/MYDOM_NW 要检查目录MYDOM_NW/VOL1:\HOME\HTMLDOCS中的档案,敲入 ls /mnt/MYDOM_NW/vol1/home/htmldocs 如有任何困难,读一下IPX HOWTO [94]http://sunsite.unc.edu/mdw/HOWTO/IPX-HOWTO.html [使用Netware档案符 号],可对IPX系统有更深入的理解。 13.2 SMBFS 若要在Windows伺服器上共用档案,区域网路就必须能支援SMB[smbfs]档案系统 。 首先从阳升的网站 [95]ftp://sunsite.unc.edu/pub/Linux/system/filesystems/smbfs/smbfs.tgz 下载NCP档案系统工具(现为smbfs-2.0.1)。 安装 要安装smbfs工具,敲入 zcat smbfs.tgz | tar xvf - 则会将相关档案打开,放入预设的目录中。这个目录即为smbfs-2.0.1。要进行安 装,先 跳到这个目录中,先读一下其中的README文件。如有必要依其中内容修改 一下Makefile档。 smbfs的安装步骤,视核心系统的版本而定。如果是1.2版,只要敲入'make'再 敲'make install'就可 安装可执行档及man page。 如果核心系统是2.0版或更新的版本,可能就要重新编译核心系统。这些版本中有 的可能在 main source tree中已包括了smbfs。要检查是否有必要重新编译,敲 入 cat /proc/filesystems 回答的其中一行可能说smbfs已经支援了。 如果smbfs不被支援,可以考虑重新编译核心系统或以模组方式加入smbfs。要重 新编译核心系统, 敲入'make config',然後当它问你是否要加入SMB档案系统时 ,回答'y'。一旦核心系统成功安装後,重新开机,检查/proc/filesystems目录 , 如果一切顺利,就可继续安装smbfs工具。跳回原来放置下载的smbfs工具档案 的目录,敲入'make'。 编译完成後,再敲入'make install'来安装各种工具 及man page。 挂上SMBFS档案系统 先假设WinNT伺服器叫'MYDOM_NT'而共用的目录为C:\PUB\HTMLDOCS, 共用帐号 为'HTMLDOS',没有密码。首先在Linux的机器上建立一目录/mnt/MYDOM_NT。 要 挂上该档案系统,敲入 smbmount //MYDOM_NT/HTMLDOCS /mnt/MYDOM_NT -n 如果无效,则敲入 smbmount //MYDOM_NT/COMMON /mnt/MYDOM_NT -n -I 172.16.0.3 要检查目录bsol;bsol;MYDOM_NT\PUB\HTMLDOCS中的档案,敲入 ls /mnt/MYDOM_NT [使用Windows档案符号] 13.3 NFS 首先要有个能支援NFS档案系统的核心系统。它可以是重新编译後支援,或以模组 方式加入而支援的。 先假设有个支援NFS的Unix主机叫'MYDOM-UNIX',它的IP地址为172.16.0.4。可以 用下面的指令 检查它的那些目录是输出的[共用的]。 showmount -e 172.16.0.4 一旦知道那些目录是输出的,即可以上挂指令把他们挂上你的系统。建议你 在'/mnt'下建立一个目录 'MYDOM_UNIX'[例],令它为你的上挂点 mount -o rsize=1024,wsize=1024 172.16.0.4:/pub/htmldocs /mnt/MYDOM_UNIX 其中的rsize及wsize视你的环境调整。 如果有困难,读一下NFS HOWTO [96]http://sunsite.unc.edu/mdw/HOWTO/NFS-HOWTO.html ,可对NFS系统有更深 入的理解。 14. 存取网站资料 既然已经设定好了HTTP伺服器、用户端又将Linux伺服器与其他连在一起,为了能 用浏览器存取这些挂上 了的档案系统,我们还要稍加调整。 14.1 存取上挂的档案系统 要让HTML首页中的连接,成功的连接到上挂的目录中,有两种方法: * 在Document Root [/usr/local/etc/httpd/htdocs]中建立连接到上 挂的 目录 ln -s /mnt/MYDOM_NW/vol1/home/htmldocs netware or ln -s /mnt/MYDOM_NT winNT or ln -s /mnt/MYDOM_UNIX unix * 修改/usr/local/etc/httpd/conf中的srm.conf档案 # Alias fakename realname Alias /icons/ /usr/local/etc/httpd/icons/ # alias for netware server Alias /netware/ /mnt/MYDOM_NW/vol1/home/htmldocs/ Alias /winNT/ /mnt/MYDOM_NT/ Alias /unix/ /mnt/MYDOM_UNIX 然後重新启动HTTPd。如要连到Netware伺服器上的档案,用 http://linux.mydomain/netware/index.htm。其馀系统以此类推。 14.2 连线到网际网路 你还可以让你的区域网路连线到网际网路上,利用网际网路的巧妙资讯存 取E-Mail。相关连线细节请参 考ISP Hookup HOWTO [97]http://sunsite.unc.edu/mdw/HOWTO/ISP-Hookup-HOWTO.html 及Diald mini HOWTO [98]http://sunsite.unc.edu/mdw/HOWTO/mini/Diald for setting up these connections。 14.3 其馀用途 HTTP伺服器还可以用於办公室,透明化存取其他伺服器的档案。所存取的档案可 以是Word、 Lotus spreadsheets或复杂的资料库。 这项技术可运用在: * 公司文件发文 包括最新消息、年度报告、地图、公司设施、价格表、产品资讯及任何有用 的公司文件。 * 存取可搜寻资料 例如大家常查询的电话簿。资料可建在映射站中[以CGI script的方式], 网站伺服器可做 为一连到back-end pre-existing或新应用软体的通道。也 就是说,只使用标准存取机器, 资料可经由简单的程序广泛的利用。也就是 说,像ORACLE及SYBASE可用RDMMS来作为提供及 时资讯的介面。下列为相关 的网页: -Web Access- [99]http://cscsun1.larc.nasa.gov/~beowulf/db/web_access.html -CGI gateway- [100]HTTP://www.w3.org/hypertext/WWW/RDBGate/Overview.html * 公司/部门/个人首页 当公司文化渐渐进步到,不止每一部门有工作任务,每个个人都有一工作任 务时,区域网路可 用来通知各部门或各人最新资讯。强力搜寻引擎,还可以 用来查询每个员工每天对各个问题的解 决方案。 * 简单Groupware应用软体 利用HTML表格,网站可提供签到、检视及简单时程表。 * 软体发行 系统管理员可以利用区域网路,把软体及最新资料,经由公司网路送到客户 手中。这件要 求可由'Java'来完成,因为它不只可以传送数据及应用程式, 还可以用来产生订购的object, 并保持运算透明化。较新版本的Linux可以 有较好的表现,因为他们内建支援Java。 信件 * 信件 随著越来越多人开始使用具备标准而简单的方式附上有档案、声音、视效及 其馀多媒体的个人 信件系统,信件渐渐成为简单而实际的通讯方式。信件实 质上是个人之间或个人与一个小组织之 间的通讯方式。Linux上有些工具可 用来设定如sendmail、pop3d、imapd的 E-mail系统。 * 使用者介面 区域网路技术进步得如此神速,以至於用於HTML的工具可以用来把我们和系 统间的介面彻底改 观。利用HTML,你可以建立一个只被个人想像力限制的使 用者介面。最棒的地方是,这些步骤又 非常的简单。只要点一下HTML的超连 结,可以跳到另一个首页,可以按响一声铃,可以跑一个 跑一年才停止的程 序,或任何其他电脑可以做到的事。 15. 其他可以办到的事 下列为另外一些可以让你的Linux 区域网路伺服器作的事。其中所提到的软体都 是自由软体。 * 利用Win 95/NT中'网路上的芳邻'来查看Linux伺服器:须设定NBT伺服器 成WINS型式 的伺服器。参考SAMBA网页 [101]http://lake.canberra.edu.au/pub/samba/samba.html。 * 在区域网路上建立搜寻引擎。参考 ht://Dig at [102]http://htdig.sdsu.edu/。 * 设定local reflector来使用CUSeeMe。参考他们的网页 [103]http://cu-seeme.cornell.edu/。 * 设定网路会议室。使用 [104]http://thecity.sfsu.edu/COW/的COW。 * 开设一个SQL资料库。参考SQL网页 [105]http://Hughes.com.au/。 * 在Netware伺服器上设定FTP、Gopher、Finger、Bootp伺服器。参考 [106]http://mft.ucs.ed.ac.uk/。 * 模拟Netware伺服器。参考 [107]ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ncpfs/中 的NCP工具。 如果你还知道其他可以在Linux区域网路伺服器上玩的东东,请E-Mail给我。 16. 贡献及版权[Credits and Legalities] 16.1 感谢[Thanks] 谢谢NCSA人员提供的卓越文件。感谢David Anderson及其他试用过本文件并来信 的一些人。谢谢 Romel Flores提供有关Netware/IP的细节。 16.2 著作权资讯[Copyright information] 本文件具有版权©1999{Poet} and Linux Ports,只能在下列条件下发行: * Linux HOWTO文件可以部份或完整复制、散布、可以利用各种媒体[实物或电 子方式],但必须 保证原版权仍保留在所有文件上。具商业目的的发行是允 许的,也是被鼓励的,但在发行前应先通知原作者。 * 不论是直接翻译、间接参用或是集文成册,只要是用到Linux HOWTO文件,本 著作权声明一律有效 。也就是说,一旦你参用了HOWTO的内容,就不能对你 的产品附加任何发行的权限。在某些特殊条件之下, 若是你想取得某些不违 反上述规定的权利,请经由下述地址与Linux HOWTO整合者连络。 * 如果有任何疑问,请与Linux整合者Tim Bynum连络,地址为 [108]linux-howto@sunsite.unc.edu。 可用finger查询电话号码,用snail 查E-Mail地址。 原著作内容(Origional Copyright Information): This document is copyrighted © 1999 {Poet} and LinuxPorts, it is distributed under the following terms: * Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions. * All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its  distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below. * If you have questions, please contact Tim Bynum, the Linux HOWTO coordinator, at [109]linux-howto@sunsite.unc.edu Finger for phone number and snail mail address. 17. 进一步阅读 17.1 O'Reilly & Associates Books 个人小小的建议 O'Reilly &书局发行的技术书目独步全球。他们主要出品有关网 际网路、 Unix及程式撰写的书目。其中往往有许多例子,读完之後就严然变成了 个专家。只要读完他们书目的一半, 不论遇到什麽问题也都不再怕怕了。而且, 书中的笑料也比较多。 有名的书囊括HTML、PERL、CGI程式、Java、Javascript、C/C++、Sendmail 、Linux等等, 数之不尽。对於变化较快的项目[如HTML]几乎每半年就增订一 次。要知道最新动态请参考他们的网站 [110]O'Reilly & Associates ,或到最 近的书局查询。 记得,如果书皮上没有O'Reilly & Associates,那就绝对不是他们出品的书籍。 17.2 Internet Request For Comments (RFC) * RFC1866 written by T. Berners-Lee and D. Connolly, "Hypertext Markup Language - 2.0", 11/03/1995 * RFC1867 writtenm by E. Nebel and L. Masinter, "Form-based File Upload in HTML", 11/07/1995 * RFC1942 written by D. Raggett, "HTML Tables", 05/15/1996 * RFC1945 by T. Berners-Lee, R. Fielding, H. Nielsen, "Hypertext Transfer Protocol -- HTTP/1.0", 05/17/1996. * RFC1630 by T. Berners-Lee, "Universal Resource Identifiers in WWW: A Unifying Syntax for the Expression of Names and Addresses of Objects on the Network as used in the World-Wide Web", 06/09/1994 * RFC1959 by T. Howes, M. Smith, "An LDAP URL Format", 06/19/1996 References 1. mailto:poet@linuxports.com 2. mailto:poet@linuxports.com 3. http://www.linuxports.com/howto/www 4. file://localhost/tmp/zh-sgmltools.22261/WWW-HOWTO.txt.html#netscape 5. ftp://ftp.netscape.com/ 6. file://localhost/tmp/zh-sgmltools.22261/WWW-HOWTO.txt.html#lynx 7. http://www.kde.org/ 8. file://localhost/tmp/zh-sgmltools.22261/WWW-HOWTO.txt.html#emacs 9. http://www.w3.org/Amaya/ 10. ftp://ftp.w3.org/pub/Amaya-LINUX-ELF-1.0b.tar.gz 11. http://sunsite.auc.dk/qweb/ 12. http://sunsite.auc.dk/qweb/qweb-1.3.tar.gz 13. http://sunsite.auc.dk/qweb/qweb-1.3-1.i386.rpm 14. http://www.slcc.edu/lynx/fote/ 15. ftp://sunsite.unc.edu/pub/Linux/apps/www/browsers/ 16. http://www.crl.com/~subir/lynx.html 17. http://lynx.browser.org/ 18. http://www.crl.com/~subir/lynx/lynx_help/lynx_help_main.html 19. ftp://ftp.gnu.ai.mit.edu/pub/gnu/ 20. ftp://ftp.xemacs.org/pub/xemacs 21. http://www.xemacs.org/ 22. ftp://sunsite.unc.edu/pub/Linux/apps/editors/emacs/ 23. file://localhost/tmp/zh-sgmltools.22261/www.mozilla.org 24. file://localhost/tmp/zh-sgmltools.22261/www.mozilla.org 25. http://www.netscape.com/download/ 26. ftp://ftp.netscape.com/pub/communicator/4.6/shipping/english/unix/linux20/navigator_standalone/navigator-v403-export.x86-unknown-linux2.0.tar.gz 27. ftp://ftp.netscape.com/pub/communicator/4.6/shipping/english/unix/linux20/base_install/communicator-v403-export.x86-unknown-linux2.0.tar.gz 28. ftp://ftp.netscape.com/pub/communicator/ 29. http://www.w3.org/Daemon/Status.html 30. ftp://sunsite.unc.edu/pub/Linux/apps/www/servers/httpd-3.0.term.tpz 31. http://www.netcraft.com/survey/ 32. http://hoohoo.ncsa.uiuc.edu/ 33. file://localhost/tmp/zh-sgmltools.22261/WWW-HOWTO.txt.html#apache 34. http://www.netcraft.com/survey/ 35. http://www.c2.net/products/stronghold 36. http://www.netcraft.com/survey/ 37. http://www.c2.net/products/stronghold/ 38. http://www.algroup.co.uk/Apache-SSL/ 39. http://www.netcraft.com/survey/ 40. http://www.caldera.com/products/netscape/netscape.html 41. http://www.netscape.com/comprod/server_central/product/fast_track/ 42. http://hopf.math.nwu.edu/ 43. http://www.aolserver.com/server/ 44. http://www.ai.mit.edu/projects/iiip/doc/cl-http/home-page.html 45. http://www.netcraft.com/survey/servers.html 46. http://webcompare.internet.com/ 47. http://www.apache.org/ 48. http://www.apacheweek.com/ 49. http://www.apache.org/dist/ 50. ftp://sunsite.unc.edu/pub/Linux/apps/www/servers/ 51. ftp://ftp.redhat.com/pub/contrib/i386/ 52. http://www.apache.org/docs/mics/security_tips.html 53. http://www.apacheweek.com/features/vhost 54. http://sunsite.unc.edu/LDP/HOWTO/Kernel-HOWTO.html 55. http://sunsite.unc.edu/LDP/HOWTO/mini/IP-Alias.html 56. http://www.internic.net/ 57. http://www.apache.org/manual/host.html 58. http://www.apacheweek.com/features/put 59. http://www.apacheweek.com/features/userauth 60. http://hoohoo.ncsa.uiuc.edu/docs-1.5/tutorials/user.html 61. http://www.apache.org/docs/suexec.html 62. http://www.apacheweek.com/features/imagemaps 63. http://www.apache.org/docs/mod/mod_include.html 64. http://www.apacheweek.com/features/ssi 65. http://hoohoo.ncsa.uiuc.edu/docs/tutorials/includes.html 66. ftp://pageplus.com/pub/hsf/xssi/xssi-1.1.html 67. http://www.zyzzyva.com/module_registry/ 68. http://www.zyzzyva.com/module_registry/reference/ 69. http://hoohoo.ncsa.uiuc.edu/docs/setup/OneStep.html 70. http://support.novell.com/ 71. http://www.microsoft.com/ 72. http://www.apple.com/ 73. http://home.netscape.com/ 74. http://www.microsoft.com/ 75. http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/NCSAMosaicHome.html 76. http://www.linuxports.com/ 77. mailto:poet@linuxports.com 78. http://hoohoo.ncsa.uiuc.edu/docs/setup/OneStep.html 79. http://hoohoo.ncsa.uiuc.edu/docs/ 80. file://localhost/tmp/zh-sgmltools.22261/WWW-HOWTO.txt.html#Intro 81. file://localhost/tmp/zh-sgmltools.22261/WWW-HOWTO.txt.html#SetupNW 82. file://localhost/tmp/zh-sgmltools.22261/WWW-HOWTO.txt.html#MSClient 83. file://localhost/tmp/zh-sgmltools.22261/WWW-HOWTO.txt.html#NWWin95 84. file://localhost/tmp/zh-sgmltools.22261/WWW-HOWTO.txt.html#MSWFWG 85. file://localhost/tmp/zh-sgmltools.22261/WWW-HOWTO.txt.html#MSWin95 86. file://localhost/tmp/zh-sgmltools.22261/WWW-HOWTO.txt.html#MSWinNT 87. ftp://ftp.microsoft.com/ 88. file://localhost/tmp/zh-sgmltools.22261/WWW-HOWTO.txt.html#NCPFS 89. file://localhost/tmp/zh-sgmltools.22261/WWW-HOWTO.txt.html#SMBFS 90. file://localhost/tmp/zh-sgmltools.22261/WWW-HOWTO.txt.html#NFS 91. http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html 92. http://sunsite.unc.edu/mdw/HOWTO/Module-HOWTO.html 93. ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ncpfs/ncpfs.tgz 94. http://sunsite.unc.edu/mdw/HOWTO/IPX-HOWTO.html 95. ftp://sunsite.unc.edu/pub/Linux/system/filesystems/smbfs/smbfs.tgz 96. http://sunsite.unc.edu/mdw/HOWTO/NFS-HOWTO.html 97. http://sunsite.unc.edu/mdw/HOWTO/ISP-Hookup-HOWTO.html 98. http://sunsite.unc.edu/mdw/HOWTO/mini/Diald 99. http://cscsun1.larc.nasa.gov/~beowulf/db/web_access.html 100. http://www.w3.org/hypertext/WWW/RDBGate/Overview.html 101. http://lake.canberra.edu.au/pub/samba/samba.html 102. http://htdig.sdsu.edu/ 103. http://cu-seeme.cornell.edu/ 104. http://thecity.sfsu.edu/COW/ 105. http://Hughes.com.au/ 106. http://mft.ucs.ed.ac.uk/ 107. ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ncpfs/ 108. mailto:linux-howto@sunsite.unc.edu 109. mailto:linux-howto@sunsite.unc.edu 110. http://www.ora.com/