zoukankan      html  css  js  c++  java
  • nagios+LAMP自动安装脚本

    #!/bin/sh 
    # Nagios V3.03 install script 
    # Write by zhengyp 
    #Date:2008-10-8 


    # Softwares are all store in /usr/local/src 
    cd /usr/local/src 
    #Install LAMP for Nagios 

    # Step 1. Install Apache 
    tar zxvf httpd-2.2.9.tar.gz 
    cd httpd-2.2.9 
    ./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=all 
    make && make install 
    #Configure the apache server for PHP 
    sed -i 's#DirectoryIndex index.html#& index.php#' /usr/local/apache/conf/http.conf 
    sed -i '/AddType application\/x-gzip .gz .tgz/i\AddType application/x-httpd-php .php\ 
    AddType application/x-httpd-php-source .phps' /usr/local/apache/conf/http.conf 

    #Step 2. Install Mysql As a server 
    #Add a mysql user 
    /usr/sbin/groupadd mysql 
    /usr/sbin/useradd -g mysql mysql 
    cd .. 
    tar zxvf mysql-5.1.26-rc.tar.gz 
    cd mysql-5.1.26-rc/ 
    ./configure --prefix=/usr/local/mysql/ --without-debug --with-unix-socket-path=/usr/local/mysql/mysql.sock --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --with-extra-charsets=gbk,gb2312,utf8 --with-pthread --enable-thread-safe-client 
    make && make install 
    chmod +w /usr/local/mysql 
    chown -R mysql:mysql /usr/local/mysql 
    cp support-files/my-medium.cnf /usr/local/mysql/my.cnf 
    cd ../ 

    #Initialize the database 
    #You can change the data directory by set "--datadir=" 
    #mkdir /data 
    #chown -R mysql:mysql /data 

    /usr/local/mysql/bin/mysql_install_db --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/mysql.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock 
    #Start Mysql 
    /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf & 

    #Step 3. Install PHP 
    #If you use CentOS, Please run yum to check that the graphics library have installed.Also it will update for these softwares 
    #If you use Redhat , Install the graphics library by "rpm" command 
    cd .. 
    yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc- devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel 

    tar zxvf php-5.2.6.tar.gz 
    cd php-5.2.6 
    ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-apxs2=/usr/local/apache/bin/apxs --with-freetype --with-jpeg --with-png --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --with-curl --with-curlwrappers --with-gd --enable-gd-native-ttf --with-openssl 
    make && make install 
    cd .. 

    #Step 4.Install Nagios 3.03 
    #Add nagios user 
    adduser nagios 
    mkdir /usr/local/nagios 
    chown nagios:nagios /usr/local/nagios 
    groupadd nagcmd 
    usermod -G nagcmd nagios 
    tar zxvf nagios-3.0.3.tar.gz 
    cd nagios-3.0.3 
    sed -i 's#wav#x-mplayer2#' cgi/status.c 
    #Configure and make 
    ./configure --prefix=/usr/local/nagios --with-command-group=nagcmd --with-httpd-conf=/usr/local/apache/conf/httpd.conf --with-gd 
    make all 
    make install 
    make install-init 
    make install-config 
    make install-commandmode 

    #Add a user for nagios ,You can change the passwd for the user you add 
    /usr/local/apache/bin/htpasswd -c /usr/local/nagios/etc/htpasswd nagios <<EOF 
    123 
    123 
    EOF 

    sed -i '/AddType application\/x-gzip .gz .tgz/i\AddType application/x-httpd-php .php\ 
    AddType application/x-httpd-php-source .phps' /usr/local/apache/conf/http.conf 

    sed -i '/<\/IfModule>/a\Alias /nagios/cgi-bin/images/ "/usr/local/nagios/share/images/"\ 
    <Directory "/usr/local/nagios/share/images/">\ 
        AllowOverride None\ 
        Options None\ 
        Order allow,deny\ 
        Allow from all\ 
        AuthType Basic\ 
        AuthName "Login User"\ 
        AuthUserFile /usr/local/nagios/etc/htpasswd\ 
        require user nagios\ 
    </Directory>\ 
    ScriptAlias /nagios/cgi-bin/ "/usr/local/nagios/sbin/"\ 
    <Directory "/usr/local/nagios/sbin/">\ 
    AllowOverride None\ 
        Options None\ 
        Order allow,deny\ 
        Allow from all\ 
        AuthType Basic\ 
        AuthName "Login User"\ 
        AuthUserFile /usr/local/nagios/etc/htpasswd\ 
        require user nagios\ 
    </Directory>\ 
    Alias /nagios/ "/usr/local/nagios/share/"\ 
    <Directory "/usr/local/nagios/share/">\ 
        AllowOverride None\ 
        Options None\ 
        Order allow,deny\ 
        Allow from all\ 
        AuthType Basic\ 
        AuthName "Login User"\ 
        AuthUserFile /usr/local/nagios/etc/htpasswd\ 
        require user nagios\ 
    </Directory>' /usr/local/apache/conf/http.conf 
    sed -i 's#ServerName www.temple.com:80#ServerName 127.0.0.1#' /usr/local/apache/conf/http.conf 
    /usr/local/apache/bin/apachectl start 

    #Step 5. Install Naigos plugins 
    #Install plugins 
    cd /usr/local/src 
    tar xvzf nagios-plugins-1.4.12.tar.gz 
    cd nagios-plugins-1.4.11 
    ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --enable-redhat-pthread-workaround --with-nagios-user=nagios --with-mysql=/usr/local/mysql 
    make && make install 

    # Install nrpe 
    cd /usr/local/src 
    tar zxvf nrpe-2.12.tar.gz 
    cd nrpe-2.12 
    ./configure --enable-ssl --with-ssl-lib=/usr/local/nagios/openssl/lib --with-kerberos-inc=/usr/local/nagios/openssl/include --enable-command-args 
    make;make install 
    make install-plugin 
    make install-daemon 
    make install-daemon-config 
    chown nagios:nagios /usr/local/nagios/etc/nrpe.cfg 
    sed 's#dont_blame_nrpe=0#dont_blame_nrpe=1#' /usr/local/nagios/etc/nrpe.cfg 
    #Add nrpe to service 
    echo "nrpe 5666/tcp # NRPE" >>/etc/service 
    echo " " > /etc/xinetd.d/nrpe 
    sed -i '/ /i\service nrpe\ 
    {\ 
    disable     =   no\ 
    flags       =   REUSE\ 
    socket_type =   stream\ 
    wait        =   no\ 
    user        =   nagios\ 
    server      =   /usr/local/nagios/bin/nrpe\ 
    server_args =   -c /usr/local/nagios/etc/nrpe.cfg --inetd\ 
    log_on_failure += USERID\ 
    only_from = 192.168.0.200 #nagiosServer IP\ 
    }' /etc/xinetd.d/nrpe 

    #Step 6. Configure Naigos 
    #Add the user who you've create in step 4 by htpasswd for nagios 
    cd /usr/local/nagios/etc 
    sed -i 's#default_user_name=guest#default_user_name=nagios' cgi.cfg 
    sed -i 's#=nagiosadmin#=nagiosadmin,nagios' cgi.cfg 
    #Start nagios 
    /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg 
    service nagios start 

    #Step 7 . Set all servers start after system boot 
    echo "/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg" >> /etc/rc.local 
    echo "service nagios start" >> /etc/rc.local 
    echo "/bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf &" >> /etc/rc.local 
    echo "/usr/local/apache/bin/apache/bin/apachectl start" >> /etc/rc.local 

  • 相关阅读:
    Golang之排序算法
    Golang之一个简单的聊天机器人
    golang之流程控制(注意点)
    golang之指针
    vs code中自动添加注释插件koroFileHeader
    stack栈、heap堆的说明图
    c语言中的数据类型的最大最小值
    数组问题:a与&a有的区别
    STM32F10x之NVIC
    大小端的另一种测试方法
  • 原文地址:https://www.cnblogs.com/liangle/p/2512553.html
Copyright © 2011-2022 走看看