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