Catégories
Reseau

Sjitter – Version pour MacOSX

Je viens de mettre en package la version 0.14b de Sjitter mon outil (en ligne de commande) de mesure de bande passante, de delais de transit et de gigue pour MacOSX.

Le site officiel est ici mais vous pouvez également trouvez le package ici ou la.

A+

Catégories
Open-source Web

Liferay Portal – Open Source

Liferay est un portail J2EE open source conforme à la norme JSR-168 de sun, et tournant sur la majorité des serveurs d’applications existants.
Liferay en est à sa 8e année de développement, et utilise les dernières technologies J2EE de pointe telles que Spring, Struts, JSF, Hibernate, Ajax, Velocity, WSRP et bien d’autres.

Avant de présenter le produit, voyons ce qu’est un portail:

Un portail est une application web dont le rôle est d’aggréger sur une ou plusieurs pages des ressources et services différents (centrés sur un domaine particulier), tout en fournissant un système de sécurité permettant de gérer les permissions de ses différents utilisateurs et groupes d’utilisateurs. Les ressources ou services qui sont fournis par le portail sont matérialisés par ce que l’on appelle des ‘Portlets‘: ce ne sont en fait simplement que des applications web J2EE ayant la seule particularité d’être conformes à la specification JSR-168.

Un utilisateur connecté au portail peut disposer d’un espace privé (qu’il retrouve a chaque connexion) sur lequel il peut organiser ses applications favorites (des Portlets donc) sur une ou plusieurs pages.

L’administrateur peut, grâce au système de sécurité, restreindre l’accès à certains portlets (ou fonctionnalités d’un portlet) à certains utilisateurs ou groupes d’utilisateurs du portail par exemple.

A titre d’exemple, Google offre un portail personnalisable a chaque utilisateur accessible en cliquant sur le lien ‘Personnaliser cette page‘ sur le site du moteur de recherche. On arrive alors sur une page nous donnant la possiblité d’ajouter ou de supprimer des informations (présentées sous forme de Portlet) mais aussi des les réorganiser sur la page.

Parlons de Liferay maintenant !

Liferay est donc un projet OpenSource, développé par une communauté assez active (une mise a jour majeure tous les 3 mois environ), et disponible sur le site http://www.liferay.com.
Le portail est disponible sous 2 formes:
– une version Professional étant une application web POJO (Plain Old Java Object) exécutable directement sur une instance de conteneur web J2EE (Tomcat par exemple) et ne comportant donc aucun EJB
– une version Enterprise étant une application web exécutable directement sur une instance de conteneur d’EJB (JBoss par exemple)

La version Professional est un bon point de départ pour tester: elle est disponible en téléchargement, sous forme d’application complète avec le serveur intégré et configuré (ici pour Tomcat), ou sous forme de fichier WAR ou EAR. Les sources du portail sont bien entendu aussi disponibles sur la page de téléchargement.

Liferay est compatible avec tous les SGBD existants (grâce a l’utilisation du framework Hibernate), et s’exécute par défaut avec le SGBD embarqué HSQLDB.

Une fois le serveur lancé, on arrive sur la page d’accueil:

Toutes les pages disponibles pour le moment appartiennent à la communauté des ‘Invités’ vu qu’aucune connexion n’est nécessaire pour les visualiser. Pour se connecter, cliquer sur le lien ‘Sign In‘ situé en haut a droite de la page. Entrer le login et mot de passe d l’administrateur par défaut:
  • login: test@liferay.com
  • password: test

Une fois connecté, nous sommes redirigés vers la communauté privée de l’administrateur contenant déjà plusieurs portlets. Dans cet ensemble de pages on peut, en cliquant sur la barre de titre des différents portlets, déplacer les portlets, les supprimer, en ajouter d’autres, etc.
En plaçant le pointeur de la souris sur l’icone présent dans le coin supérieur droit, on obtient la liste des actions disponibles sur la page courante.

En cliquant par exemple sur l’icone représentant un ‘+’, un menu apparait et permet d’ajouter sur la page courante les portlets disponibles sur le portail. On peut aussi gérer son compte ou changer la disposition des portlets sur la page (Layout), etc.
Si l’on veut revenir a la communauté des invités, il suffit de sélectionner ‘Guest’ dans le menu apparaissant lorsque l’on place le pointeur de la souris sur l’icone représentant un panneau de direction. D’autres communautés existent et peuvent être créées par le biais du portlet ‘Communities’.

Liferay est livré avec beaucoup de portlets plus ou moins utiles. Les plus intéressants sont:

  • Journal
    permet d’écrire des articles et de les publier grâce au portlet Journal Content, mais aussi de générer un flux RSS par exemple.
  • Message Boards
    un forum avec abonnement et génération de flux RSS également
  • Wiki, Blogs
  • Polls
    pour faire des sondages
  • IFrame
    pour afficher un site ou une page externes dans un portlet (par exemple essayez avec google.fr !)
  • Calendar
    un calendrier avec gestion des évenements (par mail, RSS, etc)
  • … et bien sur tous les portlets d’administration du portail !
Et l’on peut bien entendu rajouter ses propres portlets grâce au système d’autodeploy qui permet de les rajouter à chaud (c’est à dire sans redémarrer le serveur !).

Pour terminer, je parlerai de quelques fonctionnalités de Liferay très intéressantes lorsque l’on veut l’utiliser en entreprise:

  • Liferay dispose d’un mécanisme permettant d’une part d’intéragir avec le LDAP de l’entreprise lors de l’étape de login, mais aussi de synchroniser les groupes du LDAP dans le portail !
  • Liferay fournit les connecteurs pour intéragir avec un système de SSO (Single Sign On) tel que CAS. Typiquement, le SSO est utile si l’on dispose de 2 applications web différentes ayant chacune leur système d’authentification propre et que l’on veut faire en sorte que le fait de s’authentifier sur l’une nous authentifie automatiquement sur l’autre (donc on ne se Logge qu’une seule fois).
Voila j’espère que cette petite introduction vous aura convaincu de la puissance d’un portail web et spécifiquement de Liferay, de la valeur ajoutée et du gain de temps que cela peut apporter à une entreprise qui doit se créer un intranet.
Catégories
Systeme Web

Firefox et quelques plugins…

Voici ma configuration de Firefox que j’utilise sur mon PC fixe (sous Fedora Core 6) et portable (sous Mac OS X).

  • Firefox 2
  • Plugins: AdBlock Plus, FireFTP et GSpace

Installation de Firefox

En premier lieu j’ai installé Firefox. La dernière version peut être directement téléchargée depuis depuis le site de la fondation Mozilla.

Installation des plugins: AdBlock Plus

Le premier plugin à installer est AdBlock Plus, ce dernier permet de bloquer les publicités. Il fonctionne avec un système de « black list », c’est à dire d’une liste mise à jour réguliairement de régis publicitaire. Ces listes peuvent être enrichies par l’utilisateur. Le plugin gére aussi une « white list » de site ou le blocage des publicités n’est pas nécessaire.

Pour installer le plugin, il faut se rendre à l’URL suivante. Puis suivre l’installation.
Dans l’actuelle version de Firefox, il est nécessaire de redémarrer le navigateur pour activer un nouveau plugin (espéront que cette contrainte sera levée dans la prochaine version…).

Voici donc le résultat:

sans Adblock plus…

avec Adblock Plus


Installation des plugins: FireFTP

Ensuite, j’ai installé FireFTP qui est un client FTP qui s’intégre à Firefox. Il supporte les mode passif et actif et offre une grande stabilité d’utilisation.

Le plugin se trouve à cette adresse. L’installation est très simple.

Voici un apercu du résultat:
Installation des plugins: GSpace

GSpace est un plugin Firefox permettant de se servir de son compte GMail comme d’un espace de stockage en ligne. Vous disposez alors de 2.8 Go pour stocker vos fichiers.

Il faut, au préalable, créer un compte Gmail (si vous n’en avez pas déjà un), à l’adresse suivante.
Ensuite télécharger le plugin sur la page suivante. Suivre l’installation. Configurer le plugin pour qu’il utilise votre compte Gmail.

Le résultat est le suivant:

Bon surf !

Catégories
Web

Le Web 2.0 en vidéo

On en parle beaucoup, mais très peu de personnes peuvent le définir… Je parle bien entendu du « Web 2.0 ». Voila donc une vidéo qui en 5 minutes chrono essaye de définir les dernières technologies à la mode…

A vous de juger…

Catégories
Systeme

Installation d’un annuaire LDAP

Le but de ce post est d’installer un serveur LDAP sur votre machine. Ce serveur offrira un annuaire standardisé facilement intégrable avec d’autre logiciel (comme par exemple votre client de messagerie qui pouura s’en servir comme d’annuaire).

L’avantage d’un annuaire LDAP par rapport aux autres solutions est le fait qu’il repose sur un standard et est donc facilement interopérable.

La configuration choisie est la suivante:
OS: Fedora Core 6
Serveur: OpenLDAP
Client (exemple): Carnet d’addresse sous Mac OS X
Nom de votre domaine: votrenomdedomaine.com

La première chose à faire est d’installer le package OpenLDAP, projet open-source (voir ce post pour une définition de l’open-source) très actif sur le sujet.

# yum install openldap openldap-servers openldap-clients

Si vous voulez que le serveur soit accessible depuis d’autre ordinateur, il faut ouvrir votre Firewall grâce aux commandes suivantes:

# iptables -I RH-Firewall-1-INPUT 9 -p tcp –dport 389 -j ACCEPT
# iptables -I RH-Firewall-1-INPUT 9 -p tcp –dport 636 -j ACCEPT
# /sbin/service iptables save

Au niveau de la configuration, vous trouverez les fichiers dans le répertoire /etc/openldap/. Il faut d’abord configurer votre client (pour les tests):

# vi /etc/openldap/ldap.conf
BASE dc=votrenomdedomaine, dc=com
URI ldap://localhost

Puis le serveur:

# vi sladp.conf

database bdb
suffix « dc=votrenomdedomaine, dc=com »
rootdn « cn=Manager,votrenomdedomaine, dc=com »
rootpw {SSHA}SsO57ZtJtrR39IdI9NyNG02JHtzeJZbW

access to *
by self write
by * read

La génération du mot de passe (rootpw) s’effectue grâce à la commande suivante:

# slappasswd

Il faut ensuite initialiser la base de donnée qui va servir de zone de stockage pour votre annuaire:

# slapindex -f /etc/openldap/slapd.conf
# cd /var/lib/ldap
# cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
# chown ldap:ldap *

Nous pouvons alors démarrer le serveur:

# service ldap start

et automatiser ce lancement pour le prochain reboot:

# chkconfig ldap on

Il ne vous reste plus qu’a remplir votre base, par exemple en utilisant LAT (LDAP Administration Tool).

Un exemple de configuration du carnet d’adresse sous Mac OS X: Carnet d’adresse / Preferences / LDAP / Add (+) et saisir:Remarque: sur ma machine j’ai du passer le SELINUX à permissive pour pouvoir lancer le serveur LDAP.

Autres posts sur le sujet:
Replication de serveur LDAP
Installation serveur FTP avec support LDAP

Catégories
Web

Nouveau logo

Et oui le logo du blog a changé, comme son orientation très Fedora à ces debuts et qui s’ouvre vers le domaine du libre (ceci explique le logo copy-left).
J’ai utilisé ce tutorial pour faire le logo (style Web 2.0).

A noter également que le site est aussi accessible depuis une nouvelle addresse: http://www.nicolargo.com

Catégories
Open-source Systeme

C’est quoi l’open-source ?

Il y a des modes qui vont et qui viennent sans trop qu’on les attendes. Le retour des pantalons à pâtes d’éléphant, des chaussures converses, de la musique gothique et bien d’autres exemples encore… Depuis maintenant quelques mois, l »open-source » revient immanquablement dans les discutions (palabres ?) des professionnels de l’informatique. Comme j’entend pas mal de bêtises sur le sujet je vais essayer dans ce post de définir ce qu’est un logiciel (ou un code) « open-source ».

En premier lieu « open-source » n’est pas un synonyme de gratuit ! En effet on peut très bien développer un logiciel en « open-source » et le vendre…

L' »open-source » désigne l’acte volontaire du développeur (ou de l’équipe de développement) de mettre à disposition le code sources de son logiciel à la communauté Internet.

Logiciel NON « open-source »:
| Privée___________________________ | Public_______ |
CODE SOURCE -> procédure de compilation -> CODE COMPILE

Logiciel « open-source »:
| Public _____________________________________________ |
CODE SOURCE -> procédure de compilation -> CODE COMPILE

Mon dieu ! mais pourquoi faire une chose pareille s’exclame les équipes commerciales… et bien tout simplement pour profiter de tout ce qu’Internet (et sa communauté) peut apporter à votre logiciel:
– détection et correction de bug
– ajout de nouvelles fonctionnalités
– portabilité vers d’autres operating system
– support très réactifs (notamment grâce au forum / mailing list / blog)

Et le GPL, GNU, BSD… c’est quoi exactement ?

Ce sont des licences que l’on peut associer à son logiciel (ou son code) pour le diffuser selon certaines règles. Par exemple, la licence GPL interdit l’inclusion d’un logiciel (ou d’un code) GPL dans un autre logiciel non GPL. Ce n’est, par contre, pas le cas de la licence GNU (cliquer ici pour voir un tableau comparatif).

Derrière ces acronymes et règles assez compliquées (aller essayer de comprendre les subtilités entre les versions 2 & 3 de la licence GPL, si vous avez des infos, merci de laisser un commentaire, je suis preneur…) se cache en fait un état d’esprit. Celui de partager son travail afin que d’autres en profite et réciproquement profiter du travail des autres. Bref les mentalités ont encore du chemin à parcourir mais je ne doute pas une seconde de l’issue de cette évolution.

Liens: GNU / Creative Common / GPL / LGPL / BSD

Catégories
Systeme

Mot du jour

Un post depuis un hôtel de Noordwijk, une petite ville côtière proche d’Amsterdam. Ce post ne sera mis en ligne que demain matin. En effet, même dans un hôtel 4 étoiles (petit avantage des déplacements professionnels…) l’accès Internet ne fait pas encore partie des services de base. Il faut en effet débourser environ 10 Euros à un opérateur pour avoir droit à une heure de surf (et encore avec une limite sur le volume des données). Comme quoi l’accès au réseau des réseaux à encore du chemin à faire…

M’enfin… le post en question concerne les messages qui s’affichent automatiquement au lancement d’un terminal.

PREMIER MESSAGE
login:
password:
DEUXIEME MESSAGE
prompt>

Avant d’entrée votre login/password, le contenu du fichier /etc/issue est affiché. Vous pouvez modifier ce fichier à votre guise.

# vi /etc/issue

Après authentification, c’est au tour du fichier /etc.motd (pour « mot du jour ») d’être affiché. Vous pouvez également le modifier.

# vi /etc/motd

Pour aller un peu plus loin je me suis demandé comment exécuter un script en lieu et place d’un texte statique.
Sous Linux il suffit de créer un shell script sous /etc/profile.d/motd.sh.
Par exemple pour afficher la version du kernel, il faut faire:

# vi /etc/profile.d/motd
#!/bin/sh
echo -n « Bienvenue « 
username
uname -a
# chmod +x /etc/profile.d/motd

et voili le travail, un beau script de login. A vous de travailler.

Tot ziens !

Catégories
Open-source Reseau

Installation de Nagios sur Fedora

Update: pour une procédure d’installation de Nagios version 3, merci de suivre ce lien… 

Voici les étapes à suivre pour installer Nagios (le « bien connu » outil de monitoring réseau « open-source ») sur un serveur Fedora.

La configuration est la suivante:

  • Fedora Core 6 (avec kernel 2.6.19) avec serveur Apache pre-installé.
  • Nagios 2.6

On commence par l’installation de Nagios et des différents plugins.

# yum -y install nagios
# yum -y install nagios-plugins
# yum -y install nagios-plugins-ping nagios-plugins-tcp nagios-plugins-udp nagios-plugins-http nagios-plugins-dns nagios-plugins-smtp nagios-plugins-ldap nagios-plugins-pgsql nagios-plugins-mysql

Vient ensuite la configuration du serveur web (Apache dans notre exemple, mais on peut en utiliser un autre). On doit pour cela modifier le fichier nagios.conf dans /etc/httpd/conf.d/ pour autoriser l’accés depuis toutes les sources.

# vi /etc/httpd/conf.d/nagios.conf
> Remplacer les lignes deny from all par allow from all

On doit également générer un couple login/password pour accèder à l’interface Web d’administration. Pour cela, il faut:

# htpasswd -c /etc/nagios/passwd admin

Dans ma configuration il a aussi fallu que je passe ma Fedora en mode SELINUX permissive, sinon les scripts CGI de Nagios ne s’executaient pas.

# vi /etc/selinux/config
> SELINUX=disabled
# reboot

Il ne reste plus qu’a vérifier que le serveur Web marche bien.
http://<adresse de votre serveur>/nagios/

La configuration de base du daemon Nagios est alors la suivante:

# cd /etc/nagios
# cp nagios.cfg-sample nagios.cfg
# vi nagios.cfg
Se reporter à la documentation suivante pour configurer ce fichier.
# cp cgi.cfg-sample cgi.cfg
# vi cgi.cfg
Se reporter à la documentation suivante pour configurer ce fichier.
# vi contacts.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi dependencies.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi escalations.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi hostgroups.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi hosts.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi hostgroups.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi services.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi timeperiods.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.

Update: j’ai également écrit un post pour détailler cette configuration.

Pour tester vos fichiers de configuration, vous pouvez utiliser la commande suivante:

# nagios -v /etc/nagios/nagios.cfg

Total Warnings: 0
Total Errors: 0
Things look okay – No serious problems were detected during the pre-flight check

Et voila le moment tant attendu, le lancement du process:

# service nagios start

Ne pas oublier de forcer le demarrage du process au reboot de la machine grâce à la commande (petit rappel):

# chkconfig –levels 235 nagios on

Il ne reste plus qu’a pointer votre navigateur Web favori sur l’URL suivante:
http://<adresseipduserveur>/nagios/

En cas de problème (serveur Web injoignable par exemple), il faut vérifier que le Firewallautorise bien les requêtes HTTP entrantes.

# iptable -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT
# /sbin/iptables-save

Et voila le travail !!!

PS: en cas de modification des fichiers de configuration (par exemple ajout d’une machine monitorer), vous pouvez utiliser la commande suivante, qui vérifie vos fichiers de configurations et que les recharges.

# service nagios reload

Catégories
Reseau Systeme

Installation serveur FTP avec support LDAP

Voici un tutorial pour installer un serveur en 5 minutes chrono un serveur FTP avec le support LDAP pour l’authentification des utilisateurs sous Fedora (ou d’autres système Linux).

Top chrono…

La première chose à faire est de récupérer la dernière version de ProFTPd (serveur FTP) à l’adresse suivante:

# wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0a.tar.gz

PS: l’installation par yum ne convient pas car le package n’est pas compilé avec l’option LDAP qui nous interesse dans ce post…

Ensuite, il faut compiler:

# tar zxvf proftpd-1.3.0a.tar.gz
# cd proftpd-1.3.0a
# ./configure –with-modules=mod_ldap
# make
# make install

Puis automatiser le démarrage pour le prochain reboot (vous pouvez lire ce post pour des informations complémentaires sur le lancement automatique des services sous Fedora):

# cp contrib/dist/rpm/proftpd.init.d /etc/init.d/proftpd
# chmod +x /etc/init.d/proftpd
# chkconfig –levels 235 proftpd on

Vient ensuite la configuration du serveur via le fichier /usr/local/etc/proftpd.conf:

# vi /usr/local/etc/proftpd.conf

LDAPServer
LDAPDNInfo
LDAPDoAuth on
LDAPDefaultAuthScheme « clear »
CreateHome on 711
LDAPGenerateHomeDir on 711
LDAPForceGeneratedHomedir on
LDAPGenerateHomedirPrefix /usr/local/data/

Dans cette configuration, à chaque connection d’un utilisateur renseigné dans le LDAP, un sous-repertoire avec l’UID de l’utilisateur sera créé sous /usr/local/data. Par exemple quand l’utilisateur nico se connecte via un client FTP, le repertoire /usr/local/data/nico sera automatiquement créé pour stocker les fichiers FTP.

Et enfin le démarrage du service:

# service proftpd start

TOP ! 5 minutes chronos 🙂