Catégories
Blog Open-source Web

Ouverture du forum de Nicolargo !!!

Depuis l’ouverture de ce blog, il y a maintenant plus de deux ans, le nombre de commentaires sur les sujets phares du site (Nagios, Asterisk…) est en constante augmentation. La structure d’un blog n’étant pas, à mon avis, adapté à ce genre de discussions entre lecteurs, j’ai mis en place un forum dédié à ces sujets.

Le forum est accessible dès à présent à l’adresse suivante:

http://forum.nicolargo.com/

Il faut d’abord passer par une phase d’inscription avant de poster les premières questions.

Merci de faire passer le message !

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

Actualité open-source de la semaine #46

L’actualité open-source de la semaine…

L’image de la semaine

51mBMb4lNzL._SL500_AA240_.jpg

Petit rappel pour le fan de BSD: la bible est disponible en Français…

Tout le monde en parle, sauf moi…

L’actualité du libre et de l’open source en vrac:

Autres choses ?

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 Reseau

Surveiller les interfaces de son Cisco avec Nagios

Qui veut surveiller l’état des interfaces de ses routeurs Cisco doit obligatoirement se plonger dans l’arborescence des MIB SNMP. Heureusement, Patrick Proy a eu la bonne idée d’intégrer dans un seul et même script Perl toutes les fonctions pour répondre à ce besoin.

Nous allons dans ce billet voir comment installer et tester le plugin check_snmp_int.pl puis configurer Nagios pour prendre en compte ce nouveau plugin.

Installation du plugin

Il faut dans un premier temps se rendre dans le répertoire ou les plugin Nagios sont stockés (/usr/local/libexec/nagios par exemple) puis y télécharger la dernière version du plugin (1.4.8 au moment de l’écriture de ce billet):

cd /usr/local/libexec/nagios
wget http://nagios.manubulon.com/check_snmp_int.pl

Ensuite on le rend executable par Nagios:

chown nagios:nagios check_snmp_int.pl
chmod 555 check_snmp_int.pl

Enfin on vérifie que l’utilisateur Nagios (ou celui qui doit lancer Nagios) peut exécuter ce script:

su – nagios
nagios> /usr/local/libexec/nagios/check_snmp_int.pl -h
… la syntaxe va s’afficher …
nagios> exit

Si vous avez une erreur lors de l’éxécution du script, cela peut être dû à l’absence des pré-requis suivants sur votre système:

  • Perl doit être installé dans le répertoire /usr/bin/perl
  • La librairie Perl nommée Net::SNMP doit être installé (via CPAN)
  • Le fichier ‘utils.pm doit être présent dans le répertoire des plugins Nagios

Test du plugin

Nous allons dans un premier temps chercher la liste des interfaces réseau du routeur Cisco (ou autre compatible avec MIB-2 standard) à superviser:

/usr/local/libexec/nagios/check_snmp_int.pl -H <adresseIPdurouteur> -C public -n zzzz -v
Alarm at 15 + 5
SNMP v1 login
Filter : zzzz
OID : 1.3.6.1.2.1.2.2.1.2.26, Desc : Async54
OID : 1.3.6.1.2.1.2.2.1.2.28, Desc : Async56
OID : 1.3.6.1.2.1.2.2.1.2.18, Desc : Async46
OID : 1.3.6.1.2.1.2.2.1.2.12, Desc : Async40
OID : 1.3.6.1.2.1.2.2.1.2.31, Desc : Async59
OID : 1.3.6.1.2.1.2.2.1.2.19, Desc : Async47
OID : 1.3.6.1.2.1.2.2.1.2.22, Desc : Async50
OID : 1.3.6.1.2.1.2.2.1.2.34, Desc : Async62
OID : 1.3.6.1.2.1.2.2.1.2.13, Desc : Async41
OID : 1.3.6.1.2.1.2.2.1.2.23, Desc : Async51
OID : 1.3.6.1.2.1.2.2.1.2.4, Desc : Null0
OID : 1.3.6.1.2.1.2.2.1.2.35, Desc : Loopback0
OID : 1.3.6.1.2.1.2.2.1.2.30, Desc : Async58
OID : 1.3.6.1.2.1.2.2.1.2.5, Desc : Async33
OID : 1.3.6.1.2.1.2.2.1.2.11, Desc : Async39
OID : 1.3.6.1.2.1.2.2.1.2.1, Desc : Ethernet3/0
OID : 1.3.6.1.2.1.2.2.1.2.39, Desc : Virtual-Access2
OID : 1.3.6.1.2.1.2.2.1.2.14, Desc : Async42
OID : 1.3.6.1.2.1.2.2.1.2.37, Desc : Virtual-Template1
OID : 1.3.6.1.2.1.2.2.1.2.16, Desc : Async44
OID : 1.3.6.1.2.1.2.2.1.2.20, Desc : Async48
OID : 1.3.6.1.2.1.2.2.1.2.17, Desc : Async45
OID : 1.3.6.1.2.1.2.2.1.2.29, Desc : Async57
OID : 1.3.6.1.2.1.2.2.1.2.36, Desc : Tunnel0
OID : 1.3.6.1.2.1.2.2.1.2.3, Desc : Serial3/1
OID : 1.3.6.1.2.1.2.2.1.2.25, Desc : Async53
OID : 1.3.6.1.2.1.2.2.1.2.2, Desc : Serial3/0
OID : 1.3.6.1.2.1.2.2.1.2.7, Desc : Async35
OID : 1.3.6.1.2.1.2.2.1.2.33, Desc : Async61
OID : 1.3.6.1.2.1.2.2.1.2.9, Desc : Async37
OID : 1.3.6.1.2.1.2.2.1.2.6, Desc : Async34
OID : 1.3.6.1.2.1.2.2.1.2.15, Desc : Async43
OID : 1.3.6.1.2.1.2.2.1.2.10, Desc : Async38
OID : 1.3.6.1.2.1.2.2.1.2.27, Desc : Async55
OID : 1.3.6.1.2.1.2.2.1.2.32, Desc : Async60
OID : 1.3.6.1.2.1.2.2.1.2.8, Desc : Async36
OID : 1.3.6.1.2.1.2.2.1.2.21, Desc : Async49
OID : 1.3.6.1.2.1.2.2.1.2.24, Desc : Async52

Il faut ensuite noter le nom système des interfaces à surveiller (par exemple Serial 3/0 et Serial 3/1 dans mon cas).

Puis on lance ensuite la commande pour vérifier l’état de l’interface Serial 3/0:

/usr/local/libexec/nagios/check_snmp_int.pl -H <adresseIPdurouteur> -C public -n « Serial3/0 » -r
Serial3/0:UP:1 UP: OK

On a donc maintenant la commande à éxécuter, il ne reste plus qu’a l’intégrer dans notre configuration de Nagios.

Configuration de Nagios

On commence par se rednre dans le répertoire ou se trouve les fichiers de configuration de Nagios (/usr/local/etc/nagios par exemple):

cd /usr/local/etc/nagios

Puis si vous êtes sous Nagios 3.x ou supérieur dans le sous-répertoire objects:

cd objects

Enfin on édite le fichier commands.cfg puis on y ajoute la section suivante:

###################
# check_snmp_int.pl
###################

# ‘check_snmp_int.pl’, vérifier l’état de l’interface reseau
define command{
command_name    check_snmp_int
command_line    $USER1$/check_snmp_int.pl -H $HOSTADDRESS$ -C $ARG1$ -n $ARG2$ -r
}

On vient donc de créer une nouvelle commande Nagios qui appelera le plugin check_snmp_int avec deux paramètres:

  • $ARG1$: nom de la communauté SNMP à utiliser (public la plupart du temps)
  • $ARG2$: nom de l’interface à superviser

Enfin , on ajoute un nouveau service pour le routeur Cisco à superviser (par exemple dans le fichier network.cfg):

define host{
use             routeur
host_name       cisco
alias           Routeur liaison WAN
address         <adresseIProuteurcisco>
}
define service{
use                     generic-service
host_name               cisco
service_description     LS 1
check_command           check_snmp_int!public!« Serial3/0 »
}

Et si en plus je veux…

…surveiller la bande passante utilisée et envoyer une alerte si celle-ci dépasse un certain seuil ? Aller Noël n’est pas si loin…

Il suffit de créer une nouvelle commande Nagios et d’utiliser l’option -k du plugin. Par exemple pour surveiller un interface Serial3/0 et emmettre une alerte de warning si  débit dépasse 1.6 Mbps puis une alerte critique si ce dernier passe la barre des 1.9 Mbps ?

/usr/local/libexec/nagios/check_snmp_int.pl -H <adresseIPdurouteur> -C public -n « Serial3/0 » -k -w 1600,1600 -c 1900,1900

Je vous laisse convertir cette commande système vers une commande Nagios, cela vous fera un bon exercice 😉

Catégories
Open-source

Actualité open-source des vacances de Noël

Bonne année 2009 à tous, en espérant plus de libre dans ce mode de logiciel propriétaire 😉

Quelques brèves et actualités qui se sont déroulées pendant ces deux semaines de vacance de Noël 2008…

  • Le noyau Linux passe en version 2.6.28 (liste des nouveautés ici).
  • I’m a Linux: pour contrer la bipolarisation de la bataille publicitaire entre Mac OS et PC Windows, la Linux Fondation lance un grand concours communautaire pour la publication d’une vidéo mettant en scène l’OS Linux.

    i-am-linux.jpg
  • Mandriva 2010 déjà en bêta (ils sont pas à la bourre…).
  • Rockbox (actuellement en version 3.1) est un operating system (firmware) libre pour les baladeurs numériques (Archos, iAudio, iRiver, Ipod, Toshiba, Sandisk et Olympus).

      ipod_0.jpg
  • Cela se confirme, MD5 n’est plus sûr
  • Il ne chaume pas pendant les vacances eux…: Pidgim 2.5.3 (client de messagerie instantanée), Camino 2.0 bêta 1 (navigateur Web), Fenec alpha 2 (navigateur Web pour mobile de la fondation Firefox)

Catégories
Blog

Tout WordPress sur une page A4

Dans la grande série des documentations tenant sur une simple page A4, je viens d’en trouver une qui intéressera sûrement tout les blogueurs développant leur propre thème WordPress.

Image 1.png

On trouve en effet sur cette page un résumé des fonctions PHP entrant dans la conception des pages des thèmes WordPress. A avoir sur un coin de table…

Catégories
Open-source

Actualité open-source de la semaine #45

L’actualité open-source de la semaine…

La vidéo de la semaine

YoFrankie, le prochain jeu basée sur le moteur libre de Blender

Tout le monde en parle, sauf moi…

L’actualité du libre et de l’open source en vrac:

Autres choses ?

Catégories
Open-source

Vous aimez les logiciels libres ?

« L’April joue en France un rôle fondamental et unique pour la promotion et la défense du logiciel libre et de ses différents acteurs. La liberté informatique est un enjeu de société et il est essentiel, aujourd’hui plus encore qu’avant, de soutenir celle-ci en rejoignant l’April. J’encourage tous les citoyens épris de liberté informatique à adhérer dès maintenant à l’April », Richard Stallman, président de la Fondation pour le Logiciel Libre (Paris, 19 mai 2007).

Alors n’hésitez plus et adhérez à l’April. La cotisation annuelle est seulement de 10 Euros pour les particuliers (mais vous pouvez donner plus ;))…

Promouvoir et soutenir le logiciel libre

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).