Linux下安装Nagios

(1)创建nagios用户和用户组

useradd -s /sbin/nologin nagios
mkdir /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios

 

(2)开启系统sendmail服务

  在nagios监控服务器上开启sendmail服务,在nagios在检测到故障时可以发送报警邮件。

service sendmail status
service sendmail start

 

(3)编译安装nagios

tar -zxvf nagios-3.2.0.tar.gz
cd nagios-3.2.0

#编译指定安装目录
.
/configure --prefix=/usr/local/nagios #指定nagios的安装目录,这里指定nagios安装到/usr/local/nagios目录 make all make install # make install用来安装nagios的主程序,CGI和HTML文件 make install-init #通过make install-init命令可以在/etc/rc.d/init.d目录下创建nagios启动脚本 make install-commandmode #通过make install-commandmode命令来配置目录权限 make install-config #make install-cofig命令用来安装nagios示例配置文件,这里安装的路径是/usr/local/nagios/etc

 

(4)安装nagios的插件

tar -zxvf  nagios-plugins-1.4.14.tar.gz
cd nagios-plugins-1.4.14
./configure --prefix=/usr/local/nagios
make 
make install

PS:1    好多文档说插件和nagios 的版本无关,这个没做调研。

PS:2    /usr/local/nagios下的libexec目录下,生成很多的nagios插件可执行文件。

 

(5)安装nagios的汉化包

#这个是bz2包注意变参数
tar
-jxvf nagios-cn-3.2.0.tar.bz2 cd nagios-cn-3.2.0 ./configure --prefix=/usr/local/nagiosmake all make install

PS:1 我只找到了nagios 3.2.0 版本的汉化包,看来只能用老版本了,有4.X的汉化包的同学可以SHARE 下。

 

(5)安装Apache 和 PHP

       ->安装Apache

#这里要解决3个依赖,很蛋疼直接下 
#checking for APR... no
#checking for APR-util... no
#util_pcre.c:128: error: 'PCRE_DUPNAMES' undeclared (first use in this function)

#PS:1 <-安装APR提示 configure: error: no acceptable C compiler found in$PATH 安装GCC去
#PS:2 pcre 这完应有个 pcre 2 版本,这个不清楚用的是大家推荐的版本


#解决第一个依赖
wget http://archive.apache.org/dist/apr/apr-1.5.1.tar.gz

mkdir /usr/local/apr
cd apr-1.5.1
./configure --prefix=/usr/local/apr/

make
make install

#解决第二个依赖
wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
mkdir /usr/local/apr-util
tar -zcvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
make
make install

#解决第三个
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.34/pcre-8.34.zip
mkdir /usr/local/pcre
unzip pcre-8.34.zip
cd pcre-8.34
./configure --prefix=/usr/local/pcre
make
make install

#安装Apache
tar
zxvf httpd-2.4.12.tar.gz
cd httpd
-2.4.12
mkdir /usr/local/apache
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
make
make install

      ->安装PHP

tar zxvf php-5.6.7.tar.gz
cd php-5.6.7
mkdir /usr/local/php ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs make make install

 

(6)配置Apache 与 PHP

#找到apache配置文件/usr/local/apache/conf/httpd.conf找到:
#User daemon
#Group daemon #修改为 User nagios Group nagios #然后找到 #DirectoryIndex index.html #修改为 DirectoryIndex index.html index.php
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html

#找到 ServerName www.example.com:80 追加
ServerName localhost:80

#在最后追加
#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 密码
/usr/local/apache/bin/htpasswd -c /usr/local/nagios/etc/htpasswd admin
#启动Apache
/usr/local/apache/bin/apachectl start

#错 Starting nagios:This account is currently not available.
#vi /etc/passwd #把 nagios:x:XXX:XXX::/home/nagios:/sbin/nologin #改 nagios:x:XXX:XXX::/home/nagios:/bin/bash #这里XXX 是对应数字不要改动

#启动nagios 服务
service nagios start

 PS: 1 好多地方都说ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"  这个要添加在一个键值对里面,实际上还是追加。

 PS: 2 --prefix=/XXX, XXX后边不要添加/ 否则生成的路径会变成 //

 PS: 3 点菜单不好用变成下载CGI 要配置。还要看对应CGI 路径下有木有对应的XXX.CGI 程序(XXX为下载CGI的名字),没有重新编译-有则重新配置

          重启APACHE 即可。

posted @ 2015-03-30 19:19  Jason-Holt  阅读(130)  评论(0)    收藏  举报