十秒钟解决Ubuntu下php开发条件安顿,实行有益集成开发

原稿转自:http://www.ibm.com/developerworks/cn/linux/l-xampp/

Ubuntu无疑是Linux初学者的首要接纳版本,因为它图形界面辅助的百般好。

Nils-Erik
Frantzell

(nfrantze@ucsc.edu)总计机科学系,UC
Santa Cruz

不过XAMPP是php初学者的首选。

2004 年 11 月 30 日

1.什么是XAMPP?

比如 Apache Friends 中的 XAMPP
之类的开放源码软件简化了开源项目标开发,格局是经过简化在平静和规范环境中应用程序的编写制定和散发。守旧意况下,AMPP
— Apache、MySQL、PHP 和 Perl —
皆以以单独产品的款型进行设置和布局。将它们集成到中间件软件中的承诺使得开源项指标付出相对于
J2EE™
应用程序的开发以来更具竞争力,至少对于底层的应用程序来说是那样。在本文中,您将学习怎么在
Mandrake Linux™ 10.0 上安装、配置和备份 XAMPP,以及如何安插和治本
XAMPP,以及如何在 XAMPP 环境中设置本人的应用程序。

XAMPP(Apache+MySQL+PHP+PE大切诺基L)是三个成效强大的建站集成软件包。这一个软件包原来的名字是LAMPP,可是为了幸免误解,最新的多少个本子就改名为
XAMPP
了。它可以在Windows、Linux、Solaris二种操作系统下安装使用,支持多语言:英文、简体中文、繁体粤语、保加利亚语、俄文、日文等。

J2EE(Java 2 Enterprise
艾德ition™)的面世非常大地改成了软件领域,它提供了一个合一的中间件软件,可以大幅度地简化编写和布署Java™
应用程序的职责。权且之间,开源社区因为缺乏像样的三合一架构而被远远地抛到了后头。

 

眼前以来,随着在 Apache Friends 中冒出 XAMPP
那种购并的开放源码软件,这种气象开始稳步地发生变化。就算这一个工具与 J2EE
比较还分外简单,甚至是开玩笑,但是无论怎么样,那对于通往周全的种类集成之路来说,都迈出了至关心保养要一步。
PHP 5.0 (它使得 PHP
成为完周密向对象的)是那种势头正在加快发展的三个绝妙的风向标。

不胜枚进士经过他们本人的阅历认识到安装 Apache
服务器是件不易于的事宜。借使你想添加 MySQL、PHP 和
Perl,那就更难了。XAMPP 是2个便于安装且富含 MySQL、PHP 和 Perl 的
Apache 发行版。XAMPP
的确非常简单安装和应用:只需下载,解压缩,运转即可。

正文的重点是介绍集成的开放源码软件之一:Apache Friends 中的 XAMPP。

到方今结束,XAMPP 共有以下各个版本:

XAMPP 简介

适用于 Linux 的本子(已在 Ubuntu、SUSE、RedHat、Mandrake 和 Debian
下通过测试),

XAMPP 是1个效应健全的 AMPP (Apache、MySQL、PHP、Perl)软件包,那是
Linux 平台上得以行使的三种非商业 AMPP
中间件之一。采纳那种严苛的合龙,XAMPP
能够运作任何程序:从个人主页到效益周到的产品站点(即便那只是用于开发指标;出于安全考虑,XAMPP
还不适应用在产品服务器上)。

适用于 Windows 98、NT、2000、2003、XP 和 Vista 的版本,

XAMPP 实际上在偏下多少个地点大放光彩:

适用于 Solaris SPACRUISERC 的测试版(在 Solaris 8 环境下开发并测试),

  • 简单安装和装置。
  • 涵盖众多卓有成效的软件包,能够简化诸如生成流量报告和增速 PHP
    内容之类的职责。
  • 已经在 SUSE、Red Hat、Mandrake、Debian Linux 发行版以及 Windows® 和
    Solaris 上拓展了整机的测试。

适用于 Mac OS X 的测试版。

对于本文来说,大家将在 Mandrake Linux 10.0 上设置
XAMPP。以后大家首先看望 XAMPP 中提供的缺省软件包。

适用于 Mac OS X 和 Solaris 的 XAMPP
版本尚处于开发的首先等级。使用时风险自担!

主导的软件包

XAMPP 1.6.5 已发布!

核心的软件包包罗系统、编程和服务器软件:

更新:

  • Apache,著名的 Web 服务器
  • MySQL,一种典型、免费的开源数据库
  • PHP,一种编制程序语言(在编写本文时版本为 4.3.8 和 5.0.1)
  • Perl,一种编制程序语言
  • ProFTPD,一个 FTP 服务器
  • OpenSSL,可以帮衬金昌套接字层

Apache 2.2.6 + OpenSSL 0.9.8g

图表软件包

MySQL 5.0.51

XAMPP 包括以下与图片有关的软件包:

PHP 5.2.5 & PHP 4.4.6

  • GD,“Graphics Draw”库
  • libpng,官方的 PNG 参考达成库
  • libjpeg,官方的 JPEG 参考达成库
  • ncurses,字符图形库

phpMyAdmin 2.11.3

数据库软件包

FileZilla FTP Server 0.9.24

假如没有以下的数据库软件包,怎么仍是能够叫集成软件呢?

Mercury Mail Transport System v4.52

  • gdbm,标准的 UNIX® dbm 库的 GNU 实现
  • SQLite,3个一定小的、无需任何配置的 SQL 数据库引擎
  • FreeTDS,二个数据库,让 UNIX 和 Linux 程序能够访问 Microsoft® SQL 和
    Sybase 数据库

2.点击那里进入下载,最新版:xampp-linux-1.7.1.tar.gz

XML
软件包

3.安装

为了开发 XML 程序,XAMPP 应该包括以下软件包:

下载后请输入以下命令:

  • expat,2个 XML 解析器库
  • Salbotron,一个 XML 工具包
  • libxml,3个 XML C 解析器和 GNOME 工具包

进入 Linux shell 并[color=#BF0000]以系统一管理理员的身价登录:

PHP
软件包

su

为了支付 PHP 程序,XAMPP 应该包罗以下软件包:

将下载的压缩文件释放到 /opt:

  • PEAR,PHP 库
  • 三个 pdf 类,能够动用 PHP 生成动态的 PDF 文书档案
  • TU昂科威CK MMCache,3个 PHP 质量增强器

tar xvfz xampp-linux-1.7.1.tar.gz -C /opt

别的软件包

提个醒: 只同意利用上述命令安装 XAMPP。不要使用别的 Microsoft Windows
工具释放压缩文件,那未尝用。

最终,XAMPP 中含有了以下软件包来展现自个儿的强劲功能:

告诫 2: 使用此命令时,已存在的旧版 XAMPP 会被遮住。

  • zlib,三个压缩库
  • mod_perl,在 Apache 中放到了贰个千古的 Perl 解释器
  • gettext,二个工具集,能够扶助 GNU 软件包生成多语言的新闻
  • mcrypt,1个加密程序
  • Ming,一个 Flash (SWF) 输出库
  • Freetype2,一个软件前端引擎
  • IMAP C-Client,3个邮件编制程序 API

就这么结束了。XAMPP 被设置在 /opt/lampp 目录下。4:开首运营

今昔让我们斟酌一下安装 XAMPP 的难题。

行使上边的指令起首运转 XAMPP:

 

/opt/lampp/lampp start


你应该能在显示器上观看类似上面包车型地铁提醒音信:

回页首

Starting XAMPP 1.7.1…

设置并视作医生和医护人员进度运维

LAMPP: Starting Apache…

要设置 XAMPP,请从 Apache Friends Web 站点上下载最新的二进制文件(请参阅
参考资料
中的链接)。使用上边包车型地铁命令将其肢解到 /opt 目录中:

LAMPP: Starting MySQL…

tar xvfz xampp-linux-1.4.7.tar.gz -C /opt

LAMPP started.

便是那样!XAMPP 未来曾经被安装到 /opt/lampp 目录中了。从前安装在 /opt
目录中的内容都早已被遮住了。假诺您正在周转2个旧版本的
XAMPP,并且不想再度下载整个软件包,Apache Friends
中还提供了三个升级包来下载供给的软件包。

好了。Apache 和 MySQL 正在运作中。

明天具有的软件都曾经安装好了,让我们运营新的医生和护师进度。将眼下的干活目录切换成/opt/lampp ( cd /opt/lampp)并输入上面包车型地铁授命:

5:测试

./lampp start

好了,那很不难,但你什么检查和测试全数组件是还是不是健康办事啊?只需在你的浏览器中输入上边包车型地铁链接即可:

您应该会看到下边包车型客车结果:

http://localhost

Starting XAMPP for Linux 1.4.7... XAMPP: Starting Apache with SSL (and PHP5)... XAMPP: Starting MySQL... XAMPP: Starting ProFTPD... XAMPP for Linux started.

明天您应该能来看包括部分检查和测试已安装软件的劳作意况的链接和一部分演示程序的
XAMPP 开首页面。

XAMPP 未来就开动并启动了。最棒的求证措施是开拓五个浏览器并在地方栏中输入
localhost,并按回车键。此时浏览器会被重定向到 XAMPP 的 welcome 页面。

 

图 1. XAMPP welcome 页面
图片 1

http://www.bkjia.com/Linuxjc/557185.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linuxjc/557185.htmlTechArticleUbuntu无疑是Linux初学者的首选版本,因为它图形界面支持的非常好。
但是XAMPP是php初学者的首要选用。 1.什么是XAMPP?
XAMPP(Apache+MySQL+PHP+PETucsonL)是…

点击左侧导航栏中的 Status
链接,就足以看出必需的劳动已经正确运维了。假使全数的服务都运维平常化,您就会看到下边的页面:

图 2. Service status 页面
图片 2

恭喜!您将来一度设置和装置好了四个一体化的 AMPP
开发环境了。以后让大家设置3个简约的应用程序来体现一下哪些运用那种环境。

 


回页首

设置一个粗略的应用程序

要接纳 XAMPP
的为主特点,您要求一个简单的应用程序。最佳的应用程序是二个在后端使用数据库的次第;并采用1个相当简单的数据库,当中含有了二个精心设计的表。

测试数据库包涵几个唯有一列的表。让大家根据测试程序的(总括机)古板,设计在我们的表中存放一条记录
“Hello World!”。大家将采纳二个 Perl 和 三个 PHP
脚本来访问那么些数据库。那八个本子都得以访问这么些数据库,从中寻找那行记录,并将其出口到显示器上。

工具

作者们的数据库将利用 phpMyAdmin 来创设和治本,那是接纳 PHP
编写的3个榜首的基于 Web 的 MySQL
管理工科具。它有七个要命和气的用户界面,能够允许你处理种种复杂的任务,包涵创立/删除/修改数据库和表,以及导出数据、管理首要字和拍卖
SQL 文件。phpMyAdmin 是二个优异的工具,因为:

  • 它能够支持初学者精通 MySQL,而不用利用命令行接口来处理那么些职责。
  • 它同意高档用户更快更便于地实践简单的任务和例行的任务。
  • 当您希望为一些用户授权访问数据库而不想让他俩全然访问 shell
    时,对于那种场合12分实惠。

创建数据库

要在 phpMyAdmin 中开创一个数据库,请根据下边包车型地铁手续:

  1. 转换到 XAMPP 的 start 页面 (localhost)。
  2. 在左手导航栏的 Tools 下边采取 phpMyAdmin
  3. 在 phpMyAdmin 主页的 Create New Database 域中,输入
    hello_world,并点击 Create

今天您必须在数据库中开创2个表,并点名该表中应当蕴涵哪些字段(字段与列类似)。让我们将本人的表称为“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 数据库摘要
图片 3

到现在让大家插入记录 “Hello World!”。点击 Insert 标签,并在 Value
文本域中输入 “Hello World!”。 Function
下拉列表在那一个例子中得以保存不变。点击 Go,将 “Hello World!”
记录插入数据库中。

要确认记录已经打响插入数据库,请点击 Browse 标签。现在会呈现 “hello
world”。

脚本

当以往端软件已经起步并运维了,应该处理脚本有的了。大家将应用八个剧本,三个运用
Perl 编写,此外2个行使 PHP
编写。对于种种脚本来说,惟一的须求正是二个数据库连接、数据库访问权限以及在显示屏上输出检索到的行。

清单 1. 简单的数据库连接,以及在 PHP 中应用
PEA奥迪Q5::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
$db_host    = "localhost";      // hostname of the database server
$db_user    = "root";           // database user's username
$db_pass    = "";                // database user's password, nothing by default
$db_name    = "hello_world";    // the name of the database to connect to
$db_type    = "mysql";          // the type of database server.
// your data source name string. This contains the connection
// information for your database.
$dsn = "$db_type://$db_user:$db_pass@$db_host/$db_name";
// creates a database connection object or a database error
// object based on the success of the database connection.
$db = DB::connect($dsn, TRUE);
// if an error was encountered, the script exits with an error message
if (DB::isError($db)) {
    die($db->getMessage());
}
// SQL query that you wish to use to query the database
$sql = "SELECT * FROM hello_table";
// query the database, store result in $result
$result = $db->query($sql);
// exits with an error message if the query was unsuccessful
if(DB::isError($result)){
         die($result->getMessage());
}
// fetch rows from the database until no more rows exist.
// output the "hello_column" field of each row to the screen.
// once no more rows exist, exit with an error message.
while($row = $result->fetchRow(DB_FETCHMODE_OBJECT)){
      if(DB::isError($row)){
                 die($row->getMessage());
        }
      print("<H1>$row->hello_column</H1>");
       $result->free();
}
$db->disconnect(); //disconnect from the database
      

 

那三个本子都会三番五次到数据库上,并查找一行数据,并将该行输出到显示屏上。PHP
的数据库访问是行使 PEAQashqai::DB
实现的,那是1个方便的数据库抽象层,不管数据库是如何兑现的,它都能够运用同样的数据库访问代码。不幸的是,XAMPP
中并从未包蕴一个用以 Perl 的数据库抽象层。

寄存脚本

因此,今后我们早已办好了所需的一切。数据库已经运营并运转了,并且已经有了五个测试用的剧本。以往需求做的干活是将这个本子放到正确的地点。让大家快捷驾驭一下
XAMPP 是何许存放在硬盘上的,如 清单
2

所示。

小编们今后感兴趣的目录是 /opt/lampp/htdocs/,也等于 Apache 的 Documents
目录。在 Web 站点的根目录中显得的此外 Web
页面和有关文书都置身这么些目录中。由于大家现在能够见到 XAMPP 的 welcome
页面,因而这几个目录中已经存在一些文本了。今后让大家连忙领会一下以此目录的剧情:(输入
ls /opt/lampp/htdocs):

drwxr-xr-x 2 root root 4096 Jan 24 2003 apache -rwxr-xr-x 1 nobody root 163 Oct 31 2003 index.html drwxr-xr-x 2 nobody root 4096 Sep 12 21:54 webalizer drwxr-xr-x 5 root root 4096 Jun 15 06:24 xampp

正如您能够见到的一律,那么些目录中早就存在一些文本了。让我们在那么些目录中树立二个和好的目录
hello_world (
mkdir hello_world)来存放在脚本。从今天上马,您就能够输入
localhost/hello_world 来访问 hello_world
目录中的全体文件了。今后,将这四个本子保存到这几个目录中。到此甘休,全部一切都已经形成了!

测试应用程序

要测试这几个应用程序,首先切换到浏览器中,输入
localhost/hello_world。您应该会晤到上面包车型地铁界面:

图 4. Hello World!
图片 4

恭贺!您曾经设置好 XAMPP 上的3个应用程序了。

 


回页首

增加安全性

XAMPP
的对象是3个费用环境。那种布局为程序员提供了一种对工具集没有任何限制的自由控制能力。作为自由的结果,缺省的
XAMPP 安装是十分不安全的。例如,有个别操作差不多无需登录。

对于 0.9.5 以及更新版本的 XAMPP 来说,您能够运作上边包车型大巴下令来增长安全性:

/opt/lampp/lampp security

这时会提交一些唤起表达现有的不安全的地点,您可以选拔是或不是修复那一个难题。就算那样能够使
XAMPP 安装更为安全,不过你依旧不该在成品服务器中应用 XAMPP。清单 3
列出了安全性提醒:

清单 3. XAMPP 中的安全性提醒

              

XAMPP: Quick security check...
XAMPP: Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Password protection active. Please use 'lampp' as user name!
XAMPP: MySQL is accessable via network.
XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] yes
XAMPP: Turned off.
XAMPP: Stopping MySQL...
XAMPP: Starting MySQL...
XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Setting new MySQL pma password.
XAMPP: Setting phpMyAdmin's pma password to the new one.
XAMPP: MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Write the password somewhere down to make sure you won't forget it!!!
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Setting new MySQL root password.
XAMPP: Setting phpMyAdmin's root password to the new one.
XAMPP: The FTP password is still set to 'lampp'.
XAMPP: Do you want to change the password? [yes] yes
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Reload ProFTPD...
XAMPP: Done.
      

回页首

履行备份

所以,假诺您的 XAMPP
安装已经运维并运转了几周了,并向个中输入了无数数目,那么您就相应幸免出现硬盘崩溃的危机。您需求做什么备份工作吧?

行使 XAMPP 非常简单。将工作目录切换到 /opt/lampp ( cd /opt/lampp)
中,并输入上边包车型客车吩咐:

./lampp backup

比方你已经安装了 MySQL 的 root 密码,那么在那些命令后边就要添加上 root
用户的密码。您应该会看到下边包车型客车内容:

Backing up databases... Backing up configuration, log and htdocs files... Calculating checksums... Building final backup file... Backup finished. Take care of /opt/lampp/backup/xampp-backup-15-09-04.sh

要上升原先的备份,请以 root 用户的地方运维上面包车型地铁通令:

sh backupfilename

假使一切平常,您将见到上面包车型客车结果:

Checking integrity of files... Restoring configuration, log and htdocs files... Checking versions... Installed: XAMPP 1.4.7 Backup from: XAMPP 1.4.7 Restoring MySQL databases... Restoring MySQL user databases... Backup complete. Have fun! You may need to restart XAMPP to complete the restore.

双重起动 XAMPP (
cd /opt/lampp, ./lampp restart),苏醒的数额应该可用了。

 


回页首

结束语

虽说这种购并化解方案软件是或不是能够完全与 J2EE
竞争,尚需时日来开展验证,但是近年来的批发版 PHP 5.0
(首要革新包含完全的面向对象的支撑)与 MySQL
数据库的一块儿火速增进已经表达了它在开发职员之间越是流行。那表示像
XAMPP 那种开放源码中间件在低端软件商场上大概有一定的并存空间的。

参考资料

  • 你能够参照本文在 developerWorks 全球站点上的
    英文原版的书文
  • Apache Friends 上下载
    XAMPP,那是二个非毛利组织,目的是增强 Apache Web
    服务器。该网站上有最新的 XAMPP 音信和批发版本。
  • PHP
    简介

    (developerWorks,三千 年 12 月) 能够指引您入门 PHP
    脚本语言。当你读书那篇小说时,只需在搜索域中输入“PHP”,即可寻找 IBM
    提供的多多添加的 PHP 能源。
  • 更佳编制程序之路
    密密麻麻小说 (developerWorks) 是一组美好的层层小说,可让您尤其深入地问询
    Perl 语言。要想询问关于 Perl 的越来越多内容,请搜索 developerWorks
    站点。
  • 将 PHP 应用程序连接到 Apache
    Derby

    (developerWorks,2004 年 9 月)和 行使 Apache Derby 开发 Perl
    应用程序

    (developerWorks,2000 年 10 月)那两篇小说是 PHP 和 Perl
    开发职员必读的稿子。
  • phpMyAdmin 项目
    包涵了不少管用的新闻,并能够下载那些独立的依据 Web 的 MySQL
    管理工科具。
  • Practical Unix & Internet
    Security
    (O’Reilly
    & Associates,1999)
    是一本有关系统安全性各样方面包车型客车精良参考书,内容提到从用户管理到起草安全策略。
  • PHP.net
    提供了一个在线的可搜索函数库,它对于查找有关 PHP
    方法的详细新闻和读书语言构造有非常大的支援。
  • The PHP Extension and Application Repository
    (PEA瑞鹰) 提供了有个别方可简化 PHP 编制程序的机件,包蕴特别流行的
    PEAR::DB
  • 有关 MySQL 的帮助, MySQL reference
    manual

    中涵盖了有关那些流行数据库各种方面的详细音信。
  • 请访问 Apache HTTP Server
    Project
    ,能够找到有关 Web 的最盛行 http
    服务器的最新版本和新闻。
  • developerWorks Linux
    专区

    中能够找到越来越多为 Linux 开发者准备的能源。
  • 从 developerWorks 的 Speed-start your Linux
    app

    专区下载运维于 Linux 之上的 IBM 中间件产品的免费测试版本,在那之中包罗WebSphere® Studio Application Developer、WebSphere Application
    Server、DB2® Universal Database、Tivoli® Access Manager 和 Tivoli
    Directory Server,并可学习 how-to 小说和收获技术支持。
  • 经过参加 developerWorks
    blogs

    来插手 developerWorks 社区的干活。
  • 在 Developer Bookstore 的 Linux 区域中购入有关 Linux
    的降价书籍

至于小编

图片 5

图片 6

Nils-Erik Frantzell
如今在位于多哥洛美的加州大学上学电脑科学。他的兴味包罗 Linux、Web
编制程序(尤其是
PHP)、互连网、开源技术以及一些处理器硬件。他的业余时间用于喂养一些食肉性的鱼和欣赏电子音乐。您能够经过
nfrantze@ucsc.edu 与 Nils-Erik 联系。