构建您自己的网站
当我需要构建一个开发和演示系统来启动我自己的互联网业务时,我决定探索如何构建一个用于教育和低端商业支持的网站。 我选择的技术允许个人构建一个他们可以控制并用于实验的网站。
如果您拥有自己的网站,您就可以完全自由地探索互联网安全、CGI(通用网关接口)和 Java servlet 开发等技术。 这方面的大部分工作都在 ISP(互联网服务提供商)的幕后处理; CGI 和其他服务器端编程涉及 значительные затраты。
这些技术很难处理,因为它们可能会给网站带来安全漏洞。 试图强调安全性肯定会给系统管理员带来压力。 像 CGI 和 Java Servlet 这样的功能是连接到 Web 服务器后端的程序。 如果 Web 服务器的所有者在没有经过严格测试的情况下就允许客户添加程序,那将是疏忽大意。
当您使用 ISP 时,您会受到 ISP 对特定技术的限制。 许多 ISP 甚至不允许在其基本 ISP 计划中使用 CGI 和 Java servlet 程序。 更高级的商业计划通常允许 CGI 或 Java servlet,但会限制您对站点的升级,要求您付费让他们测试您的代码,然后才能上线。 这会引入延迟和控制限制,这可能会禁止某些功能部署到您的站点上。
对于小型企业而言,个人网站提供了通常只有大型竞争对手才有的灵活性。 当您拥有该站点时,您可以快速且以相对较低的成本进行更改。 您还必须承担维护安全站点的责任以及对站点内容的责任。
为了保持我们提出的“个人网站”的低成本,所使用的大部分软件将是免费提供的操作系统、编程工具和网络软件。 自由软件基金会和世界各地的数千名开发人员为大量的免费软件做出了贡献。 免费或近乎免费的软件的可用性使构建本文概述的系统成为一个可以实现的目标。
初始系统将由几台运行 Linux 的基于 Intel 的个人计算机组成。 对于这个项目,我选择了 SuSE Linux 5.3。 这是一个最新的发行版,支持互联网站点所需的大部分功能。 该系统将支持带有 Java servlet 运行时模块的 Web 服务器。 此配置支持使用 JDBC(Java 数据库连接)兼容数据库动态创建的网页。
三台 PC 级系统(AMD 5x86 133)和两台 300+ MHz 的 K6-2 系统将构成该站点的处理核心。 一台系统将处理防火墙、代理和路由任务。 (有关设置这些服务的详细信息,请参阅本期 Preston Crow 的“我的 Linux 家庭网络”。) 这些服务使我们的站点对网络可见,并能够安全地查看网络。 其他系统将分别支持生产服务和开发支持。 可能一台旧的 486 DX2 66 将被清理出来用于非常轻型的互联网设备任务。
一个合适的调制解调器,支持物理和链路层连接,将安装在最慢的系统上,该系统可以跟上数据流,同时处理防火墙杂务、DNS 和路由任务。 通过将操作系统精简到最低限度的所需功能,它可以足够小,允许较旧的机器用于此专用连接任务。 Linux 路由器项目 (LRP) 定义了一个最小配置,以支持小至 386SX 16 配备 8MB 内存的系统。 (有关详细信息,请参阅 David Cinege 的“Linux 路由器项目”,LJ,1999 年 3 月。) 这是一个输入和输出密集型过程,不需要太多计算机即可跟上 128KBps 的数据流。
带有 IP 配置网络支持的 Linux 操作系统将是所有系统的标准配置。 为了最好地优化操作系统,我重新配置并编译了 Linux 内核,使用了为互联网站点提供网络功能所需的参数。 这包括对硬件网络接口以及 IP 网络和防火墙选项的所有支持。 所有非必要功能(例如多媒体功能)都已删除。
由带有 Java servlet 扩展的 Apache Web 服务器组成的 Web 支持已经安装并运行。 生产系统的早期原型设计将包括 Java JDBC 服务器端支持。 (请参阅 Bruce McDonald 的“将 Java Servlet 与数据库连接一起使用”,LJ,1999 年 6 月。) 数据库任务最初将由 PostgreSQL 处理。 (请参阅 Rolf Herzog 的“PostgreSQL—数据库的 Linux”,LJ,1998 年 2 月。)
快速以太网用于站点现有系统之间。 对互联网不可见的系统将使用 IP(互联网协议)伪装来增强其安全性。 (请参阅 Lawrence Teo 在本期中的“设置 Linux 网关”。)
连接到互联网需要我们处理与物理和逻辑连接相关的问题。 物理连接问题基于电信公司(电话公司)或有线线路的选择和配置。 具有适度带宽的物理连接选项似乎是 ISDN(综合业务数字网络)、DSL(数字用户线路)和有线 IP 服务。
我需要连接到互联网的服务分为两类:电信服务和 IP 接入提供商。 我真的不需要 ISP(互联网服务提供商)服务,因为我将成为我自己的 ISP。 ISP 通常提供的所有服务都可以在我配置的系统上使用。
在可用的技术中,ISDN 是最古老的,可以追溯到 1978 年。 DSL 和有线调制解调器是相对较新的技术,并且所有这些技术的可用性都受到限制。 (请参阅 Jason Schumaker 在本期中的“(并非如此)精彩的高速互联网接入世界”。) 由于 DSL 和有线 IP 在我所在的地区不可用,因此连接将由 ISDN 线路提供。 互联网接入由 US West 提供,可以 24x7(每天 24 小时,每周 7 天)连接,并提供“按需”服务。 为了降低站点的初始成本,我已安排获得一个二手的 3Com Impact IQ ISDN 网络适配器(它们实际上不是调制解调器)来将我的系统连接到我选择的 IP 接入提供商。
在连接的逻辑方面,我们需要路由支持和互联网地址。 在这种情况下,US West 网络将为我的站点提供路由和 DNS(域名服务)支持。 为了可寻址,我需要我的站点的 IP 号码。 正在从 US West 租用八个静态 IP 号码,每月 15.00 美元。 这产生了五个可用的 IP 地址,其余的用于配置目的。 (请参阅 Gene E. Hector 的“简化的 IP 寻址”,LJ,2000 年 1 月。)
此配置已从互联网成功测试。 我连接了系统,记下了它的动态地址,然后从远程位置使用 HTTP、TELNET 和 FTP 会话登录到系统。 这向我保证系统配置已准备好支持我计划用于此互联网站点的服务。
为了对互联网用户可见,该站点需要有一个域名,该域名已在名为 Internic 的组织注册。 http://www.internic.net/ 上的网页包含注册域名所需的信息和表格。 为了注册域名,您必须有一个主要 DNS 和一个辅助 DNS,您可以使用它们来定义您的系统。 负责这些系统的人员应该知道您的意图,否则您可能会发现您的站点从互联网上消失了。
需要域名才能以其分配的 IP 号码以外的其他名称可见。 记住 ###.###.###.### 格式(例如,192.168.1.1)的网址会很困难,因此域名将我们的站点置于“mySite.com”的形式。 互联网接入提供商将必须为我的五个静态 IP 地址以及它们代表的域名向互联网的其余部分提供 DNS 可见性。
一旦我有了域名,我就可以添加别名和扩展名来定义其他系统和服务。 对于 Web 访问,一个简单的 http://www.mySite.com/ 生成一个 URL 来访问网页。 ISP 提供的电子邮件通常非常有限,通常只有五个或更少的邮箱。 当您拥有站点和邮件路由器时,您可以拥有任意数量的邮箱。 外部用户可以将邮件发送到 me@mySite.com,我自己的邮件服务器会将邮件发送到我的邮箱。
在您的家庭办公室中使用典型的 ISP 服务启动一个互联网站点是可能的。 免费提供工业级软件是使这成为可能的关键要素之一。 如果您必须向系统中添加数万美元的许可费,那么低成本的计算机将是不够的。 如果没有免费软件,这很快就会变得令人望而却步。
从教育的角度来看,这是一个扩展技能的绝佳平台。 操作系统和工具提供了一个高质量的系统,并在必要时提供源代码进行深入研究。 开放标准得到大力支持,所有主要的互联网开发语言都可用。
各种技能与开发和管理互联网形象相关。 此配置可用于研究互联网站点安全性,包括 Satan 或 Tripwire 等常用工具。 这两个工具分别帮助管理员验证安全性并帮助检测活动中的中断。 站点启动后的其他用途包括电子商务和应用程序服务器开发。 使用 JDBC(Java 数据库连接)和 CORBA 等技术可以开发重要的商业项目。
当然,如果您应该超过这些系统,则可以升级到基于 RISC 的硬件和 Linux,因为它可以在 DEC Alpha、PowerPC、SPARC 和 MIPS 处理器以及 Intel 上运行。 从 Linux 升级到其他硬件和其他 UNIX 实现比从 Apple、Windows NT Server 或专有网络元素升级要容易得多。
电子邮件:tdean@du.edu
Tony Dean 可以通过电子邮件 tdean@du.edu 联系到他。