Archive pour la catégorie ‘Logiciel Libre’

Munin : configurer le temps de rafraîchissement

Par défaut, le temps de rafraîchissement des données dans Munin est de 5 min. Dans certains cas, ce temps n’est pas adapté aux mesures que l’on veut effectuer.
A partir de la version 2.0 de Munin, il est possible de configurer ce temps, moyennant tout de même quelques manipulations.

Dans cet article, je vais vous montrer comment configurer Munin pour avoir un rafraîchissement toutes les minutes, mais vous pouvez configurer une autre période.
Il n’est pas possible facilement de descendre en dessous de la minute. Si vous voulez descendre sous la minute, il faudra bidouiller cron comme ici par exemple.
 
Attention : tous les plugins doivent partager la même périodicité, donc ils doivent tous êtres compatibles avec la périodicité que vous choisissez.

 

Etape 1

Arrêter munin. Si un noeud est présent sur le serveur Munin, arrêter aussi munin-node.

/etc/init.d/munin stop
/etc/init.d/munin-node stop

Si possible, arrêter les cron de munin et munin-node. Mettez en commentaire les lignes concernées dans /etc/cron.d/munin et /etc/cron.d/munin-node.
Si pour une raison ou une autre il ne vous est pas possible de faire cette dernière manipulation, ce n’est pas très grave (vous aurez juste des erreurs qui vont sortir dans les logs).

 

Etape 2

Dans /etc/munin/munin.conf, ajouter :

update_rate 60      # en secondes

# permet de configurer le nombre de données gardées dans les
# fichiers rrd (donc la taille des fichiers, et la granularité des données)
graph_data_size custom 1d, 5m for 1w, 15m for 1y, 1h for 5y  
# Voir aussi :
# http://munin-monitoring.org/wiki/format-graph_data_size
# http://oss.oetiker.ch/rrdtool/doc/rrdtool.en.html

 

Etape 3

Adapter le cron de munin : dans /etc/cron.d/munin modifier la ligne :

*/5 * * * *     munin if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi

par la ligne :

*/1 * * * *     munin if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi

 

Etape 4

Dans /var/lib/munin : supprimer tous les fichiers (laisser les dossiers)
Supprimer les fichiers (.rrd) dans les dossiers correspondant aux noms des domaines

 

Etape 5

Supprimer les logs (c’est plus simple pour retrouver les nouvelles erreurs) dans /var/log/munin
Attention : laisser les fichiers munin-cgi-graph.log et munin-cgi-html.log (ou bien les recréer vides avec les droits -rwxr-x— 1 www-data www-data)

 

Etape 6

Redémarrer munin et munin-node :

/etc/init.d/munin start
/etc/init.d/munin-node start

Décommentez les lignes dans les fichiers /etc/cron.d/munin et /etc/cron.d/munin-node le cas échéant.

 
Voilà, normalement c’est tout bon!

 

Quelques remarques importantes

Tous vos graphes seront réinitialisés, vous perdrez toutes les données mesurées jusqu’à maintenant.
La taille des fichiers RRD peut augmenter considérablement en fonction des paramètres que vous choisissez à l’étape 2. Je vous conseille de lire http://munin-monitoring.org/wiki/format-graph_data_size.
Mettre un temps de rafraîchissement très court sur une grosse installation peut affecter considérablement les performances de votre serveur.

Un ERP simple pour les Juniors-Entreprise: Ordo

Cela fait maintenant un an et demi que je suis membre de la Junior-Entreprise IARISS, dans mon école, l’ENSISA. Une Junior-Entreprise est une micro-entreprise tenue et développée uniquement par des étudiants. Nous réalisons des études dans le domaine de l’informatique (site web, applicatif, réseaux …), et maintenant automatique et textile. D’abord responsable informatique, je suis maintenant trésorier de cette structure.

Pendant tout ce temps où j’ai aidé à développer la structure, j’ai pu me rendre compte des problèmes organisationnels, des défauts dans la gestion autant de l’information que de l’humain.

Voici donc introduit Ordo, un ERP simple qui répond aux besoins spécifiques des Juniors-Entreprises. Il comprend:

  • Une gestion des membres de l’association, de leurs informations, de leurs mots de passe et de leurs documents
  • Un générateur de carte de visite
  • Une gestion des prospects et des contacts commerciaux
  • Une gestion des projets, avec une vérification qualitative (bon document, au bon moment …)

Ce projet est la fusion et le développement de projet développé précédemment (gestion commerciale et cartes de visites) par Théophile Helleboid, ancien président de IARISS, et moi-même.

Comme un travail ne se fait jamais bien du premier coup, l’ERP a encore quelques soucis. Il est cependant dans un état suffisant pour être utilisé en interne, à IARISS. Je continuerai dans les prochains temps à corriger les quelques défauts de jeunesse.

Trêve de blabla, voici quelques captures d’écran de l’application !




L’application, vous l’avez vu, est un site web. Derrière le capot, on trouve le framework Symfony.

Bien entendu, j’ai placé l’ERP sous license libre (GPLv3) ! Le code est disponible sur Github. Si par le plus grand des hasards, vous voulez l’utiliser, faites moi un signe, ça risque de me faire plaisir =)

Gérez et publiez vos collections avec GCstar !

En cherchant un moyen de répertorier mes CD je suis tombé sur un logiciel vraiment très bon : GCstar.
C’est bien sûr un logiciel libre, et il a pour but de vous aider à gérer toutes vos collections, aussi variées soient-elles. Un certain nombre de collections sont prédéfinies (films, BD, CD, livres, musique, …) mais vous pourrez définir vous-même un nouveau type de collection si besoin.
GCstar est annoncé pour fonctionner aussi bien sous Linux que sous Windows et MacOS mais je n’ai essayé que la version Linux.

La grande force de GCstar est son moteur de recherche intégré, basé sur des plugins (très simples d’ailleurs). Pour les CD, cela vous permet par exemple de ne rentrer que le titre d’un CD que vous voulez ajouter à la bibliothèque, et GCstar va chercher toutes les informations (artiste, chansons, pochette, durée..) qu’il trouve sur des sites que vous aurez défini (Amazon par exemple). C’est en fait la définition de ces sites qui se fait par l’ajout de plugins.

La publication en ligne de votre collection n’est pas gérée directement par GCstar, mais il existe un outil tout fait et près à l’emploi pour ça : GCweb
Il y a même une démo de l’outil ici.

Puisque c’est pour cela que je l’ai choisi, je vais détailler les étapes permettant d’ajouter vos CD à votre bibliothèque et la mise en ligne de votre collection.
Un résumé de la démarche :
– Installer GCstar (sans blague….)
– Créer une nouvelle collection
– Ajouter le plugin de recherche des informations sur Amazon
– Ajouter vos CD
– Envoyer les fichiers de GCstar sur votre serveur web
– Mettre en place GCweb
– Enjoy

– Installer GCstar
Ca se fait très simplement via la Logithèque Ubuntu pour ceux qui sont sur Ubuntu, pour les autres tout est expliqué sur le site de GCstar

– Créer une nouvelle collection
Pareil, rien de sorcier. Sélectionnez « Collection musicale » (astuce : sauf si vous voulez faire une autre collection hein :D ) et c’est parti.

– Ajouter le plugin de recherche des informations sur Amazon
Par défaut, GCstar inclut la recherche sur Discogs et Musicbrainz. Si ça vous suffit vous pouvez sauter cette étape, mais j’ai l’impression que Amazon est quand même plus complet. Donc pour Amazon, c’est sur le forum de GCstar que ça se passe. Pour ceux qui n’ont pas envie de créer un compte pour accéder aux pièces jointes du forum, j’ai fait une copie ici. Il suffit d’ajouter les fichiers contenus dans cette archive dans le dossier /lib/GCPlugins/GCmusics/. Sous Ubuntu, le chemin complet est /usr/share/gcstar/lib/GCPlugins/GCmusics/.
Vous l’aurez compris, les plugins pour les autres types de collection se trouveront dans /lib/GCPlugins/XXXX.

– Ajouter des CD
Là rien de bien sorcier. Pour choisir vos méthodes de recherche des informations, allez dans Configuration/Préférences/Internet, c’est le menu « Sites où récupérer les fiches ». Pour ajouter un CD, cliquez sur « Ajouter », entrez le titre, l’auteur dans la barre de recherche (là où il y a marqué « Nouvel album ») et cliquez sur « Télécharger ». Une liste des résultats de la recherche apparait, choisissez celui qui vous convient et validez.

– Envoyer les fichiers de GCstar sur votre serveur web
Envoyez le fichier .gcs et le dossier _pictures (sous Ubuntu dans /home/votre_user par défaut) dans le dossier « collections » de l’arborescence de GCweb. Vous pourrez mettre à jour ces fichiers plus tard, si vous complétez votre collection (il faudra simplement envoyer les nouveaux fichiers sur le serveur).

– Mettre en place GCweb
Il vous faudra avant tout un serveur web fonctionnel. GCweb n’a pas de restriction pour un serveur web en particulier, mais il faut que le serveur gère le PHP5 et qu’il ait la librairie GD2 ou supérieure. Un serveur web sous Linux est conseillé pour les tris par date, qui risquent de ne pas fonctionner sur une autre plateforme.
Pour la démarche : il suffit d’envoyer le contenu de l’archive sur votre serveur web. Avec un navigateur, allez ensuite à l’adresse de votre serveur, à l’emplacement où vous avez mis les fichiers de GCweb. Vous aurez une page de configuration. Remplissez les champs en fonction de vos préférences et de votre configuration.
Une fois que votre configuration vous satisfait, allez à l’adresse de votre serveur web. Normalement, votre collection est en ligne. Il est conseillé de carrément supprimer le fichier config.php (que vous avez renommé pendant l’étape de configuration de GCweb) pour éviter que quelqu’un s’en serve. Gardez-en une copie quelque part, mais pas à un endroit accessible depuis internet.

-Enjoy !
Si vous avez des questions, n’hésitez pas à aller sur le forum de GCstar. Vous pouvez aussi m’en poser dans les commentaires, j’essayerai d’y répondre.

Mise en place d’un serveur musical avec MPD

J’ai mis en place chez moi un serveur de musique qui devait répondre a des besoins un peu particuliers :
– fonctionnement client-serveur, le serveur devant lire la musique (il est branché sur ma chaine hifi) et les clients permettant de contrôler la lecture de la musique à distance (pas d’écran sur le serveur)
– la musique est stockée non pas sur le serveur, mais sur mon PC fixe, dans ma chambre, qui n’est pas allumé tout le temps (bon il faudra l’allumer pour lire la musique évidement :D )
– tout ça sur du Linux bien entendu, le serveur étant sous Ubuntu server 10.10 et le PC fixe sous Ubuntu 10.04

Je me suis penché vers MPD (Music Player Deamon), qui a l’avantage de répondre parfaitement à tous ces besoins :)

Pour la suite : IP du serveur : 192.168.1.8 et IP du PC fixe : 192.168.1.4, les deux sont en DHCP mais le routeur est configuré pour leur attribuer toujours la même IP.

Voilà, le contexte étant posé, on y va :)
Première étape : rendre la musique présente sur le PC fixe accessible au serveur. J’ai choisi de faire ça avec NFS, à priori une autre méthode (comme avec Samba) aurait fonctionné tout aussi bien. Le partage NFS, donc :
0) Installation des paquets « nfs-common » (nécessaire sur le client et le serveur) et « nfs-kernel-server » (nécessaire uniquement sur le serveur). Attention, ici (et uniquement ici) c’est le PC fixe qui joue le rôle de serveur puisque c’est lui qui partage la musique
1) Création du point de montage sur le serveur (donc le « vrai » serveur cette fois ci) : mkdir /mnt/jidey_musique
2) Paramétrage de NFS sur le PC fixe (donc le serveur NFS) :
– ajouter une ligne dans le fichier /etc/exports :

/home/jidey/Musique/ *(ro,fsid=0,insecure,no_subtree_check)

– ajouter ces trois lignes dans le fichier /etc/hosts.deny :

portmap:ALL
nfsd:ALL
mountd:ALL

– ajouter ces 6 lignes dans le fichier /etc/hosts.allow (adapter les IP, il faut mettre l’IP du client nfs) :

portmap: 192.168.1.8
lockd: 192.168.1.8
nfsd: 192.168.1.8
mountd: 192.168.1.8
rquotad: 192.168.1.8
statd: 192.168.1.8

3) Monter le partage nfs sur le client nfs (le serveur MPD) :

sudo mount -t nfs4 192.168.1.4:/ /mnt/jidey_musique/

NB : j’ai été au plus rapide pour la partie NFS. C’est un peu crado, et surtout automatisable (avec fstab). Je ne veux pas m’étendre sur le sujet ici, tout ce qui importe c’est d’avoir un dossier avec de la musique sur le serveur MPD.

Deuxième étape : installation et configuration de MPD sur le serveur.
L’installation est, comme souvent sur Ubuntu, simplissime : sudo apt-get install mpd
Pour la configuration, c’est à peu près du même niveau. La configuration se fait dans /etc/mpd.conf pour une configuration valable pour tous les utilisateurs (c’est notre cas) ou dans ~/.mpdconf pour une configuration personnalisée à chaque utilisateur. Voici le contenu de mon /etc/mpd.conf :

port                    "6600"
music_directory         "/mnt/musique_jidey"
playlist_directory      "/var/lib/mpd/playlists"
db_file                 "/var/lib/mpd/tag_cache"
log_file                "/var/log/mpd/mpd.log"
pid_file                "/var/run/mpd/pid"
state_file              "/var/lib/mpd/state"

user                    "mpd"
bind_to_address         "localhost"

audio_output {
        type            "alsa"
        name            "My ALSA Device"
        device          "hw:0,0"        # optional
        format          "44100:16:2"    # optional
        mixer_device    "default"       # optional
        mixer_control   "PCM"           # optional
        mixer_index     "0"             # optional
}

Notez qu’il faut créer les dossiers ci-dessus (.mpd et .mpd/playlists) s’ils n’existent pas.
Beaucoup d’autres options sont possibles, toutes sont très bien expliquées dans le fichier de configuration créé avec l’installation.
Si vous avez des problèmes de connexion avec les clients, essayez de commenter la ligne « bind_to_address « localhost »  »
Un petit restart du démon MPD et ça devrait être bon :

sudo /etc/init.d/mpd restart

Troisième étape : installation et configuration des clients. Il existe une multitude de clients compatibles avec MPD. La liste (à priori à peu près exhaustive) est disponible sur le site de MPD. Comme vous le constaterez, des clients existent pour à peu près toutes les plateforme imaginable, d’Androïd à Gnome (assez classique) en passant par la Wii…

Chiffrer simplement un dossier sous linux

Un post rapide sur une méthode très simple et très efficace pour chiffrer un dossier sous linux. Je l’ai mise en pratique sur Ubuntu, mais ça devrait marcher sous n’importe quelle distribution, en adaptant quelques détails bien sur.

L’outil s’appelle « encfs » et est fourni par le paquet du même nom. Le paquet « fuse-utils » est également nécessaire.

sudo apt-get install fuse-utils encfs

On initialise encfs avec la commande suivante, qui défini le répertoire utilisé pour les données chiffrées et le répertoire utilisé pour les données en clair :

encfs /home/$USER/coffre/ /home/$USER/coffre_open/

Encfs vous posera quelques questions pour cette initialisation. Tout d’abord, il vous demande une confirmation pour la création des deux répertoires « coffre » et « coffre_open ». Ensuite, vous devrez choisir la configuration du nouveau volume crypté. « Paranoïaque » est un bon choix pour ceux (comme moi) qui ne veulent pas trop se prendre la tête, entrez donc « p ».

Enfin, choisissez un mot de passe. Attention : il n’existe aucune méthode permettant de retrouver un mot de passe oublié. Si vous oubliez ce mot de passe, le seul moyen pour récupérer vos données sera de casser la clé de 256 bits utilisée pour chiffrer vos données en AES (ça parlera pas à tout le monde, mais sachez que c’est pas gagné :D )

Voilà, c’est à peu près tout. Vous avez maintenant un dossier « coffre » et un dossier « coffre_open » dans votre home. Après l’initialisation, le coffre est ouvert. Vous avez alors un volume « coffre_open » monté (vous pouvez le vérifier dans votre poste de travail) dans le dossier « coffre_open » créé précédemment.

Mettez ce que vous voulez chiffrer dans ce volume « coffre_open ».
Lorsque vous fermerez le coffre, le volume sera démonté et les données seront chiffrées et stockées dans le répertoire « coffre ». Vous retrouverez vos données en clair lorsque vous rouvrirez le coffre.

Pour fermer le coffre :

fusermount -u /home/$USER/coffre_open

Pour ouvrir le coffre :

encfs /home/$USER/coffre/ /home/$USER/coffre_open/

Vous pouvez bien sur mettre ces commandes dans des fichiers /usr/bin/encrypt et /usr/bin/decrypt (vous n’oublierez pas de les rendre exécutables et de vous mettre en propriétaire…), ce qui vous permettra d’avoir simplement à taper « encrypt » ou « decrypt » dans un terminal pour fermer ou ouvrir votre coffre.

Encore quelques points auxquels il faut faire attention ou qu’il est bon de savoir :
– si vous copiez/déplacez votre coffre, déplacez bien le fichier « .encfs6.xml » qu’il contient, sinon il vous sera impossible d’utiliser votre coffre
– vous pouvez changer votre mot de passe avec encfsctl

Et sinon, la page de doc d’ubuntu-fr est, comme souvent, bien faite et plus complète que cet article : c’est ici.