代码改变世界

Redhat Server 5.7 安装配置PHP

2013-08-16 23:30  潇湘隐者  阅读(9531)  评论(0编辑  收藏  举报

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

报错详细信息:

General settings

checking whether to include gcov symbols... no

checking whether to include debugging symbols... no

checking layout of installed files... PHP

checking path to configuration file... DEFAULT

checking where to scan for configuration files...

checking whether to enable PHP's own SIGCHLD handler... no

checking whether to explicitly link against libgcc... no

checking whether to enable short tags by default... yes

checking whether to enable dmalloc... no

checking whether to enable IPv6 support... yes

checking whether to enable DTrace support... no

checking how big to make fd sets... using system default

Configuring extensions

checking size of long... (cached) 8

checking size of int... (cached) 4

checking for int32_t... yes

checking for uint32_t... yes

checking for sys/types.h... (cached) yes

checking for inttypes.h... (cached) yes

checking for stdint.h... (cached) yes

checking for string.h... (cached) yes

checking for stdlib.h... (cached) yes

checking for strtoll... yes

checking for atoll... yes

checking for strftime... (cached) yes

checking which regex library to use... php

checking whether to enable LIBXML support... yes

checking libxml2 install dir... no

checking for xml2-config path...

configure: error: xml2-config not found. Please check your libxml2 installation.
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