Cédric LEULLIER

mercredi 24 septembre 2014

Configurer EXIM4 en smarthost avec support SSL

Ce post explique comment configurer le serveur de mail Exim4 pour relayer les emails vers le serveur SMTP de son FAI. Cette configuration est largement détaillée sur internet, mais la particularité ici est d'utiliser le protocole SSL.

Le système utilisé est une distribution Debian GNU/Linux 7.4 Wheezy et le FAI est ici OVH.

Commençons par installer le serveur Exim4 :

# aptitude install exim4
et configurerons le en mode relais ("smarthost") :
# dpkg-reconfigure exim4-config
en choissant :
  • Envoi par relais ("smarthost") - réception SMTP ou fetchmail
  • Nom du courrier du système : votre_nom_de_domaine.fr
  • Liste des adresses IP où Exim sera en attente de connexions SMTP entrantes : -vide-
  • Autres destinations dont le courrier doit être accepté : votre_nom_de_domaine.fr
  • Domaines à relayer : -vide-
  • Machines à relayer : votre_réseau_local
  • Nom réseau ou adresse IP du système " smarthost " : ssl0.ovh.net::465
  • Faut-il cacher le nom local de courrier dans les courriers sortants ? : Non
  • Faut-il minimiser les requêtes DNS (connexions à la demande) ? : Non
  • Méthode de distribution du courrier local : Format "mbox" dans /var/mail
  • Faut-il séparer la configuration dans plusieurs fichiers ? : Oui
votre_réseau_local est généralement de la forme "192.168.0.0/24".
Notez également la présence des deux doubles points pour définir le port de connexion dans l'adresse du serveur smtp du FAI "ssl0.ovh.net::465". Attention cependant, bien que l'adresse soit celle utilisée par OVH pour les connexions sécurisées SSL, l'utilisation du protocole SSL n'a pas encore été défini dans notre configuration d'Exim4.

A l'issu de cette installation :

  1. les fichiers de configurations sont dans /etc/exim4/. Après toute modification manuelle de ces fichiers, il faudra exécuter les commandes :
    # update-exim4.conf
    # service exim4 restart
    
    pour prendre en compte les modifications.

  2. le fichier /etc/mailname contient votre_nom_de_domaine.fr entré lors de la configuration précédente;

  3. le fichier /etc/aliases contient les redirections de courriers des comptes utilisateurs du système;
    le fichier /etc/email-addresses contient les adresses mails "publiques" à utiliser pour les comptes utilisateurs du système;
    Après toute modification manuelle de ces deux fichiers, il faudra exécuter la commande :
    # newaliases
    
    pour prendre en compte les modifications.

Configurons maintenant le mode SSL.

Pour cela, il faut éditer le fichier /etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_smarthost et rajouter les lignes en gras :

                                                                                                                                                                                                                                                                              
### transport/30_exim4-config_remote_smtp_smarthost                                                                                                                                                                                                                           
#################################                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                              
# This transport is used for delivering messages over SMTP connections                                                                                                                                                                                                        
# to a smarthost. The local host tries to authenticate.                                                                                                                                                                                                                       
# This transport is used for smarthost and satellite configurations.                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                              
remote_smtp_smarthost:                                                                                                                                                                                                                                                        
  debug_print = "T: remote_smtp_smarthost for $local_part@$domain"                                                                                                                                                                                                            
  driver = smtp                                                                                                                                                                                                                                                               
  protocol = smtps                                                                                                                                                                                                                                                            
  hosts_require_auth = ssl0.ovh.net                                                                                                                                                                                                                                           
                                                                                                                                                                                                                                        
  hosts_try_auth = <; ${if exists{CONFDIR/passwd.client} \                                                                                                                                                                                                                    
        {\                                                                                                                                                                                                                                                                    
        ${lookup{$host}nwildlsearch{CONFDIR/passwd.client}{$host_address}}\                                                                                                                                                                                                   
        }\                                                                                                                                                                                                                                                                    
        {} \                                                                                                                                                                                                                                                                  
      }                                                                                                                                                                                                                                                                       
.ifdef REMOTE_SMTP_SMARTHOST_HOSTS_AVOID_TLS
  hosts_avoid_tls = REMOTE_SMTP_SMARTHOST_HOSTS_AVOID_TLS
.endif
.ifdef REMOTE_SMTP_HEADERS_REWRITE
  headers_rewrite = REMOTE_SMTP_HEADERS_REWRITE
.endif
.ifdef REMOTE_SMTP_RETURN_PATH
  return_path = REMOTE_SMTP_RETURN_PATH
.endif
.ifdef REMOTE_SMTP_HELO_DATA
  helo_data=REMOTE_SMTP_HELO_DATA
.endif
.ifdef TLS_DH_MIN_BITS
tls_dh_min_bits = TLS_DH_MIN_BITS
.endif
Les lignes à rajouter sont donc :
protocol = smtps
hosts_require_auth = ssl0.ovh.net                                                                                                                                                                                 
et éditons maintenant le fichier /etc/exim4/passwd.client pour définir l'utilisateur et le mot-de-passe à utiliser pour la connexion à OVH :
# password file used when the local exim is authenticating to a remote
# host as a client.
#
# see exim4_passwd_client(5) for more documentation
#
# Example:
### target.mail.server.example:login:password
ssl0.ovh.net:votre_utilisateur@votre_nom_de_domaine.fr:votre_mot_de_passe
votre_utilisateur@votre_nom_de_domaine.fr doit être défini dans l'interface de gestion de votre FAI, ici OVH.

Puis comme expliqué plus haut, il faut utiliser successivement les commandes :

# update-exim4.conf
# service exim4 restart
pour prendre en compte les modifications.

Maintenant vous pourrez envoyer des mails vers l'extérieur en passant par votre serveur Exim4.

mercredi 17 mars 2010

Le SheevaPlug, plus petit tu meurs !

Je n'ai pas pu résister à la tentation de me procurer un des plus petits serveurs au monde, le SheevaPlug de Marvell Technology. C'est un petit boîtier pas plus gros qu'une prise de courant, de la taille des transformateurs pour certaines imprimantes ou ordinateurs portables. On appelle ça un plug computer.

Il recèle un processeur ARM cadencé à 1,2 GHz avec 512 MO de mémoire RAM et une mémoire flash de 512 MO. On peut lui adjoindre un périphérique USB 2.0 ou une carte SD pour ajouter de l'espace de stockage. Il est doté d'une interface réseau Ethernet Gigabit. Le tout ne consommant que 5 Watt par heure et étant entièrement silencieux, c'est l'outil idéal pour monter un serveur domestique que ce soit pour faire du partage de fichiers, un serveur multimédia, un serveur WEB ou un serveur mail.

Actuellement le seul bémol, c'est qu'on ne peut l'acheter qu'à l'étranger (Etats-Unis ou Angleterre) et son prix relativement bas à l'origine (environ 70 euros) double avec les frais de port (environ 30 euros) et les taxes de douanes (encore 30 euros) ! :-(

Comme à l'acoutumé, j'y ai installé mon système favori, à savoir une distribution Debian GNU/Linux Squeeze (testing) en suivant les conseils de Martin Michlmayr. L'installation s'est déroulée sans encombre une fois le fonctionnement de la console d'administration maîtrisée. En effet, le SheevaPlug possède un autre port USB fonctionnant uniquement en mode terminal et permettant de le relier à un ordinateur pour afficher la console d'administration. Cette console est utile uniquement au moment de l'installation, le SheevaPlug fonctionnant par la suite de façon entièrement autonome.

J'utilise le SheevaPlug comme serveur de mails pour pouvoir accéder à ces derniers depuis n'importe qu'elle machine (ordinateur fixe, EeePC ou autre). J'ai installé pour cela le serveur groupware KOLAB qui a une forte intégration avec l'environnement KDE que j'utilise sur mes différents postes clients. Il centralise non seulement les e-mails, mais aussi les contacts, les calendriers et les notes des utilisateurs. J'en reparlerai sûrement dans un autre article... quand j'aurai fini de le configurer correctement. ;-)

dimanche 13 septembre 2009

Serveur UPnP sur NSLU2 pour Freebox HD

Cet article explique comment installer un serveur UPnP (Universal Plug and Play) sur une distribution Debian GNU/Linux 5.0 Lenny pour accéder à ses fichiers multimédia depuis l'interface de la Freebox HD.

Mon serveur est ici mon boîtier Linksys NSLU2 et le serveur multimédia UPnP est MediaTomb.

La première chose à faire a été de mettre à jour ma distribution Debian sur le serveur NSLU2 de la version 4.0 Etch à la version 5.0 Lenny (voir ce site) car les paquets mediatomb n'apparaissent qu'à partir de la version 5.0 Lenny.

Ensuite l'installation de MediaTomb depuis la console d'administration du NSLU2 est aussi simple qu'un :

# aptitude install mediatomb.

Pour configurer MediaTomb, il suffit ensuite de suivre les indications du blog de Yoann en accédant depuis votre navigateur internet à la console d'administration de MediaTomb à l'adresse http://<ipv4 du serveur>:49152.


Par contre, tout ce complique si comme moi vous utilisez un firewall pour protéger votre serveur. La suite de cet article se propose donc de vous expliquer comment configurer les règles netfilter/iptables pour permettre l'accès à votre serveur depuis la Freebox HD.

Avant toute chose, je tiens à préciser comme rappelé sur nombre de forums qu'il est inutile d'activer la fonction de routage de l'UPnP dans l'interface d'administration de la Freebox. L'usage que nous faisons de l'UPnP se limite ici au réseau local et n'a donc pas besoin d'être "routé" vers l'extérieur.

Le fonctionnement de l'UPnP est un peu particulier car les appareils UPnP annoncent leur présence sur le réseau en envoyant un message UDP sur le port 1900 à l'adresse IP 239.255.255.250, qui est une adresse fictive (aucun équipement sur le réseau local n'a effectivement cette adresse). Les clients UPnP se connectent ensuite en TCP sur le port 49152 du serveur UPnP. Une fois qu'on a compris ça, le reste devient plus logique.

  1. Créer la route vers le réseau virtuel 239.0.0.0 :
  2. Il suffit pour cela d'éditer le fichier /etc/default/mediatomb et de renseigner la ligne INTERFACE="eth0" en précisant l'interface réseau utilisée (ici eth0 pour moi). Si cette ligne n'est pas renseignée la route ne sera pas créée. Il faut ensuite relancer le service MediaTomb :

    # /etc/init.d/mediatomb restart

  3. Paramétrer le firewall pour permettre les connexions UPnP :
  4. Créons le fichier iptables.UPnP et définissons quelques variables :

    # Réseaux et hôtes
    NSLU2=192.168.0.128
    PC_ADMIN=192.168.0.1
    FREEBOX_ADSL=192.168.0.254
    #FREEBOX_HD=192.168.27.14
    LAN=192.168.0.0/16
    UPNP_Broadcast=239.255.255.250
    
    # Ports
    MEDIATOMB_port=49152
    SSDP_port=1900
    

    Permettons ensuite l'émission et la réception des messages d'annonce sur le port 1900 du poste virtuel 239.255.255.250 :

    # Autoriser le serveur à s'annoncer pour les services UPNP
    iptables -t filter -A OUTPUT -o eth0 -m state --state NEW -s ${NSLU2} -d ${UPNP_Broadcast} -p udp --sport 1024: --dport ${SSDP_port} -j ACCEPT
    #Autoriser le serveur à écouter les messages d'annonce pour les services UPNP
    iptables -t filter -A INPUT -i eth0 -m state --state NEW -s ${LAN} -d ${UPNP_Broadcast} -p udp --sport 1024: --dport ${SSDP_port} -j ACCEPT
    

    Autorisons maintenant la Freebox HD à se connecter à notre serveur sur le port UPnP 49152. Attention, ici ce n'est pas l'adresse IP de la Freebox HD que nous renseignons, mais celle de la Freebox ADSL. En effet, il semble que la Freebox HD ne se connecte pas directement sur notre serveur, mais qu'elle le fasse par l'intermédiaire de la Freebox ADSL.

    # Autoriser les connexions TCP UPNP depuis la Freebox HD via la Freebox ADSL
    iptables -t filter -A INPUT -i eth0 -m state --state NEW -s ${FREEBOX_ADSL} -d ${NSLU2} -p tcp --sport 1024: --dport ${MEDIATOMB_port} --syn -j ACCEPT

    Autorisons ensuite le PC d'administration à se connecter à l'interface WEB de MediaTomb :

    # Autoriser les connexions HTTP pour MEDIATOMB depuis le poste d'administration
    iptables -t filter -A INPUT -i eth0 -m state --state NEW -s ${PC_ADMIN} -d ${NSLU2} -p tcp --sport 1024: --dport ${MEDIATOMB_port} --syn -j ACCEPT
    

    Il est évident que ces règles iptables ne suffisent pas à elles seules et qu'il faut définir les politiques par défaut et permettre les connexions déjà établies en interdisant tout ce qui n'a pas été clairement autorisé. Pour un exemple complet, voir mon fichier iptables.UPnP.

Maintenant, votre serveur UPnP devrait être accessible depuis votre Freebox HD.

dimanche 3 mai 2009

Debian sur Asus EeePC 1000HE

Je viens de faire l'acquisition d'un netbook Asus EeePC 1000HE (voir le site de Blogeee.net pour une description détaillée). Ce dernier est livrée avec Microsoft Windows XP service pack 3. Autant vous dire qu'il n'a pas tenu plus d'une heure sur mon netbook, juste le temps de faire quelques tests et de vérifier que tout fonctionne. J'y ai donc installé mon système préféré, à savoir une distribution Debian GNU/Linux :-D .

Je me suis aidé pour cela du très bon wiki dédié aux EeePC de Debian.org (http://wiki.debian.org/fr/EeePC). Il m'a suffit de récupérer leur installateur custumisé pour EeePC, c'est une Debian Lenny 5.0, et de le flasher sur une clé USB pour ensuite booter dessus (tout est très bien expliqué sur le wiki). Le système s'installe normalement et rajoute automatiquement toutes les fonctions nécessaires pour l'utilisation des netbooks Asus EeePC.

Le seul inconvénient avec l'Asus EeePC 1000HE est qu'il utilise une toute nouvelle puce pour le WIFI qui n'est pas supportée par le noyau Linux livré avec la distribution Debian Lenny 5.0, c'est le noyau linux kernel 2.6.26. Mais cela n'a pas été un inconvénient bien longtemps puisque le noyaux linux kernel 2.6.29 disponible pour la version de développement de Debian (Debian Sid) supporte déjà cette puce WIFI et livre pour cela le driver ath9k. Je vais donc vous expliquer comment utiliser cette nouvelle version du noyau Linux avec la version stable de Debian.

APT, le très bon système de packages de Debian (c'est le gestionnaire de programmes de Debian), permet en effet de mixer différentes versions de Debian sans rompre la gestion des dépendances des différents paquets installés. Je vous propose donc de mixer les versions stable et de développement :

  1. Il faut rajouter les liens vers les serveurs de dépôt de la version de développement (Sid). Pour cela créez et renseignez le fichier /etc/apt/sources.list.d/unstable.list :
    # Distribution: unstable
    deb http://ftp.fr.debian.org/debian/ unstable main non-free contrib
    deb-src http://ftp.fr.debian.org/debian/ unstable main non-free contrib
    
  2. Mais il faut aussi que APT sache quelle est la version à privilégier pour l'utilisation courante du système. Pour cela créez et renseignez le fichier /etc/apt/apt.conf.d/02default-release :
    APT::Default-Release "stable";
    
  3. Il faut dire à APT de prendre en compte les changements (en utilisant apt-get ou aptitude): $ aptitude update
Voilà le mixage entre la version stable et unstable est réalisé, il ne reste plus qu'à installer la dernière version du noyau Linux.

Comme il n'y a pas d'ambiguïté sur la version du noyau, il n'est pas nécessaire de préciser de quelle distribution provient le paquet linux-image-2.6.29-686. En effet, pour d'autres programmes il faudrait préciser à APT qu'on veut utiliser un paquet de la distribution unstable - Sid plutôt que de la version stable. Ici, il suffit juste d'installer le paquet normalement :

$ aptitude install linux-image-2.6.29-686
Debian se charge alors d'installer le nouveau noyau et de le rajouter à la liste des noyaux disponibles lors du boot pour Grub ou Lilo selon votre configuration. Il ne vous reste plus qu'à redémarrer votre netbook et cerise sur le gâteau, le nouveau noyau détecte automatiquement votre matériel et charge de lui même les bons drivers, dont le fameux driver ath9k pour le WIFI ! :-D

C'est quand même beau Linux, non ? ;-)

 

Remarque : vous trouverez une copie de ce message et d'autres commentaires sur les sites :

dimanche 21 septembre 2008

Wyse S50 et LTSP 5

Voilà maintenant quelques mois que je me suis procuré le client graphique Wyse S50, dont je relatais l'intérêt dans mon billet Vers l'informatique de demain... - Retour aux années DISCO ! -. Après quelques difficultés de bande passante dues à une solution de liaison par courant porteur-en-ligne défectueuse (les débits ne dépassaient pas les 8 Mbps en pointe et les 2 Mbps en vitesse de croisière), j'ai fini par relier ma relique et mon Wyse S50 par un câble ethernet m'assurant un débit en pointe proche des 100 Mbps et une vitesse de croisière de l'ordre des 8 Mbps. Maintenant que la liaison est fiable, je vais pouvoir vous parler de l'utilisation de LTSP 5.

LTSP signifie Linux Terminal Server Project (voir la page de Wikipedia). Il permet de mettre facilement en place une architecture de type client-serveur. L'avantage de cette solution est que la partie client est elle aussi installée sur le serveur (dans un répertoire dédié appelé sous Linux CHROOT). Il n'y a donc rien à configurer sur le poste client à part le boot réseau, qui sur le client Wyse S50 se fait naturellement par le biais de PXE. J'ai donc installé la partie serveur et la partie client sur ma relique qui joue ici le rôle de serveur.

Une fois que tout est installé, il suffit de lancer le serveur et d'allumer le client. Ce dernier qui est ici le client léger Wyse S50 interroge le réseau pour obtenir sa configuration réseau (adresse IP, adresse de la passerelle, des DNS, etc...), puis lance une requête PXE pour obtenir un système d'exploitation. Dans ces deux étapes, c'est ma relique qui lui répond et fournit le système d'exploitation Debian GNU/Linux. Un fois ce dernier chargé et exécuté sur le client, ce dernier lance l'interface graphique X Window et attend le login et mot-de-passe de l'utilisateur. L'utilisateur se connecte alors directement au serveur et travaille comme s'il était réellement sur celui-ci.

LTSP 5 permet non seulement de transférer l'affichage graphique et la saisie du clavier et de la souris d'un poste sur l'autre, mais il permet aussi de transférer le son et la vidéo. Il permet aussi de prendre en compte et de partager tout périphérique USB branché sur le client, comme une clé USB, une imprimante ou un scanner.

Dans mon cas, LTSP 5 permet de partager l'utilisation de ma relique avec le client Wyse S50 branché sur la télévision. Cela permet d'avoir deux utilisateurs différents connectés simultanéement sur ma relique à deux endroits différents. :-D

Ma relique

Ce billet n'a pas vraiment d'intérêt en soi, mais il servira de référence pour de futurs billets.

Ce que j'appelle ma relique n'est autre que ma bécanne... c'est-à-dire mon ordinateur personnel, que je vais essayer de vous décrire ici :

  • Carte-mère : ASRock K7VT4A PRO (un vieux truc pas cher; ASRock est une sous-marque d'Asus);
  • CPU : AMD Duron 1,3 GHz (un processeur 32 bits équivalent à un Celeron d'Intel);
  • RAM : 758 MO (on est loin des Giga-octets d'aujourd'hui);
  • Carte vidéo : nVidia GeForce FX 5200 (complêtement dépassée aujourd'hui);
  • Cartes son et ethernet intégrés à la carte mère;
  • OS : Debian GNU/Linux (actuellement la version lenny).

Eh bien, tout ça marche très bien avec Linux et KDE. :-D Avec Wouindose, il y a longtemps que j'aurais dû changer de bécanne ! :-( Mais là n'est pas la question. Comme nous le verrons dans de futurs billets, c'est incroyable ce qu'on arrive à faire avec un viel ordinateur comme ma relique !!!

samedi 5 avril 2008

Vers l'informatique de demain... - Retour aux années DISCO ! -

Dans les années 70, l'informatique d'entreprise reposait essentiellement sur un serveur centralisé déservant plusieurs terminaux informatiques.

Aujourd'hui la tendance est à revenir à ce type d'infrastructure avec de petits clients légers, que ce soit dans l'éducation, les banques, les sociétés de services ou l'industrie. Il suffit d'aller sur le site du constructeur Wyse, actuellement leader dans ce domaine pour avoir une idée de l'ampleur des entreprises utilisant cette solution.

Au niveau des applications, plusieurs solutions Open-Sources pour l'éducation nationale ont été développées :

Je me suis procuré aux enchères sur eBay un tel client léger pour le quart de son prix. Il s'agit du Wyse S50 :

  • Microprocesseur : AMD Geode GX cadencé à 366 MHz;
  • 128 MO de RAM;
  • Carte vidéo affichant du 1280 x 1024 pixels en 16,7 millions de couleurs;
  • Carte son intégrée avec ports pour enceintes et micro;
  • Carte réseau Fast Ethernet 10/100 Mbps;
  • 1 port série RS232 et 4 ports USB 2.0.

L'intérêt de ce genre de produit est :

  • son faible encombrement (18cm x 12cm x 3,4 cm);
  • sa faible consommation électrique : 7 kW/h - Vive l'écologie !!! :-D ;
  • son silence : pas de disque dur, pas de ventilateur, pas de pièces mécaniques;
  • sa facilité d'administration : l'installation de logiciels et la maintenance se font une seule fois pour tous les postes, sur le serveur;
  • son faible coût d'acquisition : neuf environ 200 à 300 € suivant la configuration.

Mon objectif est de tester une telle solution et la possibilité de son déploiement dans un bureau d'études avec des postes Autocad.

Affaire à suivre ... ;-)

vendredi 14 mars 2008

Une mule dans mon NSLU2

Mais jusqu'où ira ce petit boîtier ???

Je parle biensûr de mon micro-serveur, le Linksys NSLU2 ! Après y avoir installé un serveur FTP et un serveur WEB couplé à une base de données, je viens d'y installer un clone d'eMule, MLDonkey, un serveur Peer-to-peer multi-réseaux (edonkey, bittorrent, Gnutella, Kad et FastTrack) et open-source développé pour Linux.

L'intérêt de MLDonkey sur ces concurrents comme aMule ou xMule est qu'il est composé de deux programmes distincts. Le premier fournit la partie serveur. Il est donc dépourvu d'interface graphique, occupe très peu de ressources et est autonome. Il convient parfaitement à une utilisation sur un micro-serveur comme le Linksys NSLU2. Le second regroupe justement ce qui manque au premier, c'est-à-dire une interface graphique. Il peut être exécuté sur une autre machine et communiquer avec le premier via le réseau ethernet. Toute la puissance d'une telle installation réside dans le fait que c'est le serveur qui gère les téléchargements. Le client graphique ne sert qu'à lui donner des ordres et à surveiller l'évolution des téléchargements. On peut donc éteindre sereinement son ordinateur et laisser le serveur continuer à télécharger et lorsqu'on rallumera son ordinateur, on pourra vérifier grâce au client graphique où en sont les téléchargements. Pratique, non ? :-D

Son utilisation est facilitée par les scripts développés par la distribution Debian GNU/Linux, mais son installation nécessite quelques ajustements. J'ai mis à jour Mon_Serveur-HOWTO pour expliquer cela.

Je rappelle à l'occasion que le téléchargement de contenus protégés par des droits d'auteur est illégal. Cependant, le Peer-to-peer n'est pas illégal en soi et permet d'accéder à tout le contenu libre de droits de manière simple et efficace. Alors, pourquoi s'en priver ? ;-)

dimanche 18 novembre 2007

Les Bijoux de Marie

Je viens de finir la mise en forme du site de ma femme consacré à sa confection de bijoux en dentelles, en tissus ou en laine.

L'adresse de ce site internet est : http://lesbijouxdemarie.free.fr/.

Rien ne vaut une petite visite pour ce faire une idée... ;-)

dimanche 17 juin 2007

Western Digital My Book et flashage du NSLU2

Je me suis offert un disque dur externe sur port USB 2.0 Western Digital My Book Essential Edition de 250 GO pour améliorer l'utilisation de mon micro-serveur :

Western Digital My Book
  • plus grande capacité de stockage;
  • plus silencieux;
  • meilleure gestion de l'énergie;
  • le disque et le transformateur chauffent moins;
  • un design sympathique.

Pour pouvoir l'installer à la place de l'ancien disque dur externe, j'ai dû réinstaller la distribution GNU/Linux Debian Etch 4.0 en utilisant le Debian/NSLU2 Installer et en flashant la ROM du Linksys NSLU2.

J'ai donc pour cela suivi la procédure d'installation du site Cyrius :

  1. télécharger sur http://www.slug-firmware.net/ la dernière version de l'Installer Debian/NSLU2.
  2. mettre le boîter Linksys NSLU2 en mode mise à jour;
  3. utiliser le programme UpSlug2 pour flasher la ROM de ce dernier.

Et tout c'est passé à merveille ! :-D

Merci à l'équipe de NSLU2-Linux pour le formidable travail réalisé ! ;-)

dimanche 10 juin 2007

Mise à jour de ma Debian/NSLU2

Suite du message Micro-serveur à petit prix.

J'ai fait une mise à jour du système en utilisant la dernière version stable de la distribution GNU/Linux Debian Etch 4.0 et maintenant le site web basé sur une système LAMP (Linux + Apache + mySQL + PHP) avec Dotclear marche à merveille ! :-D

Mon petit serveur Linksys NSLU2 fait donc tourner :

  • un serveur OpenSSH pour l'administration à distance;
  • un serveur vsftp pour le partage de fichier via FTP encrypté;
  • un serveur web sécurisé : Apache avec support SSL (pour le cryptage) et PAM (pour l'authentification);
  • le support des pages dynamiques en PHP pour Apache;
  • une base de données MySQL;
  • un blog tournant sous Dotclear.

Et tout ça, fonctionnant dans un petit boîter avec 32 MO de RAM !!! :-)

J'ai mis en ligne un HOWTO pour configurer tout ça.
Vous le trouverez ici : Mon Serveur - HOWTO.

jeudi 7 juin 2007

Root66 - LUG des Yvelines

Je viens de découvrir le groupe d'utilisateurs de Linux (LUG - Linux User Group - en anglais) des Yvelines. Il se nomme Root66 et son site est à l'adresse suivante : http://www.root66.net

J'ai discuté sur leur canal IRC avec fraazz, un de leur principal membre qui m'a donné quelques infos sur ce groupe :

  • Cette association regroupe une quarantaine de personnes dont 15 membres actifs.
  • La fourchette d'âge de ces membres va de l'étudiant au retraité.
  • L'activité principale de ces membres est très variée (éducation, industrie, médecine, etc...)
  • Ils sont basés à Saint-Cyr l'École.
  • Ils occupent le terrain par des install party, des présentations de logiciels libres et aident les utilisateurs en difficultés par l'intermédiaire de leur forum de discussions.
  • Ils se réunissent environ une fois par mois pour préparer les différents événements.

C'est donc une petite association fort sympathique qui aide à la promotion des logiciels libres.

Je vous conseille donc d'y faire un tour... ;-)

samedi 10 février 2007

Micro-serveur à petit prix

Depuis plusieurs mois, je cherche à créer chez moi un petit serveur pour le partage des fichiers, essentiellement des photos, pour la famille et les amis.

J'avais dans un premier temps configuré un vieil ordinateur en serveur FTP avec interface WEB, le tout sécurisé par encryptage des données grâce à SSH. Les deux inconvénients majeurs de cette solution étaient le bruit dégagé par l'ordinateur et sa consommation électrique.

J'ai donc cherché une solution de rechange en ouvrant un fil de discussion sur mon forum préféré (le sujet est ici sur LinuxFR.org). Là, on m'a conseillé une solution originale : détourner le fonctionnement normal d'une unité de stockage réseau (NAS - Network Attached Storage) pour en faire un vrai petit serveur ! L'intérêt de cette solution est double : son prix (75€ chez LDLC) et son silence (aucun bruit dégagé) !!! C'est exactement ce que je recherche !

Comment cela est-il possible me direz-vous ? Et bien voilà...

Il s'agit en fait de l'unité de stockage réseau pour disques durs USB 2.0 Linksys NSLU2.

Le boîtier Linksys NSLU2 C'est un petit boîtier qui tient dans la main (13 cm de haut, 9 cm de profondeur et 2 cm de large) dépourvu de disque dur. On y connecte au choix, soit des disques durs USB, soit des clefs USB, sur les deux ports USB 2.0 disponibles. Le processeur est un processeur Intel XScale (technologie ARM) cadencé à 266 MHz, qui ne chauffe pas et n'a donc pas besoin de ventilateur, d'où l'absence de bruit. Il est pourvu de 32 MO de RAM, ce qui peut paraître faible, mais qui est suffisant pour une utilisation en micro-serveur. On le connecte au réseau par un port ethernet 10/100 Mbits.

Linksys n'est autre que la filiale grand public de Cisco Systems, un des leaders mondials des infrastructures réseaux et télécommunications. Or ce dernier investit massivement dans Linux, le système d'exploitation UNIX libre, et sa filiale l'implémente dans plusieurs de ses produits. Conformément à la philosophie des logiciels libres, Linksys redistribue les sources et les spécifications de ces produits à la communauté du logiciel libre.

Ainsi, l'unité de stockage réseau NSLU2 de Linksys est pilotée par un système Linux et les spécifications de ce dernier sont connus. Il suffit alors de paramétrer son propre système Linux et de l'injecter dans le NSLU2 par l'intermédiaire de la mise à jour du firmware. On dispose alors d'un contrôle total du boîtier.

C'est là la grande force des logiciels libres qui permettent d'adapter un système à ses propres besoins. Mais rassurez-vous, vous n'avez pas besoin de fabriquer votre propre système Linux. D'autres l'ont fait pour vous et ont mis leurs travaux sur internet. Un projet de système Linux spécifique au Linksys NSLU2 a même été mis en place. Il s'agit de NSLU2-Linux. L'installation d'une distribution GNU/Linux Debian Etch spécialement configurée pour le NSLU2 est entièrement décrite sur le site. En résumé, il suffit de récupérer le Debian/NSLU2 Installer sur le site http://www.slug-firmware.net/ et de procéder à la mise à jour du firmware dans l'interface d'administration du boîtier. C'est aussi simple que ça et on n'a plus qu'à se laisser guider par la procédure d'installation du système GNU/Linux Debian Etch.

On y accède ensuite par un shell sécurisé via SSH pour l'administrer. OpenSSH fournit aussi le protocole SFTP qui permet d'y transférer des fichiers de manière simple et sécurisée. On peut dès lors installer n'importe quel serveur disponible pour Linux, mais attention aux ressources mémoires qui sont limitées à 32 MO !

Pour le moment, j'y ai installé un serveur FTP en utilisant vsftpd et openssl pour l'encryptage des données.

J'avais également installé un serveur web Apache 2 avec le support PHP et la base de données MySQL pour faire fonctionner un blog sous DotClear. Mais là j'ai été trop gourmand compte tenu de la mémoire disponible... Cependant, le serveur n'a pas planté. L'accès aux pages du blog était tout simplement impossible car le serveur mySQL était trop long à répondre. Pourtant, l'administration de la base de donnée par PhpMyAdmin qui utilise la même combinaison Apache 2 / PHP / MySQL fonctionnait bien. Il faut croire que c'est DotClear qui est trop gourmand en mémoire, mais je n'ai pas poussé les tests plus loin.

Prochaine étape : installer un serveur OpenLDAP avec une base de données MySQL pour le partage des carnets d'adresses. On verra bien si c'est MySQL qui est trop gourmand en mémoire ou si c'était effectivement DotClear... ;-)

dimanche 4 février 2007

Courant Porteur en Ligne - CPL

J'ai récupéré un vieux portable que je connecte à mon réseau domestique n'importe où dans la maison grâce au Courant Porteur en Ligne (CPL).

Cette technologie vise à faire passer la communication ethernet via la ligne de courant en superposant au signal électrique de 50 Hz un autre signal à plus haute fréquence et de faible énergie.

Il suffit pour cela de connecter deux adapteurs ethernet sur les prises de courant et de les relier à vos ordinateurs.

Après recherche sur internet sur les modèles existants et leur coût, j'ai constaté que le meilleur rapport qualité/prix était celui proposé par mon fournisseur d'accès à internet (free).

Boîtier CPL Le modèle proposé est un lot de 2 boîtiers ''Powerline 85 Mbps Turbo Adapter'' pour la maudite somme de 49€ !

Prix imbattable !

Et ça marche super bien !

Il n'y a pas besoin de configurer quoi que soit de plus que sur un réseau normal. Si votre réseau ethernet fonctionne, il suffit alors de remplacer le cable ethernet par le système de courant porteur en ligne ! Simple et efficace.

Alors : "Bon surf !".