Script SH d’installation automatique d’oréon + nagios

Script SH d’installation automatique d’oréon + nagios :

#!/bin/bash
## Script d’installation de Nagios 2 et Oréon 1.4.5 sur Debian Etch 4.0
## Desroches Kilian – 2007
## Licence GPL v3 et versions ultérieures

function menu() {

clear

echo « #################################################### »
echo « # # »
echo « # Script d’installation de Nagios et Oréon 1.4.5 # »
echo « # # »
echo « #################################################### »
echo «  »
echo  » *********** Partie installation ***********  »
echo «  »
echo « 1 – Compilation de Nagios à partir des sources (les sources doivent être dans le même répertoire que le script »
echo «  »
echo « 10 – Installation de Nagios à partir des paquets stables »
echo « 11 – Installation des dépendances Oréon »
echo « 12 – Installation des dépendances PEAR »
echo « 13 – Download et Patch de Oréon 1.4->1.4.5 »
echo « 14 – Lancer la configuration de Oréon »
echo «  »
echo  » *********** Partie désinstallation ********  »
echo «  »
echo « 20 – Désinstallation de Nagios »
echo « 21 – Désinstallation de Oréon »
echo « 22 – Désinstallation des dépendances PEAR »
echo «  »
echo « 99 – Tout installer »
echo « 00 – Tout désinstaller »
echo «  »
echo « 0 – Quitter »
echo «  »
echo « Choix :  »
read CHOIX

case $CHOIX in
1) compil_nagios && menu;;
10) install_nagios && menu;;
11) install_dep_oreon && menu;;
12) pear_dependencies && menu;;
13) dl_patch_oreon && menu;;
14) config_oreon && menu;;
20) uninstall_nagios && menu;;
21) uninstall_oreon && menu;;
22) uninstall_pear_dependencies && menu;;
99) install_nagios && install_dep_oreon && pear_dependencies && dl_patch_oreon && config_oreon && menu;;
00) uninstall_nagios && uninstall_oreon && uninstall_pear_dependencies && menu;;
0) exit;;
esac
}

function compil_nagios() {

#!/bin/bash
# Script d’installation de Nagios à partir des sources sur une distribution Debian ou compatible
## Desroches Kilian – 2007
# Licence GPL v3 et versions ultérieures

# Déclaration des variables

NAGIOS_VERSION= »2.9″
PLUGINS_VERSION= »1.4.8″
NAGIOS_DIR= »/usr/local/nagios »
NAGIOS_USER= »nagios »
NAGIOS_GROUP= »nagios »
NAGIOS_CMDGROUP= »nagcmd »
APACHE_USER= »www-data »

# Paramétrage du système (comptes utilisateurs, répertoires)

echo -e « \r\n Paramétrage du système en cours… »

test -d $NAGIOS_DIR || mkdir $NAGIOS_DIR
/usr/sbin/groupadd $NAGIOS_GROUP
/usr/sbin/groupadd $NAGIOS_CMDGROUP

if ! grep « ^$NAGIOS_USER: » /etc/passwd
then
/usr/sbin/useradd -m -g $NAGIOS_GROUP -s /bin/false $NAGIOS_USER
fi

chown $NAGIOS_USER.$NAGIOS_GROUP $NAGIOS_DIR

/usr/sbin/usermod -G $NAGIOS_CMDGROUP $NAGIOS_USER
/usr/sbin/usermod -G $NAGIOS_CMDGROUP $APACHE_USER
sleep 2

# Installation des paquets Debian dépendants

echo -e « \r\n Installation des paquets Debian dépendants »
/usr/bin/aptitude -y install autotools-dev binutils build-essential cpp cpp-4.1 debhelper dpatch dpkg-dev file g++ g++-4.1 gcc gcc-4.1 gettext gettext-base html2text intltool-debian libc6-dev libfreetype6 libfreetype6-dev libgd2-noxpm libgd2-noxpm-dev libjpeg62 libjpeg62-dev libmagic1 libperl-dev libperl5.8 libpng12-0 libpng12-dev libssp0 libstdc++6-4.1-dev linux-kernel-headers make patch po-debconf zlib1g-dev

# Décompression de l’archive Nagios

echo -e « \r\n Décompression de l’archive… »
tar zxf nagios-$NAGIOS_VERSION.tar.gz
echo -e « \r\n Archive décompressée…. »;sleep 2

# Préparation des sources

echo -e « \r\n Configuration des sources… »; sleep 2
cd nagios-$NAGIOS_VERSION
./configure –prefix=$NAGIOS_DIR –with-nagios-user=$NAGIOS_USER –with-nagios-group=$NAGIOS_GROUP –with-command-group=$NAGIOS_CMDGROUP > /dev/null
echo -e « \r\n Compilation des sources… »; sleep 2
make all
echo -e « \r\n Installation du programme… »;sleep 2
make install
echo -e « \r\n Installation du script d’initialisation dans /etc/init.d … »;sleep 2
make install-init
echo -e « \r\n Installation des modèles de fichiers de configuration… »;sleep 2
make install-config
echo -e « \r\n Installation du mode de commande… »;sleep 2
make install-commandmode
cd ..

# Installation des plugins Nagios

echo -e « \r\n Installation des plugins… »
echo -e « \r\n Installation des paquets Debian dépendants »
/usr/bin/aptitude -y install comerr-dev libkadm55 libkrb5-dev libldap2-dev libmysqlclient15-dev libnet-snmp-perl libpq-dev libradius1 libradius1-dev libsensors-dev libsensors3 libsnmp-base libsnmp-perl libsnmp9 libsnmp9-dev libssl-dev libwrap0-dev libgnutls-dev samba-client qstat fping
/sbin/ldconfig

# Décompression de l’archive Nagios Plugins

echo -e « \r\n Décompression de l’archive… »
tar zxf nagios-plugins-$PLUGINS_VERSION.tar.gz
echo -e « \r\n Archive décompressée…. »; sleep 2
echo -e « \r\n Configuration des sources… »; sleep 2
cd nagios-plugins-$PLUGINS_VERSION
./configure
echo -e « \r\n Compilation des sources… »; sleep 2
make
echo -e « \r\n Installation des plugins dans $NAGIOS_DIR/libexec… »;sleep 2
make install

}

function install_nagios() {

## Mise à jour d’aptitude

echo « ######################### »
echo « # # »
echo « # Mise à jour d’aptitude # »
echo « # # »
echo « ######################### »

aptitude update

## Installation de Apache 2

echo « ####################################### »
echo « # # »
echo « # Installation d’apache 2 et MySQL 5.0 # »
echo « # # »
echo « ####################################### »

aptitude install apache2 mysql-server-5.0

## Installation de Nagios 2.9 et de la doc

echo « ##################################################### »
echo « # # »
echo « # Installation de Nagios 2.9 et de sa documentation # »
echo « # # »
echo « ##################################################### »

aptitude install nagios2 nagios2-doc
}

function uninstall_nagios() {

## Purge de Apache 2

echo « ################################ »
echo « # # »
echo « # Purge d’apache 2 et MySQL 5.0 # »
echo « # # »
echo « ################################ »

aptitude purge apache2 mysql-server-5.0

## Purge de Nagios 2.9 et de la doc

echo « ############################################ »
echo « # # »
echo « # Purge de Nagios 2 et de sa documentation # »
echo « # # »
echo « ############################################ »

aptitude purge nagios2 nagios2-doc
}

function install_dep_oreon() {

## Installation des packages nécessaires à Oréon 1.4

echo « ##################################################### »
echo « # # »
echo « # Installation des packages nécessaires à Oréon 1.4 # »
echo « # # »
echo « ##################################################### »

aptitude install rrdtool librrds-perl libnet-snmp-perl php5 libapache2-mod-php5 php5-mysql php5-snmp php-pear php5-gd libgd2-xpm libgd2-dev libgd2-xpm-dev libpng12-0 libpng12-dev libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libgd-perl libio-socket-inet6-perl libnet-snmp-perl libsocket6-perl librrdp-perl
}

function uninstall_oreon() {

## Purge des packages nécessaires à Oréon

echo « ############################################## »
echo « # # »
echo « # Purge des packages nécessaires à Oréon 1.4 # »
echo « # # »
echo « ############################################## »

aptitude purge rrdtool librrds-perl libnet-snmp-perl php5 libapache2-mod-php5 php5-mysql php5-snmp php-pear php5-gd libgd2-xpm libgd2-dev libgd2-xpm-dev libpng12-0 libpng12-dev libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libgd-perl libio-socket-inet6-perl libnet-snmp-perl libsocket6-perl librrdp-perl
}

function pear_dependencies() {

## Installation des dépendances PEAR

echo « ##################################### »
echo « # # »
echo « # Installation des dépendances PEAR # »
echo « # # »
echo « ##################################### »

pear upgrade PEAR
pear upgrade DB

pear install -o -f –alldeps DB_DataObject DB_DataObject_FormBuilder MDB2 Date Numbers_Roman HTML_Common2 HTML_QuickForm2 HTML_QuickForm_advmultiselect HTML_Table Auth_SASL Image_Canvas Image_Color Image_Graph Image_GraphViz Mail_Mime Net_Traceroute Net_Ping Validate XML_RPC HTTP Mail Net_SMTP
}

function uninstall_pear_dependencies() {

## Désinstallation des dépendances PEAR

echo « ######################################## »
echo « # # »
echo « # Désinstallation des dépendances PEAR # »
echo « # # »
echo « ######################################## »

pear uninstall DB_DataObject DB_DataObject_FormBuilder MDB2 Date Numbers_Roman Numbers_Words HTML_Common2 HTML_QuickForm2 HTML_QuickForm_advmultiselect HTML_Table Auth_SASL Image_Canvas Image_Color Image_Graph Image_GraphViz Mail_Mime Net_Traceroute Net_Ping Validate XML_RPC HTTP Mail Net_SMTP
}

function dl_patch_oreon() {

## Téléchargement de la version 1.4 d’Oreon et décompression dans le répertoire /root

echo « ##################################################### »
echo « # # »
echo « # Téléchargement de Oréon et application des patchs # »
echo « # 1.4 -> 1.4.5 # »
echo « # # »
echo « ##################################################### »

cd /root
wget http://download.oreon-project.org/tgz/oreon-1.4.tar.gz
tar -xvzf oreon-1.4.tar.gz

## Téléchargement du patch 1.4.1 et application du patch

echo « ################################################ »
echo « # # »
echo « # Téléchargement et application du patch 1.4.1 # »
echo « # # »
echo « ################################################ »

cd /root
wget http://download.oreon-project.org/patch/or…patch-1.4-1.tgz
tar -xvzf oreon-patch-1.4-1.tgz
cd /root/oreon-1.4
for i in $(ls /root/oreon-patch/*.patch); do patch -p1 < ${i}; done

## Téléchargement du patch 1.4.2 et application du patch

echo « ################################################ »
echo « # # »
echo « # Téléchargement et application du patch 1.4.2 # »
echo « # # »
echo « ################################################ »

cd /root
wget http://download.oreon-project.org/patch/or…patch-1.4-2.tgz
mkdir oreon-patch-1.4-2
cd oreon-patch-1.4-2
tar -xvzf ../oreon-patch-1.4-2.tgz
cd /root/oreon-1.4
patch -p1 < /root/oreon-patch-1.4-2/22-oreon-2004_04_05_-_17_55.patch

## Téléchargement du patch 1.4.3 et application du patch

echo « ################################################ »
echo « # # »
echo « # Téléchargement et application du patch 1.4.3 # »
echo « # # »
echo « ################################################ »

cd /root
wget http://download.oreon-project.org/patch/or…patch-1.4-3.tgz
mkdir oreon-patch-1.4-3
cd oreon-patch-1.4-3
tar -xvzf ../oreon-patch-1.4-3.tgz
cd /root/oreon-1.4
patch -p1 < /root/oreon-patch-1.4-3/23-oreon-2007_04_10_-_16_27.patch

## Téléchargement du patch 1.4.4 et application du patch

echo « ################################################ »
echo « # # »
echo « # Téléchargement et application du patch 1.4.4 # »
echo « # # »
echo « ################################################ »

cd /root
wget http://download.oreon-project.org/patch/or…patch-1.4-4.tgz
tar -xvzf oreon-patch-1.4-4.tgz
cd /root/oreon-1.4
patch -p1 < /root/oreon-patch-1.4-4/24-oreon-2007_04_13_-_19_28.patch
cd /root/oreon-1.4/ODS_SRC_ETC
patch -p0 < 25-oreon-init_ods_2007_04_13.patch

## Téléchargement du patch 1.4.5 et application du patch

echo « ################################################ »
echo « # # »
echo « # Téléchargement et application du patch 1.4.5 # »
echo « # # »
echo « ################################################ »

cd /root
wget http://download.oreon-project.org/patch/or…patch-1.4-5.tgz
tar -xvzf oreon-patch-1.4-5.tgz
cd /root/oreon-1.4
patch -p1 < /root/oreon-patch-1.4-5/26-oreon-2007_04_24.patch

## Nettoyage du répertoire root : Suppression des archives (oreon, patchs oreon et des répertoires associés)

cd /root
rm -R oreon-1.4.tar.gz oreon-patch oreon-patch-1.4-1.tgz oreon-patch-1.4-2 oreon-patch-1.4-2.tgz oreon-patch-1.4-3 oreon-patch-1.4-4 oreon-patch-1.4-5 oreon-patch-1.4-3.tgz oreon-patch-1.4-4.tgz oreon-patch-1.4-5.tgz
}

function config_oreon() {

cd /root/oreon-1.4
sh ./install.sh
}

menu