Catégories
Nagios Open-source Reseau Systeme

Le serveur de supervision libre – PART 4

Nous arrivons bientôt à la fin de l’installation de notre serveur de supervision. Avec Nagios et Centreon il est parfaitement opérationnel. Je trouve cependant qu’il manque encore à Centreon des fonctions de graphes évoluées. C’est pour cela que je propose d’ajouter sur notre bébé un serveur Cacti.

PART 1 – Installation du système d’exploitation GNU/Linux
PART 2 – Installation de Nagios
PART 3 – Installation de Centreon
PART 4 – Installation de Cacti

Catégories
Nagios Open-source Reseau Systeme

Le serveur de supervision libre – PART 3

Les deux premiers billet de cette série nous ont permis d’installer le coeur de notre serveur de supervision: le logiciel Nagios. Nous allons donc maintenant nous occuper de l’enrobage: l’interface Web d’administration Centreon.

PART 1 – Installation du système d’exploitation GNU/Linux
PART 2 – Installation de Nagios
PART 3 – Installation de Centreon
PART 4 – Installation de Cacti

Centreon offre à Nagios une nouvelle interface et lui apporte de nouvelles fonctionnalités. Il va rendre la configuration de Nagios plus facile et d’avoir une interface graphique améliorée. C’est une interface qui pour moi n’est pas obligatoire mais qui peut s’avérer utile dans certains cas:

  • si une équipe doit gérer le serveur Nagios, il sera plus facile de les former en utilisant Centreon
  • si vous êtes allergique aux fichiers de configuration au format texte
  • si vous êtes un “accro” aux interfaces Web

Attention toutefois, Centreon va générer des fichiers de configuration de Nagios à sa manière. Vous allez donc perdre tout le contrôle sur ces fichiers… Bref si vous êtes un administrateur système soigneux, qui prend soit de commenter/archiver voir gérer en configuration ce type de fichiers, je vous conseille de passer votre chemin et d’attendre le prochain billet de cette série.

Catégories
Nagios Open-source Reseau Systeme

Le serveur de supervision libre – PART 2

Attention:

avant de suivre ce tutoriel, il faut avoir effectuer toutes les étapes
de la première partie de tutoriel (PART1) qui est disponible ici.

Actuellement le couple NDO / Centreon n’est pas compatible avec Nagios 4.

Dans un premier billet, nous avons installé un serveur GNU/Linux. Il est maintenant temps de passer au chose sérieuse en installant le coeur de notre système: Nagios.

A l’heure ou je rédige ce billet, la dernière version de Nagios est la 3.5.1, hors si on regarde la version disponible dans les packages apt d’Ubuntu, on voit qu’ils sont un peu en retard au niveau des version. C’est donc pour cette raison que je préfère compiler Nagios depuis les sources afin de disposer de la dernière version sur notre serveur de supervision.

Catégories
Nagios Open-source Reseau Systeme

Le serveur de supervision libre – PART 1

Cela fait maintenant un petit moment que ce blog existe. Il aborde bien des sujets autours des logiciels libres mais il y en a un qui suscite plus d’intérêt que les autres: la supervision système et réseau. La complexité de ces logiciels et la faible documentation Francophone (bien que ce soit en train de changer) y est surement pour quelque chose.

Je propose donc de commencer une série de billets sur l’installation d’un serveur de supervision basé uniquement sur des solutions libres.

PART 1 – Installation du système d’exploitation GNU/Linux
PART 2 – Installation de Nagios
PART 3 – Installation de Centreon
PART 4 – Installation de Cacti

Les caractéristiques de ce serveur seront les suivantes:

  • Système d’exploitation: GNU/Linux Ubuntu Server Edition 8.10 ou supérieure
  • Nagios 3.4.1
  • Centreon 2.3.8
  • Cacti 0.8.7i

Trêve de blabla, entrons directement dans le vif du sujet avec l’installation du système d’exploitation et des pré-requis systèmes qui vont servir de base à notre serveur de supervision.

Catégories
Open-source Planet-libre Systeme

Un serveur FTP en 5 minutes chrono

Nous allons dans ce billet détailler l’installation d’un serveur FTP sur une machine tournant sous Ubuntu 10.04 (la procédure marche aussi sur d’autres versions). Le serveur FTP choisi est Pure-ftpd (je l’utilisai déjà sous FreeBSD et il est d’une stabilité à toutes épreuves).

> top chrono

Installation de Pure-ftpd

Il y a plus dur:

sudo apt-get install pure-ftpd pure-ftpd-common

Suite à cette commande, le serveur FTP sera lancé automatiquement. L’ensemble des fichiers de configuration de Pure-ftpd se trouve dans le répertoire suivant: /etc/pure-ftpd/

Il faut ensuite créer l’utilisateur/groupe système avec lequel le serveur FTP sera lancé:

sudo groupadd ftpgroup

sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Configuration de Pure-ftpd

De base, Pure-ftpd base son authentification sur le PAM système puis sur un fichier de donnée interne. Personnellement et pour des raisons de sécurité, je préfère désactiver l’authentification par PAM. Pour cela il faut éditer le fichier conf/PAMAuthentication et remplacer la ligne yes par no:

# sudo vi /etc/pure-ftpd/conf/PAMAuthentication

no

# sudo vi /etc/pure-ftpd/conf/DontResolve

yes

Pour finir, il faut créer un lien symbolique pour activer l’authentification des utilisateurs virtuels :

# cd /etc/pure-ftpd/auth/

# sudo ln -s ../conf/PureDB 50puredb

Création d’un utilisateur FTP

Par exemple si vous voulez créer l’utilisateur ftp nicolargo dont le répertoire sera /home/ftp/nicolargo, il faut saisir les commandes suivantes:

sudo mkdir /home/ftp/nicolargo

sudo chown -R ftpuser:ftpgroup /home/ftp/nicolargo

sudo pure-pw useradd nicolargo -u ftpuser -g ftpgroup -d /home/ftp/nicolargo

Ces commandes vont avoir comme buts de créer un répertoire local puis de renseigner le fichier de configuration de Pure-ftp: /etc/pure-ftpd/pureftpd.passwd:

# sudo cat /etc/pure-ftpd/pureftpd.passwd

nicolargo:$1$ucgVifA0$HFoang9VssnUnErD3X4bj1:1001:1001::/home/ftp/nicolargo/./::::::::::::

Enfin il faut transofrmer ce fichier dans un format sécurisé et lisible par le serveur FTP (/etc/pure-ftpd/pureftpd.pdb):

sudo pure-pw mkdb

On relance alors le serveur pour que la configuration soit prse en compte:

sudo /etc/init.d/pure-ftpd restart

< fin du chrono ! (5 minutes !!! :))

Quelques commandes utiles…

Voici quelques commandes utiles à l’administration de votre serveur FTP.

Pour configurer le message affiché lors de la connexion des utilisateurs, il faut commencer par editer un fichier texte contenant le message:

# sudo vi /etc/motd.pure-ftpd

Bienvenue sur mon beau serveur FTP !

Puis ajouter le chemin de ce fichier dans le fichier /etc/pure-ftpd/conf/FortunesFile:

# sudo vi /etc/pure-ftpd/conf/FortunesFile

/etc/motd.pure-ftpd

Pour connaitre la liste des utilisateurs ayant un compte FTP:

# sudo pure-pw list

nicolargo /home/ftp/nicolargo

Pour changer le mot de passe d’un utilisateur:

sudo pure-pw passwd nicolargo

Pour supprimer le compte d’un utilisateur:

sudo pure-pw userdel nicolargo

Catégories
Open-source Systeme

MacPorts simplifie l’open-source sous Mac

macports-logo.pngvous le savez (ou pas), le système d’exploitation Mac Os X est basé sur un système Unix de type FreeBSD. Depuis le passage à une architecture de type Intel, il est donc théoriquement possible de compiler n’importe quel logiciel développé pour FreeBSD sur votre Mac.

La théorie étant souvent assez éloignée de la pratique, on se retrouve régulièrement avec des problèmes de compilation. Heureusement, il existe de bonnes âmes qui vous mâchent un peu le travail en « packagant » les sources des logiciels pour une complication sans souci. MacPorts est un projet de la communauté open-source visant à regrouper ces sources (il y en a plus de 5400 au moment de l’écriture de ce billet) tout en offrant un gestionnaire de paquets.

Nous allons voir comment installé les MacPorts sur votre machine sous Mac OS X puis donner quelques exemples de commande du gestionnaire de paquets.

Installation des MacPorts

Il existe plusieurs méthodes pour installer les MacPorts sur votre machine. La plus simple étant de télécharger l’image DMG (version 1.7.0 par exemple) puis de procéder à l’installation.

Attention: il faut que les pré-requis suivants soit installés sur votre machines:

  • Xcode version 3.1 (disponible sur le DVD d’installation de Mac OS X ou à télécharger ici.
  • X11 user + X11 SDK, également disponible sur le DVD d’installation de Mac OS X

Si vous avez déjà les MacPorts installés, pour les mettre à jour à la dernière version, il faut utiliser la commande suivante:

sudo port -v selfupdate

Utilisation des MacPorts

Nous n’allons pas faire un copier/coller de la documentation très complète disponible en ligne (en Anglais) mais juste donner quelques commandes pour débuter.

Liste des logiciels disponibles:

# port list

Liste des logiciels installés:

# port installed

Recherche un logiciel:

# port search iperf

iperf @2.0.4 (net)

A tool to measure maximum TCP and UDP bandwidth

Information sur un logiciel:

# port info iperf

iperf @2.0.4 (net)

Variants: universal

Iperf is a tool for measuring maximum TCP and UDP bandwidth, reminiscent of ttcp and nettest. It

has been written to overcome the shortcomings of those aging tools. Iperf can also test UDP

bandwidth, loss, and jitter.

Homepage: http://iperf.sourceforge.net

Platforms: darwin

Maintainers: pmq@macports.org

Installer un logiciel:

# sudo port install iperf

De-installer un logiciel:

# sudo port uninstall iperf

Vérifier si les logiciels installés sont à jour:

# port livecheck outdated

Mise à jour d’un logiciel:

# sudo port upgrade iperf

Mise à jour de l’ensemble des logiciels installés:

# sudo port upgrade outdated

Et voila, je vous invite à consulter le site officiel qui regorge d’information sur le projet. Si vous souhaitez y participer en intégrant vos développements (compatible Mac bien sûr…) aux MacPorts, il suffit de suivre la documentation suivante.

Catégories
Open-source Systeme

Installation de Nagios sur FreeBSD

FreeBSD étant, à mon humble avis, le meilleur « operating system » pour les fonctions réseaux, il était normal qu’un blog comme le mien s’intéresse à l’installation de Nagios, l’outil de supervision open-source, sur ce système.

Le but de ce tutoriel est d’installer Nagios version 3.0.6 sur un serveur FreeBSD 7.0. Je pars sur l’hypothèse ou le lecteur a des connaissances de bases sur FreeBSD.

Avant de commencer…

On s’assure que notre FreeBSD est à jour au niveau de l’arbre des ports (« port tree »).

portsnap fetch
portsnap update

On installe les pre-requis

Avant de se lancer dans l’installation de Nagios, un certain nombre de logiciels doivent être présent sur votre système.

Serveur et client – MySQL

Le serveur MySQL hébergera la base de donnée ou Nagios stockera les informations sur les réseaux supervisés.

cd /usr/ports/databases/mysql50-server
make
make install
make clean

cd /usr/ports/databases/mysql50-client
make
make install
make clean

cd /usr/ports/databases/mysql50-scripts
make
make install
make clean

On édite ensuite le fichier /etc/rc.conf pour y ajouter la ligne suivante:

mysql_enable= »YES »

Puis on lance le daemon:

/usr/local/etc/rc.d/mysql-server start

Enfin on effectue les configurations de base:

mysqladmin -u root password ‘votremotdepasse’

mysql -u root -p

mysql> DROP DATABASE test;

mysql> DELETE FROM mysql.user WHERE user =  »;

mysql> FLUSH PRIVILEGES;

Serveur Web – Lighttpd

J’ai choisi d’utiliser Lighttpd en lieu et place d’Apache pour hébérger l’interface Web de Nagios. En effet, ce seveur est moins gourmant et tout aussi rapide.

cd /usr/ports/www/lighttpd
make
make install
make clean

Pour une installation plus détaillée (avec support PHP), je vous conseille la lecture de ce billet (en Anglais).

On édite ensuite le fichier /etc/rc.conf pour y ajouter la ligne suivante:

lighttpd_enable= »YES »

On configure le serveur:

vi /usr/local/etc/lighttpd.conf

server.document-root        = « /usr/local/www/ »

# Nagios
alias.url =     (
« /nagios/cgi-bin » => « /usr/local/www/nagios/cgi-bin »,
« /nagios » => « /usr/local/www/nagios »
)

$HTTP[« url »] =~ « ^/nagios/cgi-bin » {
cgi.assign = ( «  » => «  » )
}

$HTTP["url"] =~ "^/nagios/cgi-bin" {
        auth.backend = "htpasswd"
        auth.backend.htpasswd.userfile = "/usr/local/etc/nagios/passwd"
        auth.require = ( "" => (
                "method" => "basic",
                "realm" => "nagios",
                "require" => "user=nagiosadmin"
                )
        )
}

$HTTP["url"] =~ "^/nagios" {
        auth.backend = "htpasswd"
        auth.backend.htpasswd.userfile = "/usr/local/etc/nagios/passwd"
        auth.require = ( "" => (
                "method" => "basic",
                "realm" => "nagios",
                "require" => "user=nagiosadmin"
                )
        )
}

Avant de lancer le serveur il faut créer le fichier de log avec les bon droits:

touch /var/log/lighttpd.error.log
chown www:www touch /var/log/lighttpd.error.log

touch /var/log/lighttpd.access.log
chown www:www /var/log/lighttpd.access.log

Puis on lance le daemon:

/usr/local/etc/rc.d/lighttpd start

La configuration de Lighttpd est la suivante par défaut:

  • Fichier de configuration: /usr/local/etc/lighttpd.conf
  • Emplacement par défaut du site (« document root ») : /usr/local/www/data/
  • Utilisateur et groupe avec lequel Lighttpd est lancé: www

Installation de Nagios à partir des ports

On doit dans un premier temps se rendre dans le répertoire /usr/port/net-mgmt/nagios. On vérifie la version que l’on va installer en consultant le fichier distinfo:

cd /usr/ports/net-mgmt/nagios
cat distinfo
MD5 (nagios-3.0.6.tar.gz) = 900e3f4164f4b2a18485420eeaefe812
SHA256 (nagios-3.0.6.tar.gz) = bedeb2c1ffbf7525ec19ac84a66bad60a19d2b0544cbf050a53bfc363c09bb22
SIZE (nagios-3.0.6.tar.gz) = 2735504

On lance ensuite l’installation du serveur et des plugins Nagios:

cd /usr/port/net-mgmt/nagios
make WITH_MYSQL= »YES »
> EMBEDDED_PERL = X
make install
make clean

cd /usr/port/net-mgmt/nagios-plugins
make
make install

On édite ensuite le fichier /etc/rc.conf pour y ajouter la ligne suivante:

nagios_enable= »YES »

La configuration initiale est la suivante:

  • Script de démarrage du service Nagios: /usr/local/etc/rc.d/nagios
  • Localisation du serveur (executable): /usr/local/bin/nagios
  • Répertoire de configuration: /usr/local/etc/nagios
  • Répertoire des plugins: /usr/local/libexec/nagios
  • Répertoire racine pour le service Web: /usr/local/www/nagios

Avant de lancer le serveur, il faut aller dans le répertoire de configuration et configurer votre serveur en fonction de vos besoins. Vous pouvez lire le billet suivant pour vous aider.

Une fois la configuration faite et validée par la commande suivante:

/usr/local/bin/nagios -v /usr/local/etc/nagios/nagios.cfg

Total Warnings: 0
Total Errors: 0

Il faut ensuite créer le fichier passwd préhalablement configuré dans Lighttpd:

cd /usr/ports/www/rubygem-htauth
make
make install
make clean

htpasswd-ruby -c /usr/local/etc/nagios/passwd admin

Enfin on lance le daemon Nagios:

/usr/local/etc/rc.d/nagios start

Vous pouvez tester le tout en utilisant un navigateur Web et en saisissant l’URL: http://<adresseIPduserveur>/nagios/

Et voili, c’est beau, c’est stable, c’est simple, c’est BSD !!!

Quelques commandes pour finir

Vérifier la syntaxe des fichiers de configurations:

/usr/local/bin/nagios -v /usr/local/etc/nagios/nagios.cfg

Arrêter le daemon Nagios:

/usr/local/etc/rc.d/nagios start

Relancer le daemon Nagios:

/usr/local/etc/rc.d/nagios restart

Catégories
Open-source Systeme

Tester d’autres OS à partir d’une clès USB

Si vous aimez tester d’autres systèmes d’exploitation, UNetBootIn va sûrement vous intéresser. Ce logiciel open-source disponible sous Linux ou Windows (XP ou Vista) automatise la création d’une live-usbkey. Il prend en entré une liste d' »operating system » (de Linux Mint à FreeBSD) ou bien un fichier ISO et va construire pour vous une clès USB live. Il ne restera plus qu’à booter sur ce support pour tester le système en question sur votre PC.

Installation du logiciel UNetBootIn

Sous Windows, il faut récuperer l’éxecutable ici.

Sous Linux, c’est par (ne pas oublier de le rendre executable avec une bonne veille commande):

chmod +x unetbootin-linux-200

Sur ma distribution Ubuntu 8.10, j’ai également dû installer le package p7zip-full:

sudo apt-get install p7zip-full

Lancement et utilisation du logiciel

On double clique sur l’exécutable, l’écran suivant devrait s’afficher:

Image 1.png

Il ne reste plus qu’a:

  • sélectionner l’OS parmi la liste
  • sélectionner la version de l’OS
  • sélectionner le disque USB (clès, disque dur externe…) cible
  • cliquer sur OK

Image 1.png

Enfin, il ne reste plus qu’a redémarrer votre machine, sélectionner dans le bios un boot sur la clés USB et… utiliser le nouvel OS !

Du vrai bonheur en barre ce logiciel 🙂

Catégories
Open-source Planet-libre Systeme

Configuration X pour moniteur HP LP2465

Update

Autre méthode si celle ci-dessous ne fonctionne pas:

1) Supprimer le fichier xorg.conf, puis le remplacer par:

Section « Monitor »

Identifier      « Configured Monitor »

EndSection

Section « Screen »

Identifier      « Default Screen »

Monitor         « Configured Monitor »

Device          « Configured Video Device »

SubSection « Display »

Virtual 1920 1200

EndSubSection

EndSection

Section « Device »

Identifier      « Configured Video Device »

EndSection

2) Editer le fichier ~/.xprofile avec le contenu suivant:

xrandr –newmode « 1920x1200_60.00 »  193.16  1920 2048 2256 2592  1200 1201 1204 1242  -HSync +Vsync

xrandr –addmode VGA1 1920x1200_60.00

xrandr –output VGA1 –mode 1920x1200_60.00

/Update

Hier après midi, j’ai passé un bon petit moment à configurer le serveur X d’une de mes machines Ubuntu connectée à un moniteur HP LP2465. En effet, ce dernier est assez sensible à la configuration des fréquences qui se trouve dans le fichier /etc/X11/xorg.conf.

Voici donc le fichier en question avec une configuration fonctionnelle pour une résolution adapté à la dalle de ce moniteur (1920×1200 à 60Hz):

Section « Monitor »
Identifier    « Configured Monitor »
ModelName    « HP LP2465 »
Option        « DPMS »
HorizSync    30.0-92.0
VertRefresh    48.0-85.0
ModeLine    « 1920×1200@60 » 193.16 1920 2048 2256 2592 1200 1201 1204 1242 -hsync +vsync
EndSection

Section « Screen »
Identifier    « Default Screen »
Monitor        « Configured Monitor »
Device        « Configured Video Device »
DefaultDepth    24

SubSection « Display »
Depth    24
Virtual    1920 1200
Modes    « 1920×1200@60 »
EndSubSection
EndSection

Section « Module »

Load      « dri »

Load        « glx »

EndSection

Section « Device »
Identifier    « Configured Video Device »
Driver        « nvidia »
Option        « NoLogo »    « True »
EndSection

Si cela peut aider d’autres Linuxiens…

Catégories
Open-source Systeme

Modification des metas d’un fichier OGG

En recherchant un moyen simple et modulable (en ligne de commande donc ;)) pour modifier les metas tags des fichiers au format OGG (Theora/vorbis and co), je suis tombé sur le script suivant: tagtheora (sous licence GPL).

Il prend en entrée un fichier OGG et un certain nombre de paramètres comme:tagtheora.png

–title TITLE

–artist ARTIST

–album ALBUM

–license LICENSE

–copyright COPYRIGHT

–date DATE

–location LOCATION

–organization ORGANIZATION

–comment COMMENT

En sortie, on a le même fichier mais avec les metas données fixés.

Installation

Il faut suivre les étapes suivantes (sous Ubuntu):

cd /usr/src/

sudo apt-get install python-mutagen

sudo wget http://open-source.ecchi.ca/source/tagtheora0.2.1.tar.gz

sudo tar zxvf tagtheora0.2.1.tar.gz

cd tagtheora/

sudo cp tagtheora.py /usr/local/bin

Utilisation (exemples)

Pour ajouter un titre dans une vidéo, il suffit de saisir la commande suivante:

tagtheora.py –title « Big Buck bunny » hd-big_buck_bunny.ogg

Pour voir la listes des metats tags d’un fichier, on peut utiliser la commande:

tagtheora.py –show hd-big_buck_bunny.ogg

>>> title: Big Buck bunny

Et voilà, un petit script de plus à garder sous le coude<.p>