xampp for Linux 1.6.6 (Apache 2.2.8+MySQL 5.0.51a+PHP 5.2.5+phpMyAdmin 2.11.4+ProFTPD 1.3.1)2008-06-09 21:53诸如 Apache Friends 中的 XAMPP 之类的开放源码软件简化了开源项目的开发,方式是通过简化在稳定和标准化环境中应用程序的编写和分发。传统情况下,AMPP -- Apache、MySQL、PHP 和 Perl -- 都是以单独产品的形式进行安装和配置。将它们集成到中间件软件中的承诺使得开源项目的开发相对于 J2EE? 应用程序的开发来说更具竞争力,至少对于底层的应用程序来说是如此。在本文中,您将学习如何在 Mandrake Linux? 10.0 上安装、配置和备份 XAMPP,以及如何配置和管理 XAMPP,以及如何在 XAMPP 环境中安装自己的应用程序。
J2EE(Java 2 Enterprise Edition?)的出现极大地改变了软件领域,它提供了一个集成的中间件软件,可以极大地简化编写和部署 Java? 应用程序的任务。一时之间,开源社区因为缺少类似的集成架构而被远远地抛到了后面。
最近以来,随着在 Apache Friends 中出现 XAMPP 这种集成的开放源码软件,这种情况开始逐渐地发生变化。虽然这些工具与 J2EE 相比还非常简单,甚至是微不足道,但是不管怎样,这对于通往全面的系统集成之路来说,都迈出了重要一步。 PHP 5.0 (它使得 PHP 成为完全面向对象的)是这种趋势正在加速发展的一个良好的风向标。
本文的重点是介绍集成的开放源码软件之一:Apache Friends 中的 XAMPP。
XAMPP 简介
XAMPP 是一个功能全面的 AMPP (Apache、MySQL、PHP、Perl)软件包,这是 Linux 平台上可以使用的几种非商业 AMPP 中间件之一。采用这种紧密的集成,XAMPP 可以运行任何程序:从个人主页到功能全面的产品站点(虽然这仅仅用于开发目的;出于安全考虑,XAMPP 还不适于用在产品服务器上)。
XAMPP 实际上在以下几个方面大放光彩:
易于安装和设置。
包含很多有用的软件包,可以简化诸如生成流量报告和加速 PHP 内容之类的任务。
已经在 SUSE、Red Hat、Mandrake、Debian Linux 发行版以及 Windows? 和 Solaris 上进行了完整的测试。
对于本文来说,我们将在 Mandrake Linux 10.0 上安装 XAMPP。现在我们首先看看 XAMPP 中提供的缺省软件包。
基本的软件包
基本的软件包包括系统、编程和服务器软件:
Apache,著名的 Web 服务器
MySQL,一种杰出、免费的开源数据库
PHP,一种编程语言(在撰写本文时版本为 4.3.8 和 5.0.1)
Perl,一种编程语言
ProFTPD,一个 FTP 服务器
OpenSSL,可以支持安全套接字层
图形软件包
XAMPP 包括以下与图形有关的软件包:
GD,“Graphics Draw”库
libpng,官方的 PNG 参考实现库
libjpeg,官方的 JPEG 参考实现库
ncurses,字符图形库
数据库软件包
如果没有以下的数据库软件包,怎么还能叫集成软件呢?
gdbm,标准的 UNIX? dbm 库的 GNU 实现
SQLite,一个相当小的、无需任何配置的 SQL 数据库引擎
FreeTDS,一个数据库,让 UNIX 和 Linux 程序可以访问 Microsoft? SQL 和 Sybase 数据库
XML 软件包
为了开发 XML 程序,XAMPP 应该包含以下软件包:
expat,一个 XML 解析器库
Salbotron,一个 XML 工具包
libxml,一个 XML C 解析器和 GNOME 工具包
PHP 软件包
为了开发 PHP 程序,XAMPP 应该包括以下软件包:
PEAR,PHP 库
一个 pdf 类,可以使用 PHP 生成动态的 PDF 文档
TURCK MMCache,一个 PHP 性能增强器
其他软件包
最后,XAMPP 中包含了以下软件包来展示自己的强大功能:
zlib,一个压缩库
mod_perl,在 Apache 中嵌入了一个永久的 Perl 解释器
gettext,一个工具集,可以帮助 GNU 软件包生成多语言的消息
mcrypt,一个加密程序
Ming,一个 Flash (SWF) 输出库
Freetype2,一个软件前端引擎
IMAP C-Client,一个邮件编程 API
现在让我们讨论一下安装 XAMPP 的问题。
用迅雷下载软件:
http://jaist.dl.sourceforge.net/sourceforge/xampp/xampp-linux-1.6.6.tar.gz
安装并作为守护进程运行
要安装 XAMPP,请从 Apache Friends Web 站点上下载最新的二进制文件(请参阅 参考资料 中的链接)。使用下面的命令将其解开到 /opt 目录中:
tar xvfz xampp-linux-1.6.6.tar.gz -C /opt
就是这样!XAMPP 现在已经被安装到 /opt/lampp 目录中了。之前安装在 /opt 目录中的内容都已经被覆盖了。如果您正在运行一个旧版本的 XAMPP,并且不想再次下载整个软件包,Apache Friends 中还提供了一个升级包来下载需要的软件包。
现在所有的软件都已经安装好了,让我们启动新的守护进程。将当前的工作目录切换到 /opt/lampp ( cd /opt/lampp)并输入下面的命令:
./lampp start
您应该会看到下面的结果:
Starting XAMPP for Linux 1.6.6...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.
XAMPP 现在就启动并运行了。最好的验证方法是打开一个浏览器并在地址栏中输入 localhost,并按回车键。此时浏览器会被重定向到 XAMPP 的 welcome 页面。
图 1. XAMPP welcome 页面
http://IP/XAMPP
注:有时会发生错误 例如
Starting XAMPP for Linux 1.7.1...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP: - warning: unable to determine IP address of 'mycore13'
- error: no valid servers configured
- Fatal: error processing configuration file '/opt/lampp/etc/proftpd.conf'
XAMPP: Error 1! Couln't start ProFTPD!
XAMPP for Linux started.
解决:
/etc/hosts . 在里面添加了一行 127.0.0.1 mycore13 localhost.localdomain localhost
====================================================================
点击左边导航栏中的 Status 链接,就可以看到必需的服务已经正确启动了。如果所有的服务都运行正常,您就会看到下面的页面:
图 2. Service status 页面
恭喜!您现在已经安装和设置好了一个完整的 AMPP 开发环境了。现在让我们安装一个简单的应用程序来展示一下如何使用这种环境。
安装一个简单的应用程序
要利用 XAMPP 的基本特性,您需要一个简单的应用程序。最好的应用程序是一个在后端使用数据库的程序;并使用一个相当简单的数据库,其中包含了一个精心设计的表。
测试数据库包含一个只有一列的表。让我们按照测试程序的(计算机)传统,设计在我们的表中存放一条记录“Hello World!”。我们将使用一个 Perl 和 一个 PHP 脚本来访问这个数据库。这两个脚本都可以访问这个数据库,从中检索这行记录,并将其输出到屏幕上。
工具
我们的数据库将使用 phpMyAdmin 来创建和管理,这是使用 PHP 编写的一个杰出的基于 Web 的 MySQL 管理工具。它有一个非常友好的用户界面,可以允许您处理各种复杂的任务,包括创建/删除/修改数据库和表,以及导出数据、管理关键字和处理 SQL 文件。phpMyAdmin 是一个杰出的工具,因为:
它可以帮助初学者熟悉 MySQL,而不用使用命令行接口来处理这些任务。
它允许高级用户更快更容易地执行简单的任务和例行的任务。
当您希望为某些用户授权访问数据库而不想让他们完全访问 shell 时,对于这种情况非常有用。
创建数据库
要在 phpMyAdmin 中创建一个数据库,请遵循下面的步骤:
转换到 XAMPP 的 start 页面 (localhost)。
在左边导航栏的 Tools 下面选择 phpMyAdmin。
在 phpMyAdmin 主页的 Create New Database 域中,输入 hello_world,并点击 Create。
现在您必须在数据库中创建一个表,并指定该表中应该包含哪些字段(字段与列类似)。让我们将自己的表称为“hello_table”,并让它只包含一个字段,其中保存记录“Hello world!”。在 Name 文本域中输入 hello_table,并在 Fields 文本域中输入 1。输入完之后,点击 Go。
现在应该执行创建数据库的最后一个步骤了:为列选择一个名字和一个数据类型定义。让我们选中“hello”并将其命名为“hello_column”;并在 Field 文本域中输入 hello_column。
由于我们要在列中存储字符串“Hello World!”,因此其类型必须是 char,长度为 12 (字符串 "Hello World!" 的长度)。缺省类型 varchar 就足够了。在 Type 后面的 Length/Values 文本域中,输入 12,表示最大长度是 12 个字符。不用关心该页面中其他域的设置,继续点击 Save。
如果一切正常,您应该会看到下面的界面:
图 3. Hello World 数据库摘要
现在让我们插入记录 "Hello World!"。点击 Insert 标签,并在 Value 文本域中输入 "Hello World!"。 Function 下拉列表在这个例子中可以保留不变。点击 Go,将 "Hello World!" 记录插入数据库中。
要确认记录已经成功插入数据库,请点击 Browse 标签。现在会显示 "hello world"。
脚本
现在后端软件已经启动并运行了,应该处理脚本部分了。我们将使用两个脚本,一个使用 Perl 编写,另外一个使用 PHP 编写。对于每个脚本来说,惟一的要求就是一个数据库连接、数据库访问权限以及在屏幕上输出检索到的行。
清单 1. 简单的数据库连接,以及在 PHP 中使用 PEAR::DB 进行检索
require_once 'DB.php'; // must be included in any script that uses PEAR::DB
// it is a huge security risk to store your database connection information
// in the same file as your code. We have done it here solely for the purpose
// of this example. Please store your database connection information in another
// file that is not in your document root directory and adequately protected.
// database connection information
- 1
- 2
- 3
- 4
- 5
前往页