Catégories
Developpement Open-source Planet-libre

Comment construire un .deb pour Ubuntu

Voici une procédure (assez longue) permettant de générer un .deb (format de package compatible avec l’OS Ubuntu) pouvant être mis sur un depot officiel. Ce billet s’inspire très fortement de ce forum.

Avant de commencer…

Il faut installer les pré-requis suivants:

sudo aptitude install build-essential autoconf automake autotools-dev dh-make debhelper devscripts fakeroot xutils lintian pbuilder

Ensuite on créé l’arborescence suivante dans votre répertoire racine:

cd ~
mkdir packages
cd packages

Création de notre premier package .deb

On doit dans un premier temps récupérer les sources du logiciel à packager (sjitter dans mon exemple):

wget http://fastbull.dl.sourceforge.net/sourceforge/sjitter/sjitter-0.18.1b.tgz
tar zxvf sjitter-0.18.1b.tgz

Le nom du répertoire contenant les sources doit être de la forme nom-version:

mv sjitter sjitter-0.18.1b

On créé un sous répertoire sjitter dans lequel on met l’archive et les sources:

mkdir sjitter
mv sjitter-0.18.1b sjitter-0.18.1b.tgz sjitter

Pour vérifier, le contenu du répertoire de travail doit être le suivant:

# ls -l ~/packages/sjitter
sjitter-0.18.1b
sjitter-0.18.1b.tgz

On va dans le répertoire source:

cd sjitter/sjitter-0.18.1b

Puis on lance la commande:

dh_make -e nicolas@nospam.com -c GPL -f ../sjitter-0.18.1b.tgz
> s
Maintainer name : unknown
Email-Address   : nicolas@nospam.com
Date            : Wed, 27 May 2009 11:52:00 +0000
Package Name    : sjitter
Version         : 0.18.1b
License         : blank
Type of Package : Single
> ENTER

A la première question, il faut répondre:

s = [single binary] – si c’est package normal
l = [library] – si c’est une librairie de dev
m
= [multiple] – si c’est un package comprenant plusieurs binaires
k
= [kernel module] – si c’est module noyau

On va alors dans le sous répertoire debian créé par le programme dh_make:

cd debian

Puis on édite le fichier control:

# vi control
Source: sjitter
Section: net
Priority: extra
Maintainer: Nicolas Hennion <nicolas@nospam.com>
Build-Depends: debhelper (>= 5), autotools-dev
Standards-Version: 3.7.2

Package: sjitter
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Sjitter is a client/server performing tool.
Sjitter is a command line client/server to measure jitter (based on RFC 1889), one way UDP delay and bandwidth. The client and the server’s date should be synchronise to compute the jitter. You can use the NTP protocol to do this.

Avec:
Ligne 1: Nom du projet
Ligne 2: Section à laquelle appartient le projet (voir la des sections disponible ici)
Ligne 3: Laisse la valeur par défaut
Ligne 4: Nom et adresse mail du mainteneur du package
Ligne 5: Il faut y mettre les dépendances finissants par -dev
Ligne 6: Laisse la valeur par défaut
Ligne 7: Vide
Ligne 8: Mettre la même chose qu’en ligne 1
Ligne 9: Architecture cible (any pour toutes)
Ligne 10: Il faut y mettre les dépendances ne finissants pas par -dev
Ligne 11: Description courte du projet (< à 60 caractères)
Ligne 12->n: Description longue (attention à laisser un espace avant votre description)

Puis le fichier changelog:

# vi changelog
sjitter (0.18.1b) maverick; urgency=low

* Version 0.18 (23/03/2009), thanks to Thierry Legras

— Nicolas Hennion <nicolas@nospam.com>  Wed, 27 May 2009 11:52:00 +0000

Avec:
Ligne 1: Nom du package et version d’Ubuntu (maverick dans mon exemple)
Ligne 2: Vide
Ligne 3->n: Liste des changements de cette version
Ligne n+1: Vide
Ligne n+2: Nom, adresse mail et date (attention, il faut mettre votre nom / adresse comme configuré dans Launchpad)

Le fichier copyright:

# vi copyright
This package was debianized by Nicolas Hennion <nicolas@nicolargo.com> on
Wed, 27 May 2009 11:52:00 +0000.

It was downloaded from http://fastbull.dl.sourceforge.net/sourceforge/sjitter/sjitter-0.18.1b.tgz

Upstream Author(s): Nicolas Hennion <nicolas@nicolargo.com>

License: This script is written under the GNU General Public License.

Avec:
Ligne 1: Nom et adresse de l’auteur du package
Ligne 2: Date
Ligne 3: Vide
Ligne 4: A partir de quel source le package a été généré
Ligne 5: Vide
Ligne 6->n: Les auteurs du logiciel (copie du fichier ../AUTHORS)
Ligne n+1: Vide
Ligne n+2->m: Licence sous laquelle le logiciel est distribué (conformément à la volonté de l’auteur)
Ligne m+1: Vide (optionnel)
Ligne m+2: Licence complète (optionnel)


Il y a ensuite certains fichiers optionnels à configurer. Si ils ne sont pas utiles pour votre logiciel, il faut les supprimer.

README.debian: Informations complémentaires sur le logiciel (non présentes dans les autres fichiers)
emacsen-*.ex: Fichier Emacs pouvant être compilé à l’installation
init.d.ex: Si votre logiciel doit se lancer en mode daemon, c’est dans ce fichier qu’il faut écrire le script init.d
manpage.1.ex, manpage.sgml.ex: Fichiers de man (aide)
preinst.ex: Script à lancer avant l’installation
postinst.ex: Script à lancer après l’installation
prerm.ex: Script à lancer avant la désinstallation
postrm.ex: Script à lancer après la désinstallation

On peut ensuite lancer la génération du fichier .deb

cd ..
debuild -S -k_CLES_

Il faut remplacer _CLES_ par votre clés Launchpad (liste des clés: gpg –list-keys).

Si tout se passe sans problème, vous devriez vous retrouver avec les fichiers suivant dans le répertoire ~/packages/sjitter/:

sjitter_0.18.1b-1.diff.gz: Changement entre .deb et les sources originales
sjitter_0.18.1b-1.dsc: Fichier permettant aux mainteneurs des repos de suivre ce package
sjitter_0.18.1b-1_source.changes: Le changelog (liste des changements)
sjitter_0.18.1b-1_source.deb: Le package au format .deb
sjitter_0.18.1b.orig.tar.gz: Les sources originales

Et voilà, vous venez de faire votre premier package Ubuntu, il ne reste plus qu’a le soumettre à la communauté.

Par exemple pour soumettre votre package sur Launchpad:

dput ppa:nicolashennion/ppa sjitter_0.18.1b-1_source.changes

Et hop…

Catégories
Developpement Open-source Systeme

Installation d’un serveur SVN sous Ubuntu

Le but de ce billet est de mettre en place un serveur de gestion de versions basée sur SVN+SSH.

On commence par installer le package subversion qui comprend à la fois le client et le serveur SVN.

# sudo svn update
# sudo apt-get install subversion

on créé un utilisateur et un groupe générique svn.

# sudo adduser svn
Adding user `svn’ …
Adding new group `svn’ (1000) …
Adding new user `svn’ (1001) with group `svn’ …
Creating home directory `/home/svn’ …
Copying files from `/etc/skel’ …
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for svn
Enter the new value, or press ENTER for the default
Full Name []: SVN
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [y/N] y

Pour des questions de sécurité, je vous conseille de désactiver le SHELL pour cet utilisateur:

# sudo vipw
svn:x:1001:1000:SVN,,,:/home/svn:/usr/sbin/nologin

Si vous souhaitez accéder à votre serveur SVN avec un compte unix bien précis, il faut ajouter le login de ce compte au groupe svn:

# sudo vigr
svn:x:1000:nicolargo

Puis on créé un répertoire ou seront stockées les sources de vos programmes.

# sudo mkdir /var/svn

Il faut ensuite demander à SVN de créer un répertoire SVN pour notre projet:

# sudo svnadmin create /var/svn/projet

Puis de changer les droits:

# sudo chown -R svn:svn /var/svn
# sudo chmod -R 775 /var/svn

Il ne reste plus qu’a tester votre serveur à partir d’une machine distante en « important » votre projet (dont les sources sont localisées dans le répertoire ~/projet pour illustrer ce billet).

Avant l’importation, on va créer la structure classique de SVN:

projet
– trunk
– branches
– tags

client# svn mkdir –parents  svn+ssh://nicolargo@monserveur/var/svn/projet/trunk -m «  »
client# svn mkdir –parents  svn+ssh://nicolargo@monserveur/var/svn/projet/tags -m «  »
client# svn mkdir –parents  svn+ssh://nicolargo@monserveur/var/svn/projet/branches -m «  »

Puis on importe les sources:

client# cd ~/projet
client# svn import . svn+ssh://nicolargo@monserveur/var/svn/projet/trunk -m « Premiere importation »
nicolargo@monserveur’s password:

Révision 0 propagée.

Il ne reste plus qu’a tester l’exportation des sources:

client# cd ~
client# mv projet projet.init
client# svn co svn+ssh://nicolargo@monserveur/var/svn/projet/trunk projet

Révision 0 extraite.

Pour aller plus loin dans l’utilisation de votre nouveau serveur SVN, je vous conseille le très bon article de Ulhume sur son non-blog…(remplacer juste http:// par svn+ssh://)

Catégories
Developpement Gstreamer Open-source

Compilation d’une application GStreamer

Voici la procédure à suivre pour compiler un programme C utilisant le framework GStreamer sur une distribution GNU/Linux Ubuntu.

Installation des librairies

On commence par installer les packages suivants:

sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libxml2-dev

Puis on créer les liens symboliques suivants:

sudo ln -s /usr/include/gstreamer-0.10/gst /usr/include/gst
sudo ln -s /usr/include/libxml2/libxml /usr/include/libxml

Compilation de HelloGStreamer.c

Prenons en exemple le fichier hellogstreamer.c contenant le code ci-dessous (source ici):

#include <gst/gst.h>

int
main (int   argc,
      char *argv[])
{
  const gchar *nano_str;
  guint major, minor, micro, nano;

  gst_init (&argc, &argv);

  gst_version (&major, &minor, &micro, &nano);

  if (nano == 1)
    nano_str = « (CVS) »;
  else if (nano == 2)
    nano_str = « (Prerelease) »;
  else
    nano_str = «  »;

  printf (« This program is linked against GStreamer %d.%d.%d %s\n »,
          major, minor, micro, nano_str);

  return 0;
}

La compilation devra se faire via la commande suivante:

gcc `pkg-config –cflags –libs gstreamer-0.10` hellogstreamer.c -o hellogstreamer

Le résultat de l’exécution du programme hellogstreamer devrait alors donner:

# ./hellogstreamer
GStreamer version 0.10.22

A vous les beaux programmes utilisant ce superbe framework multimedia.

Catégories
Developpement Open-source Systeme

Installation de Java 1.6 sous Debian et Ubuntu

Si comme moi vous devez faire tourner des applications seulement compatible avec Java 6 (c’est à dire Java 1.6) sur vos machines Debian et Ubuntu, et que vous n'avez pas de masters java en poche, la petite procédure suivante devrait vous être utile. En effet, ces deux distributions sont, à l’heure de l’écriture de ce billet, livré par défaut avec la version 1.5. Nous allons voir comment installer la JDK de Sun et la faire prendre par défaut par le système.

Installation de Sun Java 1.6

Pour installer la JRE (seulement pour l’exécution de programme Java):

sudo apt-get install  sun-java6-jre

Pour installer et compiler (bref pour les developpeurs):

sudo apt-get install sun-java6-sdk

Pour rendre Sun Java 1.6, la JVM par défaut

La commande est la même sur les deux distributions (Ubuntu et Debian):

sudo update-alternatives –config java

> Puis choisir /usr/lib/jvm/java-6-sun/jre/bin/java

On vérifie que tout est ok:

# java -version

java version « 1.6.0_12″

Et voili…

Catégories
Developpement

Comment développer sur l’iPhone

O’Reilly, mon éditeur préféré, propose un nouvel ouvrage qui va intéresser plus d’un Geek/développeur.  « iPhone SDK » est un ouvrage complet sur le développement d’applications pour le téléphone vedette de la société Apple ce qui peut également intéressé ceux qui recherchent un emploi de game designer.

Le bouquin est en Anglais et voici une description détaillé (source O’Reilly):

This practical book offers programmers the knowledge and code they need
to create cutting-edge mobile applications, using Apple’s iPhone SDK.
The iPhone is one of the hottest new pieces of technology: a fully
functional portable Unix operating system with the most advanced
handheld user interface in existence. iPhone SDK Application Development
covers development environment for both the iPhone and iPod Touch, from
windows and navigation bars to more advanced layers of the iPhone SDK,
such as screen transitions, low-level graphics rendering using
CoreSurface, the MultiTouch API, and digital sound and music rendering
with Celestial and CoreAudio. With this book, you will:

  • Understand how the iPhone works internally, with a complete introduction to the technology
  • Learn how different iPhone components interact with each other
  • Use your existing Mac OS X development skills by understanding the similarities between iPhone and Mac OS X Leopard
  • Learn about the iPhone-specific APIs, such as the user interface, to develop custom iPhone applications
  • Get code examples to help you write various features of your application


With iPhone SDK Application Development, you’ll learn how to create effective iPhone applications and games with the same tools Apple uses.

Bon dev 😉

Catégories
Developpement

Je recherche un stagiaire !

Dans le cadre de mon activité professionnelle, je recherche un stagiaire (ayant une convention de stage ingénieur dernière année) avec un profil de développeur Java. Il intégrera une équipe dynamique dans une grande entreprise Française. Le stage se déroule dans les Alpes-Maritimes.

Le sujet du stage et toutes les informations pour porter candidature se trouve à l’adresse suivante (référence du stage à saisir: DSP969).

Catégories
Developpement Open-source

Installation pas à pas d’Eclipse sous GNU/Linux

Je ne sais pas vous mais l’installation et la configuration d’Eclipse (l’environnement de développement libre par référence) en utilisant les « repos apt » d’Ubuntu est toujours un grand moment de solitude. Il n’y a qu’a voir le peu de clarté de la page de documentation sur Ubuntu-fr pour s’en rendre compte.

Nous allons donc essayé de détailler l’installation d’une version récente d’Eclipse (3.4.1 au moment de l’écriture de ce billet) sur une distibution Ubuntu 8.10.

Avant de commencer…

Eclipse est devenu avec le temps et le succès une boîte à outil comportant de nombreux modules permettant de le customiser en fonctions de vos besoins. Par exemple, un développeur Java n’aura pas forcement besoin des mêmes outils qu’un développeur C…

Eclipse propose donc des installateurs pre-packagés. Pour choisir celui qui vous convient le mieux, ce tableau pourra vous aider.

Il faut ensuite se rendre sur cette page et sélectionner le package/operating system adapté à vos besoins.

Dans la suite de ce billet, je prendrai comme package de référence: « Eclipse IDE for C/C++ Developers » (et oui je suis de la vieille école ;)) pour Linux/32 bits.

Installation d’Eclipse

On commence par télécharger le package dans le répertoire /usr/src (l’archive au format tar.gz fait environ 68 Mo pour cette version).

cd /opt

sudo tar zxvf /usr/src/eclipse-cpp-ganymede-SR1-linux-gtk.tar.gz

cd /opt/eclipse

sudo wget http://www.bearfruit.org/files/eclipse-icon-clean.svg

Il faut ensuite créer un nouveau lanceur dans le menu Applications de Gnome:

  • bouton droit sur le « menu Applications »
  • « Editer les menus »
  • menu « Programmation »
  • Click sur « + Nouvel élément »

Il ne reste plus qu’a lancer l’application via le menu « Applications/Programmation/Eclipse ».

Ajout de nouveaux plugins

Plugin SVN (Subeclipse)

Pour le versionning SVN est le remplacant de CVS. Il faut installer un plugin complémentaire pour qu’Elipse puisse aller chercher des sources sur un serveur SVN.

Pour installer le plugin SVN Subeclipse, j’ai suivi ce tutoriel.

Liste des plugins à installer sur ce screenshot:
Subeclipse

Plugin PHP (PDT)

J’ai parfois la faiblesse de coder en Perl/PHP, là aussi ces languages nécessitent l’installation de plugins (PDT pour PHP et EPIC pour Perl).

J’ai suivi ce tutoriel pour l’installation de PDT 2.0 et celui-ci pour EPIC.

Catégories
Developpement Open-source

Comment utiliser SourceForge

SourceForge.net_ Project Documentation.jpg

Un des fondement de l’open-source est le partage. SourceForge.net est un service Web mettant à disposition des développeurs libres tout un tas d’outils leurs permettant de partager le fruit de leur travail.

Nous allons dans ce billet voir comment créer un nouveau projet, pour mettre à disposition de la communauté Internet:

  • Création d’un compte pour un développeur
  • Ajout d’un nouveau projet (description, lien vers la page Web du projet…)
  • Ajouts de fichiers (sources, binaires, docs) dans le projet
  • Création d’une arborescence des sources sur le serveur SVN du projet

Création d’un compte utilisateur sous SourceForge

C’est la première étape: créer votre identité numérique (compte) sous SourceForge.

Ce compte vous permettra de vous identifié auprès de SourceForge. Il est bien sûr possible de créer plusieurs projets sous un même compte.

Par exemple, mon compte est le suivant: nicolargo

SourceForge.net_ Developer Profile.jpg

Création d’un nouveau projet sous SourceForge

Après s’être authentifié avec votre compte, un lien permettant la création d’un nouveau projet sera présent sur la page principale:

SourceForge.net_ Open Source Software.jpg .

Vous allez alors être guidé par un assistant comportant 4 étapes. La première consiste à saisir les informations générales (type de projet, nom, descriptions…). C’est une étape très importante. En effet, la description du projet est un des critère regardé par les administrateurs pour accepter ou non l’hébergement de votre projet.

La seconde étape vous permet de sélectionner le type de licence libre appliqué à votre projet.

La troisième est un peu plus laborieuse puisqu’il faut associé des catégories aussi diverses que variés à votre projet.

Enfin, la dernière étape consiste à accepter le contrat d’utilisation de SourceForge.

Les administrateurs de SourceForge sont assez pointilleux sur la qualité des projets hébergés (ce qui n’est pas plus mal…). Ainsi, après création, il faudra attendre entre 24 et 48h avant de pouvoir utiliser ce nouveau projet (si ce dernier est accepté).

Importation de fichiers associés à votre nouveau projet SourceForge

Une fois accepté, votre projet est une coquille vide ne comportant qu’une description. Sous Sourceforge, chaque projet est accessible depuis une URL dédiée: https://sourceforge.net/projects/<nomduprojet>/

La première chose à faire est de proposer aux utilisateurs qui tomberaient sur votre projet quelques chose à télécharger (source ou binaire peut importe). Pour cela, il faut se rendre dans le menu Admin/File Releases.

SourceForge.net_ Xyz2Lla.jpg

On clique ensuite sur le lien Add Release, puis on entre le numéro/nom de version du fichier à proposer en téléchargement et enfin on clique sur le bouton Create this release.

Après avoir saisi les descriptions (notes et change log) pour cette version, il faut ajouter le fichier sur le serveur (Add files to this release). Plusieurs solutions sont possibles (Web upload, WebDav, SFTP, RSYNC) . Personnellement j’utilise SFTP. Par exemple, si je veux envoyer le fichier projet.tgz sur le serveur SourceForge, j’utilise les commandes suivantes:

sftp <compte>@frs.sourceforge.net

Connecting to frs.sourceforge.net…

The authenticity of host ‘frs.sourceforge.net (216.34.181.57)’ can’t be established.

RSA key fingerprint is 68:b3:26:02:a0:07:e4:78:d4:ec:7f:2f:6a:4d:32:c5.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added ‘frs.sourceforge.net,216.34.181.57’ (RSA) to the list of known hosts.

<compte>@frs.sourceforge.net’s password:

sftp> cd uploads

sftp> put projet.tgz

Uploading projet.tgz to /incoming/<…>/uploads/projet.tgz

projet.tgz 100% 241 0.2KB/s 00:01

sftp> exit

Une fois le fichier « uploadé » sur le serveur, il faut revenir à la page ou l’on a saisi les descriptions de la version et cliquer sur le bouton Add files and/or Refresh view. Le nom du fichier devrait apparaître, il reste à le sélectionner puis à cliquer une seconde fois sur le bouton Add files and/or Refresh view.

De retour sur la page du projet (https://sourceforge.net/projects/<nomduprojet>/), vous devriez voir apparaître le lien vers la page de téléchargement:

SourceForge.net_ Xyz2Lla.jpg

Ces opérations sont à refaire pour chaque nouvelles versions de votre logiciel.

Il est également possible, si votre projet dispose d’une page Web dédié, d’ajouter un lien vers cette page à partir de SourceForge. Pour cela, il faut se rendre dans le menu Admin/Shell-DB-Web:

SourceForge.net_ Xyz2Lla.jpg

Puis saisir l’URL de votre page Web dans le champ: Project Home Page URL, suivi d’un clique sur le bouton Update.

Partager ces sources dans le SVN SourceForge

SVN est un système de gestion de configuration permettant de travailler seul ou à plusieurs sur un code dont les sources sont centralisé sur un serveur. Sourceforge propose un serveur SVN pour votre projet.

Par défaut, seul CVS (un autre système de gestion de configuration) est activé. Pour activé SVN, il faut se rendre dans le menu Admin/Subversion.

SourceForge.net_ Xyz2Lla.jpg

Puis activer le radio bouton « enable subversion » puis cliquer le bouton Update.

L’accès à votre répertoire SVN se fera par l’URL suivante (à configurer dans votre environnement de développement favori, Eclipse par exemple…):

https://<nomduprojet>.svn.sourceforge.net/svnroot/<nomduprojet>

La première importation de vos sources peut se faire avec la commande suivante. Par exemple si vous voulez importer les sources d’un projet se trouvant dans le répertoire local /home/nicolargo/dev/projet:

cd /home/nicolargo/dev

svn import projet https://<nomduprojet>.svn.sourceforge.net/svnroot/<nomduprojet>

Vous pouvez vérifier l’mportation avec la commande suivante:

svn list https://<nomduprojet>.svn.sourceforge.net/svnroot/<nomduprojet>

Conclusion

On vient juste de voir une infime partie des services proposés par SourceForge. Pour aller plus loin vous pouvez consulter la documentation officielle (en Anglais uniquement à l’heure actuelle…).

Catégories
Developpement Open-source Reseau

Lier Cacti et Nagios

Si vous suivez régulièrement ce blog, vous savez que Nagios et Cacti sont deux logiciels libres que je suis tout particulièrement de part mes activités professionnelles. Je cherchais depuis un moment un moyen simple et efficace pour pouvoir accéder aux graphes de Cacti à partir de l’interface de Nagios.

Ne trouvant rien de concluent sur le Web, j’ai décidé de coder un petit script PHP, nommé CactiPlug.php, permettant d’ajouter cette fonction à Nagios.

Mises à jour:

  • Amélioration de J.Montanard, le plugin est disponible en version 0.21.
  • Grâce à la contribution de Dennis Yusupoff, le plugin est maintenant disponible en version 0.2.

Concrètement cela donne quoi ?

Et bien la possibilité d’ajouter automatiquement un lien vers Cacti depuis l’interface Web de Nagios. Il suffit donc juste de cliquer sur un bouton (Image 1.png ) pour être redirigé automatiquement vers la page correspondante au host en question dans Cacti.

Nagios.jpg Cacti.jpg

Comment marche le hack CactiPlug.php ?

On utilise la macro « action_url » dans la définition du host (ou mieux du template associé au host) que l’on défini avec la valeur suivante:


action_url /nagios/cactiplug/cactiplug.php?ip=$HOSTADDRESS

Quand on clique sur le bouton (Image 1.png ), le script cactiplug.php est appelé. Ce dernier va prendre en paramètre l’adresse IP du host (macro $HOSTADDRESS) et interroger directement la base de donnée MySQL de Cacti pour obtenir l’URL de la page Cacti correspondante.

Installation de cactiPlug.php

L’installation donnée ci-dessous a été validé avec Nagios 3.2 et Cacti 0.8.7.

La première chose à faire est de télécharger le script cactiplug.

# wget https://raw.github.com/nicolargo/cactiplug/master/cactiplug.php

Puis ensuite de saisir les commandes suivantes:

# mkdir /usr/local/nagios/share/cactiplug

# cp cactiplug.php /usr/local/nagios/share/cactiplug

# chown -R nagios:nagios /usr/local/nagios/share/cactiplug

Ensuite il faut configurer Nagios pour qu’il prenne en compte le plugin. Le plus simple est d’ajouter la ligne suivante dans le template generic_host du fichier template.cfg (voir ici vous êtes perdu dans les fichiers de conf de Nagios).

define host{

name generic-host

notifications_enabled 1

event_handler_enabled 1

flap_detection_enabled 1

failure_prediction_enabled 1

process_perf_data 1

retain_status_information 1

retain_nonstatus_information 1

notification_period 24×7

register 0

action_url /nagios/cactiplug/cactiplug.php?ip=$HOSTADDRESS

}

Configuration du plugin

La dernière étape consiste à éditer le fichier /usr/local/nagios/share/cactiplug/cactiplug.php afin d’y saisir les informations relatives à votre base de données Cacti (host, nom de la base, login et password).

Ensuite, il ne reste plus qu’a relancer Nagios:

# service nagios restart

ou

# sudo /etc/init.d/nagios restart

J’attend vos retours si vous testez ce plugin.

Catégories
Developpement Open-source

Première configuration d’Eclipse

Ce matin j’ai réinstallé Eclipse (mon environnement de développement fétiche aussi bien sous Linux que sous Mac OS X). Voici donc mes notes pour la configuration du logiciel avec les plugins suivants: eclipse_home_header.jpg

  • SVN
  • PHP

Installation d’Eclipse

Sous Ubuntu, l’installation se fait via les packages:

# sudo apt-get install eclipse

Compter environ 140 Mo d’espace sur votre disque dur.

Installation du plugin SVN

J’utilise un serveur SVN pour gérer en configuration mes développement. De base, Eclipse ne dispose que d’un plugin pour CVS. La procédure à suivre pour installer le plugin SVN est la suivante:

Lancer Eclipse
Aller dans le menu Help / Software updates / Find and install…
Cliquer sur le bouton « Search for new features to install » et cliquer sur le bouton « Next > »
Cliquer sur le bouton « New Remote Site… » et saisir:
Name: SVN
URL: http://subclipse.tigris.org/update_1.2.x (pour les versions d’Eclipse 3.2+)
Valider en appuyant sur le bouton OK
Sélectionner SVN dans le liste « Sites to include in search » puis cliquer sur « Finish »
Attendre le téléchargement de la liste des plugins et selectionner SVN
Finaliser l’installation en cliquant sur « Next > »
Après acceptation de la licence, cliquer sur « Finish »

Installation du plugin PHP

La procédure à suivre pour installer le plugin PHP (PHPEclipse) est la suivante:

Lancer Eclipse
Aller dans le menu Help / Software updates / Find and install…
Cliquer sur le bouton « Search for new features to install » et cliquer sur le bouton « Next > »
Cliquer sur le bouton « New Remote Site… » et saisir:
Name: PHP
URL: http://phpeclipse.sourceforge.net/update/releases
Valider en appuyant sur le bouton OK
Sélectionner PHP de la liste « Sites to include in search » puis cliquer sur « Finish »
Attendre le téléchargement de la liste des plugins et selectionner PHPEclipse
Finaliser l’installation en cliquant sur « Next > »
Après acceptation de la licence, cliquer sur « Finish »

Et voili, on code maintenant…