apache2.4.9 + php5.5.12 + nagios4.0.5 安装指南
1、下载apache所需软件包
安装apache2.4.9必须先安装apr、apr-util、pcre包
apr-1.5.1.tar.gz apr-util-1.5.3.tar.gz cd.sh httpd-2.4.9.tar.gz pcre-8.33.zip
2、安装
#解压缩tarfvxzapr-1.5.1.tar.gztarfvxzapr-util-1.5.3.tar.gztarhttpd-2.4.9.tar.gztarfvxzhttpd-2.4.9.tar.gztarfvxzpcre-8.33.zipunzippcre-8.33.zip#编译安装aprcd/data/apr-1.5.1./configure--prefix=/usr/local/aprmake&&makeinstall#编译安装apr-utilcd../apr-util-1.5.3./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/aprmake&&makeinstall#编译安装pcrecd../pcre-8.33./configure--prefix=/usr/local/pcremake&&makeinstall#编译安装apache#安装之前请确保系统之前预装的httpd已被卸载cd../httpd-2.4.9#参数依次是:httpd安装路径httpd配置文件存放路径启用模块化方式启用ssl安全连接#启用cgi脚本功能启用url重写启用服务器压缩启用正则表达式支持apr安装路径#aprutil安装路径启用常用模块以确保apache正常工作将多进程模型非静态化#启用事件异步模型./configure--prefix=/usr/local/apache--sysconfdir=/etc/httpd--enable-so--enable-ssl--enable-cgi--enable-rewrite--with-zlib--with-pcre=/usr/local/pcre--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util/--enable-modules=most--enable-mpms-shared=all--with-mpm=eventmake&&makeinstall
3、错误提示
安装openssl依赖关系 即可解决下面问题
checkingwhethertoenablemod_ssl...configure:error:mod_sslhasbeenrequestedbutcannotbebuiltduetoprerequisitefailures
4、启动&测试
# /usr/local/apache/bin/apachectl start
如果成功,可以停止 Apache 服务器并继续安装 PHP:
/usr/local/apache2/bin/apachectlstopOR/usr/local/apache/bin/apachectl-kstop(推荐)
5、安装php5.5.12
tarfvxzphp-5.5.12.tar.gz./configure--prefix=/usr/local/php5--with-apxs2=/usr/local/apache/bin/apxsmake&&makeinstall
6、配置php.ini
cpphp.ini-development/usr/local/lib/php.ini
7、编辑 httpd.conf 文件以调用 PHP 模块。LoadModule 达式右边的路径必须指向系统中的 PHP 模块。以上的 make install 命令可能已经完成了这些,但务必要检查
LoadModulephp5_modulemodules/libphp5.so
8、apache解析php,添加如下内容:
#让Apache将扩展名.php解析成PHP。为了避免潜在的危险,例如上传或者创建类似exploit.php.jpg的文件并被当做PHP执行,我们不再使用Apache的AddType指令来设置。<FilesMatch\.php$>SetHandlerapplication/x-httpd-php</FilesMatch>#将.php,.php2,.php3,.php4,.php5,.php6,以及.phtml文件都当做PHP来运行<FilesMatch"\.ph(p[2-6]?|tml)$">SetHandlerapplication/x-httpd-php</FilesMatch>#.phps文件由PHP源码过滤器处理,使得其在显示时可以高亮源码<FilesMatch"\.phps$">SetHandlerapplication/x-httpd-php-source</FilesMatch>#mod_rewrite也有助于将那些不需要运行的.php文件的源码高亮显示,而并不需要将他们更名.phps文件RewriteEngineOnRewriteRule(.*\.php)s$$1[H=application/x-httpd-php-source]
9、安装nagios及插件
1.创建nagios用户和用户在#useradd-s/sbin/nologinnagios#mkdir/usr/local/nagios#chown-Rnagios.nagios/usr/local/nagios2.编译安装nagios#tarfvxznagios-4.0.5.tar.gz#cdnagios-4.0.5#./configure-prefix=/usr/local/nagios指定nagios的安装目录,这里指定安装在/usr/local/nagios目录下#makeall&&makeinstall通过makeinstall命令来安装nagios主程序的CGI和HTML文件#makeinstall-init通过makeinstall-init命令可以在/etc/rc.d/init.d目录下创建nagios启动脚本#makeinstall-commandmode通过makeinstall-commandmode命令来配置目录权限#makeinstall-config通过makeinstall-config命令来安装nagios示例配置文件,这里安装路径是/usr/local/nagios/etc3.设置开机自启动#chkconfig--addnagios#chkconfig--level35nagioson#chkconfig--listnagiosnagios0:off1:off2:off3:on4:on5:on6:off4.安装nagios插件#tarfvxznagios-plugins-2.0.tar.gz#cdnagios-plugins-2.0#./configure--prefix=/usr/local/nagios#make&&makeinstall插件的安装最好喝nagios安装路径一致,这样插件会在nagios主程序目录(即/usr/local/nagios下的libexec目录)生成很多可执行文件5.安装nagios汉化插件#tarjvxfnagios-cn-3.2.3.tar.bz2#cdnagios-cn-3.2.3#./configure#makeall&&makeinstall
10、配置apache
#vim/etc/httpd/httpd.confuserdaemon#修改为nagiosgroupdaemon#修改为nagios<IfModuledir_module>DirectoryIndexindex.htmlindex.php#增加index.php</IfModule>LoadModulephp5_modulemodules/libphp5.so#去掉前面注释在最后增加如下内容:ScriptAlias/nagios/cgi-bin"/usr/local/nagios/sbin"<Directory"/usr/local/nagios/sbin">AuthTypeBasicOptionsExecCGIAllowOverrideNoneOrderallow,denyAllowfromallAuthName"NagiosAccess"AuthUserFile/usr/local/nagios/etc/htpasswdRequirevalid-user</Directory>Alias/nagios"/usr/local/nagios/share"<Directory"/usr/local/nagios/share">AuthTypeBasicOptionsNoneAllowOverrideNoneOrderallow,denyAllowfromallAuthName"NagiosAccess"AuthUserFile/usr/local/nagios/etc/htpasswdRequirevalid-user</Directory>AddTypeapplication/x-httpd-php.php
11、创建apache目录验证文件
#/usr/local/apache2/bin/htpasswd\>-c/usr/local/nagios/etc/htpasswdnagiosNewpassword:(输入密码)Re-typenewpassword:(在输入一次密码)Addingpasswordforusernagios
12、关闭selinx 和 iptables服务
两种方法:第一种最直接,关闭SELinux,对于SELinux不是很熟悉的用户,请选择此。[root@Nagios-Server~]#cat/etc/sysconfig/selinuxSELINUX=disabled第二种给打上正确的安全脉络。chcon-R-thttpd_sys_content_t/usr/local/nagios/sbin/chcon-R-thttpd_sys_content_t/usr/local/nagios/share/#/etc/init.d/iptablesstop
13、启动apache和nagios服务
#/usr/local/apache/bin/apachectlstart#/etc/init.d/nagiosstart
14、验证nagios页面
15、错误提示
用IE浏览器提示乱码错误 或 提示需要下载.cgi 弹窗
此时要修改apache配置文件
#vi/etc/httpd/httpd.conf找到并去除前面的注释即可LoadModulecgi_modulemodules/mod_cgi.so
16、重新启动apache服务即可
#/usr/local/apache/bin/apachectl-kstop#/usr/local/apache/bin/apachectlstart
17、nagios配置文件介绍
cgi.cfg控制CGI访问的配置文件
nagios.cfgnagios主配置文件resource.cfg变量定义文件,又称为资源文件;此文件中定义变量,以便由其他配置文件引用,如$USER1$objectsobjects目录下有很大配置文件模板,用于定义nagios对象objects/commands.cfg命令定义配置文件,其中定义的命令可以被其他配置文件所引用objects/contacts.cfg定义联系人和联系人组的配置文件objects/localhost.cfg定义监控本地主机的配置文件objects/printer.cfg定义监控打印机的一个配置文件模板,默认没有启动objects/switch.cfg监控路由器的一个配置文件模板,默认没有启动objects/templates.cfg8定义主机和服务的一个模板配置文件,可以在其他配置文件中引用objects/timeperiods.cfg定义nagios监控时间段的配置文件objects/windows.cfg
监控windows主机的配置文件模板,默认没有启动
18、配置文件
1.主机定义文件定义你要监控的对象,这里定义的host_name被应用到其它的所有配置文件中,这个是我们配置Nagios必须修改的配置文件。[Nagios~]#vi/usr/local/nagios/etc/objects/hosts.cfgdefinehost{host_nameNagios-Server#设置主机的名字,该名字会出现在hostgroups.cfg和services.cfg中。aliasNagiosServer#别名address192.168.140.128#主机的IP地址check_commandcheck-host-alive#检查的命令check_interval5#检测的时间间隔retry_interval1#检测失败后重试的时间间隔max_check_attempts5#最大重试次数check_period24x7#检测的时段process_perf_data0retain_nonstatus_information0contact_groupssagroup#联系组notification_interval30#通知的时间间隔notification_period24x7#通知的时间段notification_optionsd,u,r#通知的选项#w—报警(warning),u—未知(unkown)#c—严重(critical),r—从异常情况恢复正常}definehost{host_nameNagios-ClientaliasNagiosClientaddress192.168.140.129check_commandcheck-host-alivecheck_interval5retry_interval1max_check_attempts5check_period24x7process_perf_data0retain_nonstatus_information0contact_groupssagroupnotification_interval30notification_period24x7notification_optionsd,u,r}2.主机组定义文件将刚才定义的两个主机加入到主机组中,针对生产环境就像把所有的MySQL服务器加到一个MySQL主机组里,方便管理和查看。[Nagios~]#vi/usr/local/nagios/etc/objects/hostgroups.cfgdefinehostgroup{hostgroup_nameNagios-Example#主机组名字aliasNagiosExample#主机组别名membersNagios-Server,Nagios-Client#主机组成员,用逗号隔开}3.服务定义文件服务定义文件定义你需要监控的对象的服务,比如本例子为检测主机是否存活,在后面会讲到如何监控其它服务,比如服务器负载、内存、磁盘等。[Nagios~]#vi/usr/local/nagios/etc/objects/services.cfgdefineservice{host_nameNagios-Server#主机名service_descriptioncheck-host-alive#服务描述check_period24x7#检测的时间段max_check_attempts4normal_check_interval3retry_check_interval2contact_groupssagroupnotification_interval10notification_period24x7notification_optionsw,u,c,rcheck_commandcheck-host-alive}defineservice{host_nameNagios-Clientservice_descriptioncheck-host-alivecheck_period24x7max_check_attempts4normal_check_interval3retry_check_interval2contact_groupssagroupnotification_interval10notification_period24x7notification_optionsw,u,c,rcheck_commandcheck-host-alive}[Nagios~]#vi/usr/local/nagios/etc/objects/servicegroup.cfgdefineservicegroup{servicegroup_nameHost-AlivealiasHostAlivemembersNagios-Server,check-host-alive,Nagios-Client,check-host-alive}5联系人定义文件[Nagios~]#vi/usr/local/nagios/etc/objects/contacts.cfgdefinecontact{contact_namenagiosadminusegeneric-contactaliasSystemAdministratoremailnagios@localhost}6联系人组定义文件[Nagios-Server~]#vi/usr/local/nagios/etc/objects/contactgroups.cfgdefinecontactgroup{contactgroup_namesagroupaliasNagiosAdministratorsmembersnagiosadmin}7检测配置是否正确[Nagios~]#/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。