当前位置:Linux教程 - Linux - LAMP组合的安装

LAMP组合的安装

作者:Albert

  LAMP (Linux + Apache + MySQL + PHP/Perl/Python) 近几年来,已经成为Web社区的事实标准。本文我们将介绍LAMP组合的安装,本文假定你的机器上已经安装了Linux,如果你对Linux的安装还有什么问题的话,可以去相关的一些开放源码站点论坛上发表贴子,向其他网友寻求帮助。也可以向相关的厂商寻求技术支持。本文的“LAMP”中的“P”,暂时解释为“PHP”,因为FreeLAMP站点是基于Zope + Python结构架构的,所以本站在以后的文章中将着重向这方面倾斜。
  所有LAMP组合中的软件都是开放源代码产品,所以您不必担心产品的价格以及版权问题。相反,有广大的开放源码社区开发人员的不断努力,这些产品的版本更新速度反而比那些昂贵的专有软件更快。虽然Linux 因为界面问题,会让您望而却步,但是您不必担心,现在,这些软件都采用了浏览器管理界面,好多都提供phpMyAdmin(一个利用PHP语言在浏览器上管理MySQL的程序)以及WebMin(通过浏览器来管理系统)来让您方便的管理系统。

  PHP现在的版本已经到了4.0.4pl1,是一门面向对象的交叉平台的服务器端脚本语言。可以嵌入HTML语言中,可以作为Apache的模块来运行。下面我们以tarball(.tar.gz)格式(和它相对的是RPM 格式)的版本为例子,来介绍安装过程。

  首先,去对应的网站下载最新版本的源码。为了保持系统目录分布的一致性,建议把他们解开到/usr/local/src目录:

  #cd /usr/local/src
  #tar xvfz filename.tar.gz

  先介绍MySQL的安装:

  # cd /usr/locl/src/mysql-3.23.35
  # ./configure --prefix=/usr/local/mysql

  这样就把MySQL 的安装目录设置为 /usr/local/mysql ,然后运行make来编译源代码,接下来就可以用make install来安装了。

  安装完毕后,需要把MySQL库加入系统,采用ldconfig命令来实现:

  #echo ""/usr/local/mysql/lib/mysql"" >> /etc/ld.so.conf
  #ldconfig -v | grep libmysqlclient

  然后可以看到系统返回:

  libmysqlclient.so.10 => libmysqlclient.so.10.0.0

  让MySQL 在启动时自动运行:

  #echo ""/usr/local/mysql/bin/safe_mysqld > /dev/null &"" >> /etc/rc.d/rc.local

  接下来初始化数据库(切换到/usr/local/mysql 目录):

  # ./scripts/mysql_install_db

  启动MySQL服务:

  # bin/safe_mysqld > /dev/null &

  增加路径:

  # PATH=""$PATH:/usr/local/mysql/bin""

  测试 MySQL:

  #mysqladmin version

  如果能返回MySQL的所有信息,就表示您的MySQL已经安装成功了。下面为了安全起见,需要给root用户(数据库中的超级用户),设置口令:

  #mysql -h -u root -p

  按照提示输入口令以后,MySQL的设置就算大功告成了。

  接下来的部分就是Apache和PHP的安装了。如果你的系统已经存在Apache ,那么需要首先做好备份。然后进入Apache的源代码目录:

  #cd /usr/local/src/apache_1.3.19

  输入配置命令:

  #./configure --prefix=/usr/local/apache

  然后改变到PHP的源代码目录:

  #cd /usr/local/src/php-4.0.4pl1

  配置PHP的编译命令:

  #./configure --with-apache=../apache_1.3.19 --with-mysql=/usr/local/mysql

  运行make和make install,PHP就安装成功了。

  改变目录到Apache源代码所在:

  #cd ../apache_1.3.19

  因为增加了PHP模块,所以需要重新配置Apache的编译文件。

  #./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a (注意这里的路径,后面的文件确实是不存在的,不要担心。)

  然后运行make和make install,您就可以在/usr/local/apache目录下看到apache的几个目录了。为了让Apache能认识那些以PHP结尾的文件,我们需要修改/usr/local/apache/conf/httpd.conf。

  找到下面的行,把行首用作注释的#号去掉:

  AddType application/x-httpd-php .php

  这样,Web服务器就能认识那些.php结尾的文件,否则当您浏览网站时,浏览器会提示您存盘。为了让Apache自动认识index.php作为首页,我们还必须修改DirectoryIndex行,添加index.php:

  DirectoryIndex index.html index.php

  然后,重新启动Apache:

  #killall -HUP httpd

  可以在/usr/local/apache/htdocs目录下,建立一个testphp.php的文件,内容为:

  ?php
  phpinfo();
  ?>

  然后在浏览器上输入http://localhost/testphp.php就应该看到你当前的PHP设置情况。

  以上介绍的Apache/PHP安装方法为静态编译的方法。以后每次有新的版本出来或者添加新的模块时,必须重新编译Apache,需要花费较长的时间,我们不推荐这种方法,Apache 1.3以后的版本采用了DSO(动态共享对象)技术,实现了模块的动态安装,这种方法不仅适用于PHP,对其他模块,例如mod_perl,mod_python 都适用,因此,笔者推荐采用这种方法:

  编译Apache:

  #./configure --prefix=/usr/local/apache --enable-module=most --enable-shared=max
  #make
  #make install

  然后编译PHP:

  #./configure --with-apxs=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql
  #make
  #make install

  之后的步骤和静态部分一样,主要就是修改httpd.conf 。 区别两种安装方法最简单的办法就是使用命令:

  #httpd -l

  看输出结果,静态编译没有mod_so.c模块。

  笔者相信LAMP ,作为一个廉价的,开放源码的、高性能的Web开发平台,在我国相对落后的互联网建设中,在这些年“政府上网”、“企业上网”、“金字工程”的号召下,会发出璀璨的光芒,照亮Web平台。在这光芒的后面,只有两个字来衬托:“服务”。

  FreeLAMP将会为这两个字而努力,再努力!