网络数据库教程-第2日

---(原作/Richard Dice)
确定系统类型
Windows NT和Linux的对比
安装Linux和相应软件
设定你的期望

一、确定系统类型

Know your playing field

The story so far ...

现在我们已经懂得了人们需要什么:数据。而数据库是处理数据最好的途径。并且我们了解了网络对于数据库来说是一个了不起的界面。

那么,接下来我们需要了解数据库如何工作。

决策,决策...

我们是否应该使用Windows NT或UNIX类型的系统作为我们的互联网网络服务器平台?

在我们决定使用何种技术之前,我要提请你注意:生成数据库支持的网站绝不象编写HTML文件那样简单。这不仅因为数据库要复杂许多,而且因为它需要同互联网服务器集成应用。

要安装、配置和初始化网络数据库的技术,你必须是系统的管理员。在UNIX系统中,系统管理员用户叫做"root"或者有时候叫做"the superuser"。在Windows NT系统中,系统管理员就叫做"管理员"。

在某些提供免费主页存放的站点,例如Geocities, Angelfire或其他当地的ISP来说,他们能为你提供5到10Mb的空间,但目前他们还不允许你为自己的网页设立数据库管理机制。

所以,你必须主管一个系统来运行数据库。架设你现在就在管理一个系统,你需要选择用Windows NT系统和UNIX系统来建立你的数据库,该系统需要被细分为各个子目录。我将集中介绍每一种系统的规范设置。该设置包括一个操作系统、一个网络服务器、一个SQL服务器和一个网络开发工具。这些是你运行一个网络数据库的核心。

二、Windows NT和Linux的对比

Windows NT服务器4和MS IIS和MS SQL服务器以及Allaire Cold Fusion

Slackware Linux & Apache & TCX Mysql & Perl (带模块)
的对比

(注意:我在使用作为UNIX OS系统的代表,因为它比较便宜并且具有通用性。其他的UNIX平台的工作也比较好,但其中的某些命令可能和我在本文中用到的有些区别。)

Windows NT的优点

使用方便
Windows软件相对而言容易安装,它的界面直观,运行简便(我很喜欢SQL服务器)和ODBC(开放数据库互联-Open DataBase Connectivity)非常好用。
产品系列的稳定性
许多人都非常喜欢微软软件的稳定性和强大的功能。微软是一个能随时提供持续稳定的支持的公司。它的产品系列不会突然之间枯竭,你不用害怕自己用微软产品某一天找不到升级和更新的技术支持。微软还是技术趋势的领头人。很多人喜欢微软,因为他们都在用微软的视窗产品。

Windows NT的缺点

软件成本太高
要配备这个系统你需要花几千美元。而且其他和Windows相关的就是成本也很高。要配备这个系统,你先得准备好你的钱包。
"必须花钱的支持"是一个逆喻。使用商业软件的优点在于包括了技术支持。从使用角度讲,你所得到的支持从是离理想要差那么一点点。即使你
得到他们的技术支持,你也需要为此付出种种额外的费用。如果你真的发现他们的软件中存在某些问题,你要想让问题得到解决,可能得需要几周的时间。
功能不灵活
商业软件只能完成它既定的使命,除此之外,没有其他用途。如果你想获得什么特别的东西,你必须等待它的新版本面市。可能会在明年。
功能有限
商业软件的哲学就是:“保持它的简洁”。而这样以来,某些功能也过于简单,不能作进一步的开发。

Linux的优点

这种软件很便宜。
Linux整个系统只需花US$200。如果你只将其用于个人目的,你几乎不用花多少钱,但是你必须用你可怜的调制解调器从网上下载300 Mb的程序。而你付30美元就可以获得linux的发行版。另外,Linux带有很多你需要的工具(例如邮件服务器mail server, C/C++ 编译器等等),你无需在单买这些软件。
高性能软件
Linux、Apache、和Perl建立的系统速度快、稳定,可以开发出许多功能。还可以支持和结合超文本:Mod_perl将Apache附加到Perl上,DBI将Perl附加到数据库上,ePerl 可以随意处理网络编程模式......

Linux的缺点

心脏不好者慎用
    
一旦你掌握了Linux,在整个领域内你将无所不能。然而不幸的是,要掌握这门技术可不是一件容易的事。Perl, Apache,和Mysql也是如此。怎么说呢,天上不会掉馅饼。
艰难的说服过程
除非你所生存的空间不存在任何组织或者叫没有任何官僚体制,否则你必须说服你的上级去应用一种免费的系统。你的上级会反问你这样的问题:你怎么可以在工作中冒这样的险?免费的东西,会好使吗?

最后的赢家是...

在我看来呢,应选择Linux。在实际应用中,我采用两种方式。对于本教程来说呢,我们假设的是读者还没有建立自己的网络数据库系统。那么对于你们而言,你们希望采用免费的东西还是必须花大笔钱的东西?

还有许多使用免费系统的优点,在之后几天的课程中我将逐步谈到这些优点。

三、安装Linux和相应软件

如果你了解UNIX,你可以继续读下面的各段,否则,你需要:

 

你需要获得一个Linux软件。我对Slackware很熟悉,所以我在此以它为例。但是Red Hat, S.u.S.E., 和Caldera也很不错。我建议你查询Linux Online。整个站点不仅告诉你各种Linux 软件的情况,而且还告诉从哪里可以找到他们。还有大量有关Linux的文献可供参考。

你还可以从CD-ROM中安装Slackware的Linux软件。最新的版本是3.4。不要用更低版本的东西。

你无需将你的计算机完全用于运行Linux;其安装选项可以让你选择"multi-boot" 来选择从Windows OS 或Linux来驱动计算机。你所需的只是将硬盘分区。你可以买一个新硬盘,或者使用分区工具。

安装Linux我有几个不成规矩的建议:

你肯定会需要这些,但是3.4版本的Slackware软件实际上还不是最新的软件。你可以从相应的站点下载最新版本http://www.perl.com/ and http://www.apache.org/。Perl的最新版本命名为latest.tar.gz,Apache的最新版本是1.2.6。它还有1.3版本,但这只是试用版。我们还暂时不需要它的新功能。

下载的过程中你可以顺便下载这些:

大部分的这些文件都是.tar.gz格式的文件。它是"磁带归档文件(Tape Archive)"格式的文件,它用GNU Zip进行了压缩。要解压缩这些文件,你需要使用

tar xvzf /path/to/file/file.tar.gz

只是假设在tar中已经包含了一个子目录。你可以检查一个子目录是否包含了

tar tvzf /path/to/file/file.tar.gz | less

我建议解压缩(un-tar.gz-ing)所有/usr/src 子目录中的文件,但ePerl, Apache, Mysql和mod_perl除外。这些文件需要扩展到 /usr/local/src中。还存在将这些文件放置到其他路径的可能性,我欢迎这些建议

你需要重新建立Linux内核,例如包括对网卡的支持。这样做时注意按照README和INSTALL中的指南去执行。你还需要将你的内核更新到最新的版本,它可以从The Linux Archives获得。

我建议你按照的每种文件都带有如何编译的指南。如果你只了解Windows环境,可能你很少用到代码编译。依照README和INSTALL文件中的指南执行即可。

首先安装(不只是解压缩un-tar.gz,而是实际安装) Perl,接着安装LinuxThreads,然后是各种Perl模块。mod_perl的安装最简单,它将Apache在编译的同时即安装,所以你无需单独编译Apache,你只需处理Apache配置文件。

接下来安装ePerl。ePerl欲求两步不同的安装程序:第一种是将其作为独立的程序安装,然后作为Perl(和mod_perl)模块。第2步需要你重新处理Apache配置文件。

我详细介绍安装过程是因为出于我“痛苦”的经历。Mysql的运行需要LinuxThreads的支持。而LinuxTheads需要Perl,Mysql也需要Perl和Data-ShowTable模块的支持。Mod_perl需要Apache 和libwww-perl,而Libwww-perl需要libnet。

四、设定你的期望

要将这一切组装在一起要花将近一天的时间,而这也是因为我已经重复这样的过程不下10次。第1次安装需要花1周的时间,而且那时候没有人给我任何指南。

我还不能说最坏的情况已经过去。明天我们还必须处理网络服务器的配置(configurations)和Mysql数据库引擎。最麻烦的事情便是细节的处理...