Redhat Server 5.7 安装配置PHP

PHP的简介

       PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf 为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。后来又用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序.......[参考百科]

       PHP的官方网址:http://www.php.net/

PHP安装配置

     首先去官网http://cn2.php.net/downloads.php下载最新版的安装包或你需要的版本,本次实验的系统环境为Red Hat Enterprise Linux Server release 5.7 64bit。这篇文章是安装配置nagios的过程

Code Snippet
  1. [root@getlnx05 kerry]# tar zxvf php-5.4.10.tar.gz
  2.  
  3. [root@getlnx05 kerry]# cdphp-5.4.10
  4.  
  5. [root@getlnx05 php-5.4.10]#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs

 clip_image002

报错详细信息:

 View Code

报错“configure: error: xml2-config not found. Please check your libxml2 installation.”是因为缺少libxml2相关的包libxml2-devel, 如下所示,先检查已经安装了那些libxml2相关的包

Code Snippet
  1. [root@getlnx05 php-5.4.10]#  rpm -qa |greplibxml2
  2.  
  3. libxml2-python-2.6.26-2.1.12
  4.  
  5. libxml2-2.6.26-2.1.12
  6.  
  7. libxml2-2.6.26-2.1.12

clip_image004

[root@getlnx05 php-5.4.10]# rpm -qa libxml2-devel

[root@getlnx05 php-5.4.10]# yum install libxml2-devel

clip_image006

[root@getlnx05 php-5.4.10]#  ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs

clip_image008

[root@getlnx05 php-5.4.10]#make

clip_image010

[root@getlnx05 php-5.4.10]#make install

clip_image012

接下来配置Apache服务,关于Apache的安装,可以参考我的博客Linux系统安装Appach 2.4.6

PHP环境配置

Step 1: Apache环境配置

首先找到Apache的配置文件配置文件/usr/local/apache/conf/httpd.conf (我Apache服务安装目录为/usr/local/apache)

找到

#User daemon

#Group daemon

修改为

User nagios

Group nagios

另外找到ServerName www.example.com:80 ,在下面增加ServerName添加服务器的IP地址

clip_image014

另外找到下面配置,增加index.php

<IfModule dir_module>

DirectoryIndex index.html

</IfModule>

clip_image016

接下来找到<IfModule mime_module>,在后面增加配置信息AddType application/x-httpd-php .php,如下所示

clip_image018

出于安全考虑,一般访问nagios的安全监控界面必须经过授权才能访问(不要那么,安装配置PHP是安装配置nagios的过程,如果大家只是为了安装配置PHP环境,完全可以跳过下面),这需要增加验证配置,即在httpd.conf 文件最后添加如下信息:

clip_image020

Step 2:创建apache目录验证文件

[root@getlnx05 conf]#  /usr/local/apache/bin/htpasswd -c /usr/local/nagios/etc/htpasswd kerry

clip_image022

这样就在/usr/local/nagios/etc 目录下创建了一个htpasswd 验证文件,当通过http://192.168.xx.xxx/nagios/ 访问时就需要输入用户名和密码了。当然验证文件的密码是加密过的,如下所示:

[root@getlnx05 conf]# cat /usr/local/nagios/etc/htpasswd

kerry:$apr1$H1bHFvhH$q.bsSARuh4Ns2Z5G9hmQN.

[root@getlnx05 conf]#

image

Step 3:重启Apache服务

[root@getlnx05 conf]# /usr/local/apache/bin/apachectl restart

AH00526: Syntax error on line 515 of /usr/local/apache/conf/httpd.conf:

AuthUserFile takes one argument, text file containing user IDs and passwords

[root@getlnx05 conf]#

用vi打开/usr/local/apache/conf/httpd.conf文件,定位到515行(下面红色的哪一行),后面的哪一行汉字注释变成导致,如下图所示:

Code Snippet
  1. #setting for nagios
  2.  
  3. ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
  4.  
  5. <Directory "/usr/local/nagios/sbin">
  6.  
  7. AuthType Basic
  8.  
  9. Options ExecCGI
  10.  
  11. AllowOverride None
  12.  
  13. Order allow,deny
  14.  
  15. Allow from all
  16.  
  17. AuthName "Nagios Access"
  18.  
  19. AuthUserFile /usr/local/nagios/etc/htpasswd //用于此目录访问身份验证的文件
  20.  
  21. Require valid-user
  22.  
  23. </Directory>
  24.  
  25. Alias /nagios "/usr/local/nagios/share"
  26.  
  27. <Directory "/usr/local/nagios/share">
  28.  
  29. AuthType Basic
  30.  
  31. Options None
  32.  
  33. AllowOverride None
  34.  
  35. Order allow,deny
  36.  
  37. Allow from all
  38.  
  39. AuthName "nagios Access"
  40.  
  41. AuthUserFile /usr/local/nagios/etc/htpasswd
  42.  
  43. Require valid-user
  44.  
  45. </Directory>

clip_image024

将这一行注释清除后,重启Apache服务,OK,问题解决,打开http://192.168.7.223/nagios/进入网站,点击其它页面发现乱码,这是因为Apache没有开启cgi脚本的缘故。进入apache的主配置文件httpd.conf将#LoadModule cgid_module modules/mod_cgid.so前的注释符号去掉,重启Apache服务即可解决问题

clip_image026

参考资料:

http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html

原文地址:https://www.cnblogs.com/zhangyingai/p/7082541.html