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…
Créateur de blog de Nicolargo, je suis un partisan des logiciels libres et un passionné des nouvelles technologies.
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…
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
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
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
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 !
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:
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
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 🙂
Je viens d’essayer de faire communiquer mon PC sous Fedora Core 6 et mon téléphone Nokia Bluetooth (Nokia ). Voici les quelques actions à faire.
La première chose (si vous n’avez pas la chance d’avoir un PC compatible Bluetooth) est d’acheter un dungle Bluetooth USB (on en trouve à environ 30€). Pour ma part j’utilise un dungle Trendnet TBW-102UB. Celui-ci est reconnue disrectement sous Fedora:
# tail -f /var/log/message
Jan 11 16:47:37 gollum kernel: Bluetooth: HCI USB driver ver 2.9
Jan 11 16:47:37 gollum kernel: usbcore: registered new driver hci_usb
Jan 11 16:47:37 gollum hcid[2060]: HCI dev 0 registered
Jan 11 16:47:37 gollum hcid[2060]: Register path:/org/bluez/hci0 fallback:0
Jan 11 16:47:37 gollum hcid[2060]: HCI dev 0 up
Jan 11 16:47:37 gollum hcid[2060]: Device hci0 has been added
Jan 11 16:47:37 gollum hcid[2060]: Starting security manager 0
Jan 11 16:47:37 gollum hcid[2060]: Device hci0 has been activated
Vous pouvez alors tester le téléchargement de fichier sous votre portable en faisant un click droit sur le fichier puis « Envoyer à … ». Une fenêtre s’ouvre alors, il suffit de selectionner le portable:
Votre portable devrait recevoir l’image (après vous avoir demandé l’autorisation).
D’autre fonction son aussi disponibles, comme la possibilité d’envoyer des SMS via son portable (pratique si comme moi vous n’êtes pas assez jeune pour connaitre la langue SMS…). Il faut pour cela installer un package nommé gnome-phone-manager.
(en root)
# yum install gnome-phone-manager
Au premier lancement du programme, il faut configurer avec quel equipement il va communiquer (votre téléphone portable Bluetooth dans notre cas). Pour cela allez dans le menu Preferences / Connection puis saisir les informations suivantes:
Phone Manager vous demandera alors un code PIN. D’abord sur votre portable puis sur votre PC.
Il ne vous reste plus qu’a rediger le SMS avec votre clavier !
Nous allons dans ce post décrire le moyen de créer un tunnel IPSec entre deux réseaux distants et ainsi former un réseau privée virtuel (ou VPN pour les intimes).
Un VPN ou Virtual Private Network, est un tunnel logique (par opposition au réseau privé) établi entre deux entités et dans lequel les données circulant ne sont pas « visibles » de l’extérieur. Cette « invisibilité » peut être due par exemple à un chiffrement des données ou à un protocole particulier des échanges de données. Dans le cas des VPN IPSEC, on aurait tendance à dire qu’un VPN assure que les données circulent de façon sécurisée : les deux entités sont authentifiées, l’intégrité des données est vérifiée, et les données peuvent circuler chiffrées sur le réseau IP.
IPSEC est un protocole réseau de niveau 3, comme le protocole IP, mais auquel ont été rajoutées des fonctions de sécurité, comme le chiffrement des données par exemple. Le protocole IPSEC est prévu en natif dans la nouvelle version du protocole IP : IPV6.
Le protocole IPSEC permet deux traitements des données dans le tunnel :
Le premier traitement correspond au protocole AH1 (Authentication Header). Ce protocole permet de s’assurer de l’identité des deux extrémités du tunnel et de l’intégrité des données (les données reçues sont bien les données envoyées, elles n’ont pas été modifiées au passage).
Mais il est important de savoir que les données circulent en clair. En fait, techniquement, le protocole AH consiste à rajouter une entête à la trame IP, mais la partie « data » de la trame IP n’est pas changée.
Le deuxième traitement correspond au protocole ESP2 (Encapsulation Security Payload) et assure en plus de l’authentification, le chiffrement des données. Techniquement, la trame IP originelle est chiffrée et réencapsulée dans une autre trame IP.
Enfin, on peut encore dire sur le protocole IPSEC que celui-ci est particulièrement souple et n’impose aucun algorithme de chiffrement ou de hachage. Les deux extrémités du tunnel se mettent d’accord entre elles sur les modalités avant l’établissement du VPN.
Le mode Tunnel remplace les en-têtes IP originaux et encapsule la totalité du paquet IP. Par exemple, l’adresse IPA externe pourra être celle de la passerelle de sécurité implémentant IPSec, et l’adresse IPB interne sera celle de la machine finale, sur le réseau derrière la passerelle.
La configuration suivante est donnée sur un système FreeBSD (4.x).
Il faut d’abord configurer sur les deux routeurs VPN les fichiers /etc/racoon.conf et /etc/psk.txt de la manière suivante:
Racoon.conf (commun)
path pre_shared_key « /usr/local/etc/racoon/psk.txt » ;
remote anonymous
{
exchange_mode aggressive,main,base;
lifetime time 24 hour; # sec,min,hourproposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key ;
dh_group 2 ;
}
}
sainfo anonymous
{
pfs_group 2;
lifetime time 12 hour;
encryption_algorithm 3des ;
authentication_algorithm hmac_sha1 ;
compression_algorithm deflate ;
}
psk.conf (sur routeur A)
psk.conf (sur routeur B)
Ensuite il faut monter le tunnel IPSec au demarrage de la machine (ou à la demande). Pour cela j’utilise un script que je met dans le répertoire /usr/local/etc/rc.d:
000.ipsec.sh (sur le routeur A)
#!/bin/shcase « $1 » in
start)
setkey -F
setkey -FP
setkey -c / / any -P out ipsec esp/tunnel/-/require ;
spdadd / / any -P out ipsec esp/tunnel/-/require ;
EOF
route add -net /
;;
stop)
route -n delete -net /
setkey -F
setkey -FP
;;
*)
echo « Usage: `basename $0` {start|stop} » >&2
;;
esacexit 0
Faire de même sur le routeur B en inversant les adresses IP.
Pour lancer le tunnel IPSec:
# /usr/local/etc/rc.d/000.ipsec.sh start
Pour detruire le tunnel IPSec:
# /usr/local/etc/rc.d/000.ipsec.sh stop
Voili A+
Voici un tutorial pour insérer automatiquement une citation aléatoire dans la signature de vos e-mail.
La premiere chose a faire est d’installer Fortune. Ce script permet d’extraire aléatoirement une citation dans une base de données.
# yum install fortune-mod
Des bases de données sont fournies en standard (mais en Anglais) avec le script. Elles sont localisées dans le répertoire suivant (sous Fedora): /usr/share/games/fortune/
Pour ajouter une nouvelle base de données, vous pouvez vous rendre sur le site suivant: http://www.fortunes-fr.org/
Celui-ci regroupe quelques bases classées par thémes:
• cinema : Citations extraites du monde du cinéma
• humoristes : Citations d’humoristes
• informatique : Citations en rapport avec l’informatique
• litterature_etrangere : Extraits d’oeuvres littéraires étrangères
• litterature_francaise : Extraits d’oeuvres littéraires françaises
• personnalites : Citation de personnes connues, principalement du show business
• proverbes : Proverbes et dictons d’origine diverse
…
Pour installer une nouvelle base de données (par exemple litterature_etrangere), il faut suivre la procédure suivante (en root):
# cd /usr/share/games/fortune/
# wget http://www.fortunes-fr.org/data/litterature_etrangere
# strfile litterature_etrangere litterature_etrangere.dat
Ensuite l’utilisation en ligne de commande est très simple:
# fortune litterature_etrangere
La vérité souffre d’être trop analysée.
-+- Frank Herbert, Dune -+-
Dans Evolution, pour insérer automatiquement une citation dans la signature de vos emails, il faut d’abord créer un script tout simple:
# cd ~/bin/
# vi citation-litterature_etrangere.sh
#!/bin/sh
/usr/bin/fortune litterature_etrangere
# chmod 700 citation-litterature_etrangere.sh
puis dans Evolution, ouvrir le menu: Editions / Preferences / Preferences de l’editeur / Signatures puis cliquer sur le bouton Ajouter un script et saisir les informations suivantes:
Lors de la rédaction du mail, il ne vous reste plus qu’a choisir la signature Citation litterature_etrangere et le tour est joué !
a+