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的过程
- [root@getlnx05 kerry]# tar zxvf php-5.4.10.tar.gz
- [root@getlnx05 kerry]# cdphp-5.4.10
- [root@getlnx05 php-5.4.10]#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
报错详细信息:
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.
报错“configure: error: xml2-config not found. Please check your libxml2 installation.”是因为缺少libxml2相关的包libxml2-devel, 如下所示,先检查已经安装了那些libxml2相关的包
- [root@getlnx05 php-5.4.10]# rpm -qa |greplibxml2
- libxml2-python-2.6.26-2.1.12
- libxml2-2.6.26-2.1.12
- libxml2-2.6.26-2.1.12
[root@getlnx05 php-5.4.10]# rpm -qa libxml2-devel
[root@getlnx05 php-5.4.10]# yum install libxml2-devel
[root@getlnx05 php-5.4.10]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
[root@getlnx05 php-5.4.10]#make
[root@getlnx05 php-5.4.10]#make install
接下来配置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地址
另外找到下面配置,增加index.php
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
接下来找到<IfModule mime_module>,在后面增加配置信息AddType application/x-httpd-php .php,如下所示
出于安全考虑,一般访问nagios的安全监控界面必须经过授权才能访问(不要那么,安装配置PHP是安装配置nagios的过程,如果大家只是为了安装配置PHP环境,完全可以跳过下面),这需要增加验证配置,即在httpd.conf 文件最后添加如下信息:
Step 2:创建apache目录验证文件
[root@getlnx05 conf]# /usr/local/apache/bin/htpasswd -c /usr/local/nagios/etc/htpasswd kerry
这样就在/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]#
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行(下面红色的哪一行),后面的哪一行汉字注释变成导致,如下图所示:
- #setting for nagios
- ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
- <Directory "/usr/local/nagios/sbin">
- AuthType Basic
- Options ExecCGI
- AllowOverride None
- Order allow,deny
- Allow from all
- AuthName "Nagios Access"
- AuthUserFile /usr/local/nagios/etc/htpasswd //用于此目录访问身份验证的文件
- Require valid-user
- </Directory>
- Alias /nagios "/usr/local/nagios/share"
- <Directory "/usr/local/nagios/share">
- AuthType Basic
- Options None
- AllowOverride None
- Order allow,deny
- Allow from all
- AuthName "nagios Access"
- AuthUserFile /usr/local/nagios/etc/htpasswd
- Require valid-user
- </Directory>
将这一行注释清除后,重启Apache服务,OK,问题解决,打开http://192.168.7.223/nagios/进入网站,点击其它页面发现乱码,这是因为Apache没有开启cgi脚本的缘故。进入apache的主配置文件httpd.conf将#LoadModule cgid_module modules/mod_cgid.so前的注释符号去掉,重启Apache服务即可解决问题