LAMP是一个缩写,它指一组常用于来搭建动态网站或者服务器的开源软件,包括:Linux操作系统,Apache网络服务器,MySQL数据库,PHP、Perl或者 Python编程语言(本文以php为例)。

   下面就介绍一下如何基于rpm包的形式构建LAMP。

   前提简介:本例是使用虚拟机完成的。虚拟机IP地址为:192.168.0.72。物理主机IP为192.168.0.237。

    一、安装Apache网络服务
        1、下载Apache软件包。它的包名为:httpd

        2、安装软件包

           #yum -y install httpd   

        3、关闭SELinux后,启动httpd服务
        
           #service  httpd  start

        4、在浏览器中测试。

          只需在浏览器中输入http://192.168.0.72即可。服务启动后会自动搜索并运行网页文件中以ingdex.html命名的文件。如果没有配置相应的index.html文件,则会显示默认的欢迎页面。如下所示:
    

         此时说明web服务安装成功。

      5、配置文件

        web服务的配置文件至关重要。我们所做的每一步都依赖于配置文件,如建立路径别名,CGI别名,虚拟主机等都需要在配置文件中进行说明。web的配置文件有两个:一个是在/etc/httpd/conf.d/路径下的所有以.conf结尾的文件;另一个是/etc/httpd/conf/httpd.conf。而且后者为主配置文件。下面就介绍一下主配置文件中比较重要的参数。

     主配置文件主要分为三段:

     ### Section 1: Global Environment                //全局配置段
     ### Section 2: 'Main' server configuration       //主配置段
     ### Section 3: Virtual Hosts                          //虚拟主机段

     A.在全局配置段中主要的参数有以下几个:

       ServerRoot "/etc/httpd"                    //定义了httpd服务的工作路径,默认在/etc/httpd
       Timeout 120                                    //设置超时时间
       KeepAlive Off                                 //定义是否开启长连接
       KeepAliveTimeout 1                        //长连接的超时时间
       MaxKeepAliveRequests 100            //最大长连接请求数目
       Listen   80                                        //监听的地址和端口

       另外, 它还定义了MPM、如何加载Apache模块等。

     B.主配置段

       (1)DocumentRoot选项指定网页文件的所在位置,默认在/var/www/html目录下

       (2)每目录的属性配置即<Directory  "path"></Directory>。在这个目录中定义了path中文件的许多重要属性。httpd的默认网页文件path为/var/www/html。
       Options选项后跟参数有:         
            Indexes : 当没有主页面时,是否允许显示其他页面
            FollowSymLink :是否跟踪连接(最好关闭)
            ExecCGI:是否允许在当前目录中执行CGI
            MultiViews:最好关闭影响服务器性能 
            none:不设置       

             如若此项的设置为:Options indexes FollowSymLinks。查看/var/www/html目录下的文件:
        
    

    此时可知/var/www/html目录中没有index.html文件,而且还有一个链接文件。在浏览中访问web服务。
    

     此时显示了网页文件中的所有文件,这就是indexes的效果。但这是很不安全的,所以最好不要开启此项。再验证一下 FollowSymLink的效果。

     
    当访问test链接时显示了aa.html的内容。这也是很不安全的选项。所以none参数就刚好可以派上用场了。把OPtions设置为none。再次查看效果。

      

     这就是none的效果。其他几个参数不再做演示。下面接着说每目录中的指令。          

        Order  allow deny选项定义了简单的访问控制。allow和deny是两个参数,两者位置可以调换。但位置靠后者为默认设置。
          Allow from :后跟网段或主机,表示允许谁访问。其中all表示所有。
          Deny from:同上

        AllowOverride选项定义了是否允许覆盖。覆盖的就是上述列出的控制
          none :不覆盖
          AuthConfig :基于账号密码的方式访问。做认证时可以用到。

        还可定义认证访问。
        AllowOverride  AuthConfig:说明输入账号密码才能登陆
        AuthType  Basic:任何的方式为Basic
        AuthName  "stuff  only":认证名字
        AuthUserFile   /etc/httpd/conf/.htpasswd:用户账号密码的存放文件的位置
        Require  valid-user:可以访问的用户

       每目录中可以定义选项基本如此。下面介绍主配置段的其他选项  

      (3)自定义定义日志格式

           LogFormat   
               referer:记录访问入口,即访问的来源是哪里
          CustomLog    访问日志,自定义日志
               combined,common,agent:定义日志的格式
           ErrorLog    错误日志

       (4)定义可路径别名和CGI别名:Alias,ScriptAlias

         此内容详见博文“如何建立路径别名”。

        (5) HostnameLookups:是否允许名称解析

        (6) DirectoryIndex:定义服务器识别的目录默认主页     

          默认为: DirectoryIndex index.html  index.html.var,系统会自动搜索第一个网页,找不到后再找第二个。所以它们有先后次序。  

        (7)EnableSendfile  On:是否允许Sendfile。其实就是当web请求文件时,内核直接把请求的内容提交给web,而不是再次转交给用户空间。此项大大提高了系统性能。建议开启。 

       还有很多选项,但是不常用,在此就不多做介绍。下面介绍虚拟主机段。

     C、虚拟主机段
     在创建虚拟主机时,需把DocumentRoot注释掉。详细描述在“轻松创建虚拟主机”博文中。

    二、安装MYSQL
        MYSQL的运行进程为mysqld,它监听在tcp协议的3306端口上

        1、下载MYSQL软件包。它分为客户端包和服务器端包。
        2、安装软件包

             #yum -y install mysql mysql-server

       3、启动mysql服务。

             #service mysqld start

      此时查看系统网络状态便可发现mysqld进程。
  

        4、使用mysql命令查看数据。首次使用mysql命令会产生许多配置信息。之后便会进入命令行界面:
   
     此时便可使用管理数据库的相应命令进行管理。

         5、MYSQL已安装成功。

    三、安装php

        1、下载php软件包。本例以php53.i386为例,另外还安装了两个扩展包php53-mbstring.i386和php53-mysql.i386。这两个包前者提供语言转换功能,后者则负责与MYSQL连接。

        2、安装包

           #yum -y install  php53.i386 php53-mysql.i386 php53-mbstring.i386

        3、安装完后,重启web服务。

        4、在/var/www/html目录下创建一个index.php页面。在页面中输入下面的代码:

  1. <?php  
  2.     phpinfo();  
  3. ?> 

        5、测试
    

        这是php的信息页面。此时说明php也安装成功。

       6、安装包时我们还安装了一个与MYSQL连接的包,那么现在演示php如何与mysql连接。

      在此修改上述的index.html网页。修改它为:

  1. <?php  
  2.  $link=mysql_connect('localhost','root','123456');  
  3.  if ($link)   
  4.    echo "Success...";  
  5.  else   
  6.    echo "Failure";  
  7.  mysql_close();  
  8. ?> 

     测试网页:
   

    结果表明连接成功。

    至此,LAMP已成功建立。此时便可以在LAMP平台上安装相应的软件,如数据库管理软件phpMyAmin,日志管理软件Awstats等等。博文中也对这两种软件的安装做了详细的讲解,希望可以起到很好的参考作用。