Installation d’Oracle 11gR2 sur Centos 5

Il est possible d’installer une base Oracle 11g a des fins de test.
L’OTN Developer License Terms spécifie :

We grant you a nonexclusive, nontransferable limited license to use the programs only for the purpose of developing, testing, prototyping and demonstrating your application.

Il faut donc télécharger les deux fichiers LinuxX86 présents sur la page des téléchargements et les décompresser dans le répertoire /tmp

Préparation du système d’exploitation :

Le système (CentOS 5) doit être à jour.

Nous allons suivre les recommandations d’oracle concernant le nommage des répertoires d’installation.
Nous allons donc modifier le fichier /etc/profile et y ajouter :

export ORACLE_BASE="/opt/oracle"
export ORACLE_HOME="$ORACLE_BASE/product/11.2.0/db_1"
export ORACLE_HOSTNAME="mamachine.be-root.com"
export ORACLE_SID="beroot"

Nous pouvons ensuite faire un source /etc/profile afin d’avoir les variables positionnées précédemment actives sous la session courante.
Nous allons ensuite installer les dépendances ;

yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers libaio libaio-devel libgomp libstdc++ libstdc++-devel make numactl sysstat unixODBC-devel pdksh

Il faut maintenant créer l’utilisateur « oracle » ainsi que les groupes rattachés :

/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/groupadd asmadmin
/usr/sbin/groupadd asmdba
/usr/sbin/useradd -g oinstall -G dba,asmdba,asmadmin oracle

Et positionner un mot de passe pour l’utilisateur oracle :

passwd oracle

Modifions ensuite le fichier /etc/security/limits.conf :

oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
oracle              soft    stack   10240

Ces limites sont fixées dans la documentation officielle d’oracle :

Nous allons ensuite créer la structure des répertoires :

mkdir -p $ORACLE_BASE/oradata
mkdir -p  $ORACLE_BASE/recovery_area
chown -R oracle:oinstall $ORACLE_BASE
chmod -R 775 $ORACLE_BASE
mkdir -p /opt/oraInventory
chmod 775 /opt/oraInventory
chown oracle:oinstall  /opt/oraInventory

La documentation officielle d’oracle donne les paramètres du noyau à modifier ainsi que le fichier concerné :

Ainsi, pour vérifier le paramètre shmmni, il suffit de faire un cat /proc/sys/kernel/shmmni

Pour fixer les valeurs , nous allons modifier le fichier /etc/sysctl.conf :

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2123476992
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

On applique les valeur à l’aide d’un petit sysctl -p

Pour lancer l’installation, il faut un environnement graphique correctement configuré. Soit on se loggue sous le compte oracle directement, soit on fait un su – oracle en ayant fait au préalable un xhost +. J’ai choisi cette dernière solution :

xhost +
su - oracle
/tmp/database/runInstaller

Tout d’abord, on choisit de créer une base de données :

… en classe serveur :

… en mono-instance :

… une installation standard :

Il suffit ensuite de définir le mot de passe d’administration ainsi que de mettre le nom de la base de donnée à la même valeur que la variable ORACLE_SID :

A la fin de l’installation, il suffit juste d’exécuter sous l’identité root depuis un terminal le ou les scripts stipulés dans la dernière fenêtre d’installation :

Directement après installation, Oracle Enterprise Manager est accessible depuis un navigateur web à l’adresse https://127.0.0.1:1158/em/

Il est possible de se connecter en SYS/SYSDBA à l’aide du mot de passe rentré lors de l’installation.

Arret du serveur Oracle en ligne de commande :

En tant qu’utilisateur oracle :

Démarrage du serveur Oracle en ligne de commande :

Le démarrage de l’instance se fait en plusieurs étape. Tout d’abord le listener qui gère la partie réseau puis ensuite le démarrage de la base à proprement parler. Toutes ces étapes se font sous l’identité oracle :

Démarrage du listener

Démarrage de la base

Ensuite, on peut éventuellement redémarrer Oracle Enterprise Manager pour administrer la base depuis l’interface web vue précédemment :

Nagios : Installation et mise en oeuvre de Nagios 3

Dans cet article, nous allons installer étape par étape la version 3.2.0 de Nagios sur un système CentOS 5.3 (Linux).

Pour rappel, Nagios est une solution de supervision d’infrastructure réseau et applicatif sous licence GPL v2. Nagios est capable de contrôler l’état de fonctionnement des périphériques réseaux et de vous alerter en cas de panne ou de défaillance.

Tout d’abord, il vous faut comprendre que Nagios (Nagios Core) n’est en réalité qu’un ordonnanceur d’événement. Il s’occupe simplement de lancer des tâches à des instants précis.
Le bon fonctionnement des périphériques réseaux est effectué par d’autres programmes/scripts que l’on appelle couramment des plugins (ou greffons).
Nagios ordonne donc régulièrement l’exécution de plugins externes pour connaitre l’état d’un périphérique réseau.

Maintenant que vous avez compris cette distinction, nous pouvons procéder à son installation.

Dans cet article, nous allons installer étape par étape la version 3.2.0 de Nagios sur un système CentOS 5.3 (Linux).

Pour rappel, Nagios est une solution de supervision d’infrastructure réseau et applicatif sous licence GPL v2. Nagios est capable de contrôler l’état de fonctionnement des périphériques réseaux et de vous alerter en cas de panne ou de défaillance.

nagios_install_1

Tout d’abord, il vous faut comprendre que Nagios (Nagios Core) n’est en réalité qu’un ordonnanceur d’événement. Il s’occupe simplement de lancer des tâches à des instants précis.
Le bon fonctionnement des périphériques réseaux est effectué par d’autres programmes/scripts que l’on appelle couramment des plugins (ou greffons). Nagios ordonne donc régulièrement l’exécution de plugins externes pour connaitre l’état d’un périphérique réseau.

Maintenant que vous avez compris cette distinction, nous pouvons procéder à son installation. Toutes les actions que nous allons effectuer dans la suite de cet article s’effectue en tant qu’utilisateur root.

Dans un premier temps, vous devez bien entendu préparer le serveur destiné à accueillir Nagios (mise à jour, configuration réseau, désactivation de SELinux, synchronisation de l’horloge système, configuration de Sendmail pour recevoir les alertes, …).

Nagios dispose d’une interface Web pour afficher l’état des périphériques réseaux. Il est donc indispensable d’installer un serveur Web. La documentation officielle conseille l’utilisation de Apache/HTTPD. Sachez toutefois que vous pouvez très bien utiliser un autre serveur Web comme LighHTTPD.

– Installez le serveur Web (Apache/HTTPD) : yum install httpd
– Lancez le serveur Web au démarrage de la machine : chkconfig httpd on

Depuis la version 3.1.0 de Nagios, PHP est devenu en pré-requis. Mais, ne vous y trompez pas, les pages Web de l’interface de Nagios sont encore des pages en CGI. Seul quelques pages comme la page d’index sont pour l’instant en PHP.

– Installez PHP : yum install php

Si vous possédez un pare-feu d’installer sur votre système, vous devez autoriser le port TCP 80 en entrée.

– Éditez le fichier contenant les règles appliquées par le pare-feu : vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

– Redémarrez le parfe-feu : service iptables restart
– Lancez immédiatement le serveur Web : service httpd start

Pour vérifiez que votre serveur Web fonctionne correctement, il vous suffit simplement d’utiliser un navigateur Web et d’entrer l’adresse IP de votre serveur comme URL.

nagios_install_2

Autre pré-requis indispensable si vous souhaitez afficher la carte des hôtes (statusmap.cgi) et les différents histogrammes (histogram.cgi et trends.cgi), est la bibliothèque graphique GD.

– Installez la bibliothèque GD et ces bibliothèques de développement : yum install gd gd-devel

Nagios étant écrit en langage C, il est obligatoire de disposer d’un compilateur C sur votre système pour pourvoir compiler et installer Nagios. La bibliothèque C (glibc) et ses utilitaires (glibc-common) devraient probablement être déjà installer sur votre système.

– Installez un compilateur C : yum install gcc

Passons à présent dans le vif du sujet, à savoir l’installation et la mise en œuvre de Nagios. Pour commencer, nous allons créer un utilisateur spécifique pour le service Nagios.

– Créez un groupe et un utilisateur pour Nagios : groupadd nagios et useradd -g nagios -d /usr/local/nagios -M -s /bin/bash nagios
– Verrouillez ce compte utilisateur : passwd -l nagios

Nous allons créer un autre utilisateur spécifique pour le fichier de commandes externe (nagios.cmd).

– Créez le groupe suivant : groupadd nagcmd
– Ajoutez l’utilisateur nagios dans le groupe nagcmd : usermod -a -G nagcmd nagios
– Ajoutez l’utilisateur apache dans le groupe nagcmd (l’utilisateur apache a été créé lors de l’installation du serveur Web) : usermod -a -G nagcmd apache

– Placez-vous dans le répertoire suivant : cd /usr/local/src/

Vous devez récupérer la dernière version de Nagios Core (dans notre cas, cela correspond à la version 3.2.0) sur le site officiel de Nagios à l’aide du gestionnaire de téléchargement wget : wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gz

– Décompressez l’archive que vous venez de récupérer : tar -xzf nagios-3.2.0.tar.gz
– Placez-vous dans le répertoire décompressé contenant les sources de Nagios Core : cd nagios-3.2.0

L’installation de Nagios dépend bien entendu de vos besoins et de votre utilisation quotidienne. Si vous n’avez pas l’intention d’utiliser des plugins PERL, il n’y a donc pas besoin d’embarquer l’interpréteur PERL (–enable-embedded-perl). Même chose pour le module de courtage d’événements (–enable-event-broker).
Nous souhaitons que l’interface Web de Nagios soit directement accessible depuis l’URL http://xxxxxx/ (par défaut, http://xxxxxx/nagios/).

– Obtenir des informations sur les paramètres de configuration : ./configure –help
– Configurez : ./configure –prefix=/usr/local/nagios –sysconfdir=/etc/nagios –localstatedir=/var/nagios –with-nagios-user=nagios –with-nagios-grp=nagios –with-command-user=nagios –with-command-group=nagcmd –with-gd-lib=/usr/local/lib –with-gd-inc=/usr/local/include –with-cgiurl=/cgi-bin –with-htmurl=/ –with-mail=/bin/mail –with-httpd-conf=/etc/httpd/conf.d –enable-nanosleep –enable-event-broker –enable-embedded-perl –with-perlcache
– Compilez les sources de Nagios Core : make all
– Installez les fichiers de Nagios Core dans le répertoire /usr/local/nagios/ : make install
– Installez le script de lancement nagios dans le répertoire /etc/init.d/ : make install-init
– Installez les fichiers de configuration dans le répertoire /etc/nagios/ : make install-config
– Installez le fichier de commande externe avec les droits adéquates : make install-commandmode
– Installez le fichier de configuration de restriction d’accès à l’interface Web de Nagios dans le répertoire /etc/httpd/conf.d/ : make install-webconf

nagios_install_3

Il est nécessaire dans notre cas d’effectuer quelques modifications dans le fichier de configuration d’Apache.

– Éditez le fichier de configuration d’Apache/HTTPD et mettez en commentaire ces lignes : vi /etc/httpd/conf/httpd.conf

#Alias /icons/ "/var/www/icons/"

#<Directory "/var/www/icons">
#    Options Indexes MultiViews
#    AllowOverride None
#    Order allow,deny
#    Allow from all
#</Directory>

#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

#<Directory "/var/www/cgi-bin">
#    AllowOverride None
#    Options None
#    Order allow,deny
#    Allow from all
#</Directory>

#Alias /error/ "/var/www/error/"

#<IfModule mod_negotiation.c>
#<IfModule mod_include.c>
#    <Directory "/var/www/error">
#        AllowOverride None
#        Options IncludesNoExec
#        AddOutputFilter Includes html
#        AddHandler type-map var
#        Order allow,deny
#        Allow from all
#        LanguagePriority en es de fr
#        ForceLanguagePriority Prefer Fallback
#    </Directory>
#</IfModule>
#</IfModule>

– Éditez ce fichier pour ajouter une barre oblique : vi /etc/httpd/conf.d/nagios.conf

Alias / "/usr/local/nagios/share/"

Par défaut, le nom de l’utilisateur utilisé dans le fichier /etc/nagios/cgi.cfg, possédant tous les droits dans l’interface Web, porte le nom de nagiosadmin.

– Créez un mot de passe pour l’utilisateur nagiosadmin à l’aide de l’utilitaire HTPASSWD fournit avec Apache/HTTPD : htpasswd -c /etc/nagios/htpasswd.users nagiosadmin

– Redémarrez le serveur Web pour prendre en compte le fichier de configuration /etc/httpd/conf.d/nagios.conf : service httpd restart

– Éditez le fichier de configuration de Nagios pour modifier le format de la date : vi /etc/nagios/nagios.cfg

date_format=euro

Passons à l’installation des plugins Nagios (vous savez ces programmes externes qui contrôle l’état de vos périphériques réseaux …).

– Placez-vous dans le répertoire suivant : cd /usr/local/src/

Vous devez récupérer la dernière version des plugins Nagios, (dans notre cas, cela correspond à la version 1.4.14) à l’aide du gestionnaire de téléchargement wget : wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz

– Décompressez l’archive que vous venez de récupérer : tar -xzf nagios-plugins-1.4.14.tar.gz

– Installez la bibliothèque de développement de NET-SNMP et ces utilitaires (snmget, snmpwalk, …) : yum install net-snmp-devel net-snmp-utils

FPING permet d’effectuer en parallèle plusieurs requêtes echo en utilisant le protocole ICMP. Son utilisation s’avère intéressante.

– Téléchargez la dernière version de FPING : wget http://fping.sourceforge.net/download/fping.tar.gz
– Décompressez l’archive que vous venez de récupérer : tar -xzf fping.tar.gz
– Placez-vous dans le répertoire suivant : cd fping-2.4b2_to
– Configurez les sources de FPING : ./configure
– Compilez les sources de FPING : make
– Installez FPING : make install

FPING nécessite les droits root pour s’exécuter et accomplir ses tâches.

– Allouez temporairement les droits root durant l’exécution du programme (droit SUID) : chmod u+s /usr/local/sbin/fping

Si vous avez besoin des plugins check_ldap, check_mysql et check_pgsql, vous devez installer les bibliothèques de développement d’OpenLDAP, MySQL et PostgreSQL à l’aide de l’utilitaire YUM.

– Placez-vous dans le répertoire décompressé contenant les sources des plugins Nagios : cd nagios-plugins-1.4.14
– Configurez les sources des plugins Nagios : ./configure –prefix=/usr/local/nagios –with-nagios-user=nagios –with-nagios-group=nagios –with-cgiurl=/cgi-bin
– Compilez : make
– Installez : make install

nagios_install_4

Les plugins Nagios seront installés dans le répertoire /usr/local/nagios/libexec/. Le fichier de configuration /etc/nagios/resource.cfg contient une variable spécifique $USER1$. Cette variable indique l’emplacement des plugins Nagios.

Il reste à modifier la configuration de Nagios pour utiliser FPING à la place de la commande ping habituelle.

– Éditez le fichier de configuration contenant la définition des commandes Nagios : vi /etc/nagios/objects/commands.cfg

# 'check-host-alive' command definition
define command{
command_name    check-host-alive
command_line    $USER1$/check_fping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -n 5
}

– Vérifiez rapidement si vous avez des erreurs dans vos fichiers de configuration : service nagios checkconfig
– En cas d’erreur, vous pouvez vérifier plus en détails pour corriger les éventuelles erreurs : /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg
– Lancez Nagios au démarrage du serveur : chkconfig nagios on
– Lancez le service Nagios : service nagios start ou directement : /usr/local/nagios/bin/nagios -d /etc/nagios/nagios.cfg

Avec un navigateur Web, vous pouvez accéder à l’interface Web de Nagios (http://xxxxxx/) avec l’utilisateur nagiosadmin et le mot de passe que vous avez entré précédemment.

nagios_install_5

Il ne vous reste plus qu’à définir les différents périphériques réseaux et services que vous souhaitez superviser pour être alerter de leurs états.

Et si  l’interface Web de Nagios n’est pas à votre goût, vous pouvez toujours utiliser le skin Vautour Style.