|
|
|
|
| ..:: Dossiers » Dossiers archivés » Dossiers 2007 » Février 2007
::.. |
|
|
p.1p.2p.3
DOSSIER SPECIAL LINUX La scène française en pleine effervescence Par Yann Serra - Copyright L'Informaticien, tous droits réservés
Des distributions vedettes, des progiciels épatants, des sociétés de service qui se démènent… Sur le marché Linux, la France reste un acteur de premier plan.
Mandriva 2007, toujours l’un des meilleurs Linux pour PC
Toujours très orientée station personnelle, l’édition 2007 de la Mandriva – la fameuse distribution française qui correspond à l’un des trois Linux de référence pour les professionnels du monde entier – affiche des caractéristiques qui n’ont pas à rougir face à celles de Windows Vista. Ce Linux au look entièrement refait (nouveau thème « Ia Ora » plus simple, plus coloré et plus « glacé ») apporte au PC de bureau des effets 3D dans tous les sens (rotations cubiques des bureaux virtuels, rangements des fenêtres, etc.), un nouvel outil RMPDrake2 toujours plus ergonomique pour tenir à jour le système et gérer les installations de logiciels, un démarrage 20 % plus rapide et toutes les dernières versions des applications – dont le site bureautique OpenOffice et le navigateur Mozilla. En sus, on y trouve des logiciels propriétaires particulièrement utiles, puisqu’il s’agit du lecteur vidéo LinDVD, des antivirus de Kaspersky et BitDefender, ainsi que de Cegeda, le module de TransGaming qui permet de faire tourner tous les jeux Windows sur Linux (d’ailleurs, la Mandriva 2007 est livrée avec le jeu de voiture FlatOut, successeur de Destruction Derby). On pourra télécharger gratuitement la Mandriva 2007 à partir de l’adresse http://www.mandriva.com/fr/download/mandrivaone.
Ingeniweb et “Ecl ip’s” rejoignent AlterWay
Tempête dans le monde du service autour des logiciels Open Source en France ! Ingeniweb, dirigé par Olivier Deckmyn, leader sur le marché des serveurs d’applications Zope et du CMS Plone et “Ecl ip’s”, dirigé par Hervé Leclerc, éditeur d’une solution d’administration réseau éponyme se sont agglomérés autour de Philippe Montargès, ex-patron de Masterline, partenaire historique de Ingres dans l’Hexagone et Véronique Torner, ex-fondatrice de Black Orange, SSII spécialisée dans l’e-commerce, pour former le groupe AlterWay. L’ambition ? Devenir le leader des sociétés de service autour du logiciel libre d’ici à deux ans. Outre la complémentarité de leurs compétences techniques, ces partenaires réunissent sous la bannière AlterWay un joli palmarès de clients, parmi lesquels la Gendarmerie nationale, le ministère de la Justice, la Société Générale, EDF, Air France, Renault ou encore Total.
Nuxeo EP 5, plus Java et plus fonctionnel
Stéphane Fermigier, ancien président de l’AFUL, est à la tête de Nuxeo.
Depuis peu premier éditeur de logiciels libres à faire partie de l’Aproged (Association des professionnels du document numérique, laquelle comprend entre autres Adobe, DHL, EMC, Fujitsu, IBM, Ricoh ou encore Xerox), la société française Nuxeo vient de faire migrer sa solution d’ECM (gestion des contenus numériques) sur la plate-forme JEE, abandonnant de fait ses racines en Zope et Python. Nommée Nuxeo Enterprise Platform 5.0, cette nouvelle version dispose de modules de collaboration, de workflow, de conformité réglementaire, d’audit et de reporting. Devenue un véritable outil de production, elle permet désormais d’enregistrer des documents par glisser/déposer vers le navigateur (interface de la solution ), de transformer automatiquement tout document bureautique en PDF et même d’écrire ses propres fonctions avec le langage interne NXQL. Une solution qui promet de se hisser rapidement au sommet du marché (des partenaires intégrateurs comme Capgemini ou Sword lui ont déjà ouvert les bras) et qui s’installera tout naturellement sur une configuration Linux/JBoss. Notons que Nuxeo 5 existe également en version pour poste de travail, il s’agit de Nuxeo RCP, lequel repose sur Eclipse RCP et travaille de concert avec MS Office (Windows) ou OpenOffice (tous OS). Les logiciels de Nuxeo peuvent se télécharger gratuitement (le support est commercial) à l’adresse http://www.nuxeo.org/sections/downloads/. Pour mémoire, la société Nuxeo est dirigée par Stéphane Fermigier, ancien président de l’AFUL.
Ulteo, le nouveau Linux de Gaël Duval
Créateur de la désormais célèbre distribution Mandriva, Gaël Duval repart aujourd’hui de zéro avec la mise au point d’un nouveau Linux, Ulteo.
Parti de chez Mandriva l’année dernière, Gaël Duval, le créateur initial de la distribution Mandrake, revient déjà avec un nouveau Linux nommé Ulteo. Son originalité ? Le concept du bureau connecté ! Non seulement Ulteo a le bon goût de se mettre à jour tout seul – aucune manipulation n’est à faire – mais, en plus, il permet à son utilisateur d’accéder à ses données de n’importe quel PC du monde qui dispose d’un navigateur Web et d’un runtime Java. Dans les faits, il suffit de se connecter sur le site d’Ulteo, d’entrer son login et son mot de passe et, hop, le bureau de son PC sous Ulteo (la machine étant restée à la maison) apparaît dans la fenêtre du navigateur ! En vérité, il s’agit d’un OS virtuel, c’est-à-dire une copie qui tourne sur les serveurs d’Ulteo et qui s’adapte aux préférences que l’on avait enregistrées sur son poste de travail. De retour chez soi, le Linux Ulteo local téléchargera automatiquement à partir du site d’Ulteo les fichiers que l’on aurait pu créer en travaillant à distance – pour l’heure, les utilisateurs bénéficieront de 1 Go de tampon de stockage. Ce système devrait permettre de développer un nouvel OS économique à terme, avec facturation de services en ligne supplémentaires. Pour le reste, c’est-à-dire en ce qui concerne l’utilisation classique et locale du système, Ulteo décline Kubuntu (à savoir une Debian pensée pour les stations personnelles avec KDE comme environnement graphique) dans une version encore plus esthétique et une ergonomie très proche de celle de Windows – ceci afin de rassurer les utilisateurs de ce système. Pour le moment juste disponible en version Alpha, Ulteo se montre parfaitement stable et plutôt bien fourni en pilotes pour reconnaître le matériel. Ce Linux se télécharge gratuitement à l’adresse http://www.ulteo.com/main/ download.php.
Les autres Linux français
La scène française est particulièrement féconde en matière de distributions Linux originales. Citons par exemple SystemRescueCD (http://www.sysresccd.org/Download.fr.php), un live-CD désormais en version 3.1 qui sert à démarrer et à réparer un PC dont le disque dur contient un Linux ou un Windows planté. Basé sur une distribution Gentoo, PapugLinux (http://www.sylbal.net/papugLinux/papugDownload.html) est un Linux qui a le bon goût d’offrir un système personnel moderne (bureautique, Internet) capable de fonctionner sur les plus vieilles configurations (avec juste 64 Mo de Ram !). Arrivant tout juste en version 3.0, Kaella (http://kaella.linux-azur.org/#telechargement) est une version live-CD entièrement francisée de la distribution pour machines personnelles Knoppix (bureau KDE, suite OpenOffice…). Depuis peu en version 4.0, Zenwalk (http://www.zenwalk.org/modules/tinycontent/ index.php?id=1) est un Linux qui offre un système à la Mac OS X complet pour PC. Enfin, même s’il ne s’agit pas vraiment d’un Linux, signalons l’existence de FreeNAS (http://www.freenas.org/), un système FreeBSD taillé sur mesure pour être un serveur NAS entièrement configurable à partir d’une interface Web.
Nat Makarevitch
Le prestataire/éditeur IdealX publie le Gilo nouvelle édition
IdealX, le prestataire de service/éditeur français à qui l’on doit notamment OpenTrust (une infrastructure Open Source de sécurité et de confiance qui repose sur l’utilisation de clés de chiffrement), vient de mettre à jour le Gilo. Rappelons qu’il s’agit du Guide en ligne des logiciels Open Source, dont le propos est de référencer les logiciels libres les plus prometteurs de leur catégorie. Un outil essentiel pour tous les décideurs qui peut se consulter à l’adresse http://www.idealx.com/content/view/22/185/lang,fr/. Rappelons qu’IdealX a été cofondé par Nat Makarevitch, l’un des principaux gourous du monde Open Source en France.
|
DOSSIER SPECIAL LINUX (suite) Le TOP 10 des applications professionnelles Linux Par Yann Serra - Copyright L'Informaticien, tous droits réservés
Après l’infrastructure et avant le poste de travail, les progiciels sont certainement le domaine applicatif qui milite le plus en ce moment en faveur de Linux.
Linux doit avant tout son succès à la richesse de ses fonctions d’infrastructure : firewall (Netfilter), serveur Web applicatif (plate-forme LAMP, plate-forme Java avec JBoss, etc.), serveurs usuels (courrier, fichiers, etc.), voire moteurs spécialisés (standard téléphonique avec Asterisk, antivirus central pour Windows avec ClamAV, etc.). En marge de cela, il tend à offrir une logithèque de plus en plus complète pour le poste de travail (bureaux graphiques KDE et Gnome, suite bureautique OpenOffice, suite d’outils Internet complète par les auteurs de Mozilla, etc.). Les applications que nous vous présentons dans ces pages sont entre les deux : souvent appelées « progiciels », elles adressent des besoins métier précis, agglomèrent des données venues de sources multiples et fonctionnent pour la plupart sur un serveur (ce qui signifie que l’utilisateur les pilote au travers d’une interface Web ou par l’intermédiaire d’un client dédié). Pour chacune de ces applications, la caractéristique « Moteurs » indique les couches d’infrastructures nécessaires à leur fonctionnement. Cela revient à dire que même si Linux constitue généralement la meilleure base pour les faire tourner (pour des raisons de coût et de performances) et le plus souvent il s’agira des Linux de Red Hat ou de SuSE (pour des raisons de garanties contractuelles), tous ces logiciels peuvent fonctionner par-dessus n’importe quel système qui accepte de lancer leurs moteurs (Windows, Mac OS X, etc.). Toutes ces applications sont librement téléchargeables sur le site que nous indiquons. En revanche, leur support (configuration, dépannage, mises à jour, etc.) est typiquement commercialisé par un prestataire (éditeur, SSLL). Enfin, nous mettons ici en exergue les progiciels qui, selon notre enquête, apparaissent les plus en vogue. Cela dit, nous indiquons systématiquement leurs plus importants concurrents.
Gérez votre activité avec ADempiere
Moteurs : Java (JBoss) et PostgreSQL Site : www.adempiere.com Concurrents : Compiere, ERP5, Tiny ERP
Déclinaison communautaire de l’ERP Compiere, ADempiere est un progiciel de gestion intégré dont les différents modules permettent à l’entrepreneur de modéliser, de suivre en temps réel et de contrôler tous les aspects de son activité commerciale. Ceux-ci comprennent les fournitures, l’inventaire, la chaîne de fabrication, la chaîne de distribution, la facturation et, en prime, un squelette de site Web marchand qu’il n’y a plus qu’à adapter.
Analysez vos chiffres avec Pentaho
Moteurs : Java Site : www.pentaho.com Concurrents : SpagoBI
Pentaho est une suite intégrée de modules conçus pour « faire parler vos chiffres ». Elle permet de récupérer vos données (fonctions d’ETL), de les analyser (répartition selon de multiples critères, mesures, découverte de liens entre différents éléments), de les suivre (alertes, prévisions) et de dresser à partir d’elles des rapports dynamiques réutilisables par de nombreux logiciels (les fichiers peuvent être générés au formats XML, PDF, RTF, HTML ou encore Microsoft Excel).
Assurez votre comptabilité avec PhpCompta
Moteurs : Apache, PHP et PostgreSLQ Site : www.phpcompta.org Concurrents : PhpOrganisation, Quasar Accounting
Particulièrement adapté aux législations française et belge, PhpCompta assure à la fois les facturations, l’import des opérations bancaires, les déclarations de TVA, la balance des comptes, le plan comptable, l’impression de journaux sous divers formats ou encore les fiches de paie. Utilisant peu de ressources sur un serveur, PhpCompta se pilote via une interface Web sécurisée qui propose un moteur de recherche et permet de travailler sur plusieurs journaux à la fois.
Rendez vos commerciaux plus productifs avec VTiger CRM
Moteurs : Apache, PHP et MySQL Site : www.vtiger.com Concurrents : SugarCRM
Déclinaison « vraiment Open Source » de SugarCRM, VTiger CRM est une suite intégrée et complète de modules pour bâtir de l’information autour de ses clients. Grâce à lui, les commerciaux peuvent tenir à jour des historiques de leurs opérations ou encore automatiser des campagnes de mailing. Sa grande force réside dans la disponibilité d’extensions qui l’interconnectent avec Microsoft Outlook, Microsoft Office ou encore Thunderbird.
Suivez vos documents avec Alfresco
Moteurs : Java (JBoss) plus base de données Site : www.alfresco.com Concurrents : Nuxeo, eXo
Le propos d’Alfresco est de faciliter l’organisation (stockage…), le contrôle de la chaîne de production (versions concurrentes, dépendances, suivi…) et la publication (formatage…) de vos documents, quelle que soit leur nature (texte, multimédia…). Il permet d’organiser des « espaces fonctionnels », d’accéder aux documents depuis le système de fichiers, de définir des règles (notamment en ce qui concerne la « carrière » des documents) et d’administrer des droits.
Passez au travail collaboratif avec Open-Xchange
Moteurs : Linux (Red Hat ou SuSE) Site : www.open-xchange.com Concurrents : eGroupWare, Kolab, phpGroupWare, OpenGroupware
Installé sur un serveur, Open-Xchange permet à ses utilisateurs de stocker, organiser et partager leurs rendez-vous, contacts, tâches, e-mails et autres documents. Open-Xchange peut se piloter à partir d’une interface Web, mais également avec les clients les plus répandus, comme Outlook Express (Windows), Novell Evolution (SuSE), Kontact (Mandriva) ou encore Mozilla Calendar. Des extensions lui permettent d’utiliser encore plus de protocoles standard.
Planifiez vos projets avec GanttProject
Moteurs : Java Site : ganttproject.sourceforge.net Concurrents : DotProject, Planner
Initié par l’université de Marne-la-Vallée et compatible avec Microsoft Project, GanttProject permet de planifier graphiquement toutes les étapes d’un projet à l’aide d’un diagramme de Gantt. Typiquement, il s’agit de découper le projet en un arbre de tâches et d’attribuer à chacune d’elles des ressources humaines ainsi que des dépendances. D’une utilisation très simple, ce logiciel a déjà été traduit dans plus de vingt langues.
Élaborez vos maquettes industrielles avec BRL-CAD
Moteurs : tous Unix (Linux, Mac OS X…), Windows Site : brlcad.org Concurrents : QCad, SagCAD
Inventé par l’armée américaine, BRL-CAD est un logiciel de CAO industrielle reconnu pour ses qualités de modélisation ergonomique, de stockage économe et d’analyse. Basé sur le traitement des contenus, il permet la réalisation de maquettes bien plus réalistes (matériaux, densités, thermie) que les objets essentiellement traités en surface (polygones, arêtes) produits par les logiciels de CAO dans le monde de l’animation.
Réalisez plaquettes et catalogues avec Scribus
Moteurs : QT Site : www.scribus.net Concurrents : OOo Draw
Logiciel de PAO capable de produire des documents parfaitement exploitables par les imprimeurs (quadrichromie, norme ICC, PDF avec transparence), Scribus importe tous les formats d’image (bitmaps, vectoriels) et les textes RTF, HTML, Microsoft Office ou OpenDocument. Il reconnaît aussi bien les polices TrueType, Type 1 qu’OpenType et sait même générer automatiquement des codes barres. Ses fichiers sont dans un format XML.
Élaborez votre portail avec Joomla!
Moteurs : Apache, PHP, MySQL Site : www.joomla.fr Concurrents : Mambo
Déclinaison de Mambo, Joomla! a pour propos la publication dynamique en ligne de tout votre patrimoine numérique. Ne réclamant aucune connaissance technique particulière et disposant d’extensions par centaines, il offre à l’utilisateur de manipuler des « templates », des composants ou encore des « bots » pour élaborer n’importe quel type de site Web, allant de la simple publication d’articles avec flux RSS à la boutique d’e-commerce la plus complète.
|
DOSSIER SPECIAL LINUX (suite) Dans la peau d’un administrateur Linux Par Yann Serra - Copyright L'Informaticien, tous droits réservés
Le saviez-vous ? La maintenance des serveurs sous Linux peut être nettement plus simple et bien plus efficace que l’administration des systèmes propriétaires alourdis, entre autres, par leur environnement graphique. Voici une simulation qui vous donnera peut-être envie de franchir le pas.
Le téléchargement, l’installation et la configuration de base des logiciels serveurs sous Debian se résument essentiellement à taper une commande.
La mise au point de passerelles, firewalls, proxies, DNS et autres routeurs capables d’orienter dynamiquement les flux de données vers des serveurs disponibles vous passionne peut-être, mais ce n’est pas le métier de l’administrateur – enfin, disons que dans la mesure du possible, faites en sorte que ça ne le devienne pas. On a beau se revendiquer spécialiste Linux, système qui anime tous ces rouages, l’efficacité consiste à ne surtout jamais perdre de temps à réinventer la roue. Des boîtes toute faite existent pour remplir automatiquement les tâches citées ci-dessus (à commencer par les boxes ADSL qui font office de passerelles-firewalls suffisantes) et l’on se contentera tout au plus de les configurer au moyen de l’interface Web qui apparaît généralement lorsque l’on pointe un navigateur sur leur adresse IP privée. De même, l’installation et la configuration d’une solution applicative commerciale (du style progiciel en Intranet, qui fonctionne par-dessus un serveur d’applications Java, et qui exploite une grosse base de données Oracle, ou site Web public marchand, ce qui revient techniquement au même) est à la charge du prestataire qui l’a vendue à l’entreprise. N’allez surtout pas y entreprendre des manipulations qui invalideraient la garantie et pourraient vous faire perdre votre place. Non, votre seul travail « créatif » – c’est-à-dire autre que le dépannage des utilisateurs – en tant qu’administrateur Linux consiste à configurer le réseau (attribution des adresses IP…) et à installer dessus des services « simples ». Outre les serveurs d’expédition et de réception d’e-mails (potentiellement pris en charge par votre fournisseur d’accès), on pense à la mise en place d’un serveur Web qui permette à vos collègues d’utiliser en ligne un site ou une petite application métier, mis au point par le webmaster ou le développeur de l’entreprise – ce n’est pas vous. Vont de pair avec le serveur Web, un serveur FTP, pour que les responsables puissent installer et mettre à jour le site Web, et un serveur de base de données, pour que l’application en ligne puisse travailler avec des informations dynamiques. On pense aussi à des sauvegardes régulières et, pourquoi pas, à un accès VPN pour que les collaborateurs nomades puissent utiliser les ressources du réseau local (répertoires partagés, etc.) comme s’ils se trouvaient physiquement dans l’entreprise.
Astuce : générez des rapports lisibles
À l’évidence, les développeurs Web ont commis quantité de fautes de liaisons dans le code de leur site : nombre d’images ne s’affichent pas. Connaître les noms des fichiers qui posent problème est théoriquement facile, il suffit de lire le fichier « error_log » que génère le serveur web. Sauf que… celui-ci est constitué au bas mot de plusieurs milliers de lignes sous la forme « [Mon Dec 18 08:10:25 2006] [error] [client 80.118.147.176] File does not exist: /htdocs/images/toto23.jpg » (la date, l’adresse IP de l’ordinateur qui a accédé au site, puis le nom du fichier manquant). Et comme certains fichiers sont répétés un nombre incalculable de fois, il faudrait inutilement tout lire pour être sûr de les référencer tous ! le cauchemar… Heureusement, le Shell d’un système Unix (dont Linux) permet d’enchaîner sur une seule ligne plusieurs commandes de recherche et de tri pour rendre ce travail automatique :
grep "File does not exist:" error_log | awk ‘{print $13}’ | sort | uniq | less
Ici, le caractère « | » (dit « pipe ») sert à passer le résultat de la commande de gauche en paramètre à la commande de droite ; « grep » ne sélectionne dans le fichier « error_log » que les lignes qui comprennent la chaîne « File does not exist: » ; « awk » (avec son argument « print ») y capture le treizième groupe nominal (le nom du fichier, dans notre cas) ; « sort » trie tous les résultats par ordre croissant ; « uniq » supprime tous les doublons. Enfin, « less » affiche le résultat final. On obtient ainsi, très clairement, la liste des fichiers qui posent problème.
Votre baguette magique : la Debian
Votre botte secrète ? Vous installez la Debian pour animer les serveurs « simples ».
Pour accomplir ces tâches qui ne regardent que vous, vous avez un secret : vous n’installez pas vos serveurs à partir de ces Linux monolithiques, ultra formatés, ultra francisés et ultra complets que sont les Red Hat, SuSE et autres Mandriva. Laissez-les aux prestataires commerciaux qui y trouvent l’opportunité d’un standard (donc la possibilité d’une garantie de maintenance). Non : vous, vous utilisez la Debian, une distribution Linux qui présente au moins deux avantages dans votre corps de métier. D’une part, c’est un vrai Lego qui permet de n’installer que le strict minimum sur une machine : vos serveurs n’ont effectivement pas besoin de tout l’environnement graphique et ils seront bien plus rapides, ainsi que bien plus faciles à surveiller sans cela. D’autre part, une seule commande (« apt-get install ») permet à la fois de trouver sur Internet, de télécharger, d’installer et d’activer automatiquement n’importe quel programme serveur – il sera toujours actif après un redémarrage du système. Il n’y a rien à faire, si ce n’est répondre à quelques questions lors de l’installation (« faut-il activer ce service, par défaut ? »), voire retoucher un peu les fichiers de configuration pour les adapter à votre réseau. Attention : autant la distribution Debian vous est d’une grande aide dans vos seules tâches d’administration, autant il convient de la proscrire au profit des Red Hat et consorts dès lors qu’il s’agit d’installer contractuellement une application un tant soit peu commerciale sur Linux (sauf si celle-ci est expressément prévue pour Debian, bien entendue, mais elle ferait alors partie d’une minorité). Démontrons sans plus attendre les bénéfices que cette fameuse Debian vous apporte.
Astuce : remplacez le mot de passe de root sans le connaître
Horreur ! Vous venez d’entrer dans vos fonctions et l’administrateur précédent est parti sans vous communiquer le mot de passe root du serveur (root étant le super compte utilisateur qui a le droit absolument de tout faire sur le système) : la machine démarre sans problème – et active tous ses services automatiquement – mais vous ne pouvez strictement rien configurer. Pis, il n’y a ni lecteur de disquette, ni lecteur de CD pour booter sur un disque d’amorce. Avec un peu de chance, le dispositif d’amorce sur le disque dur laisse quelques secondes à l’utilisateur pour intervenir avant de lancer le système, ce qui va permettre de contourner la procédure normale de démarrage et se retrouver momentanément avec une machine absolument pas fonctionnelle, mais sur laquelle on a tous les droits sans avoir à entrer de mot de passe. Si le dispositif de démarrage est l’outil LILO, il suffit d’appuyer sur la touche d’échappement ou de tabulation pour s’arrêter sur une invite de commande (« LILO: »). On y entre la commande suivante pour obtenir tous les droits (la commande « linux single » ne marche pas toujours) :
linux init=/bin/bash
Si le dispositif d’amorce est GRUB, appuyez sur la touche « e » (apparition de l’invite « grub> ») et entrez les deux lignes suivantes (en partant du principe que votre partition de démarrage soit hda1, c’est-à-dire la première du premier disque ; si vous l’ignorez, commencez par taper « find /vmlinux » pour l’identifier) :
kernel /vmlinux root=/dev/hda1 init=/bin/bash
boot
Une fois ceci fait, vous arrivez sur l’invite du système en mode mono-utilisateur (« # »). Montez la partition racine en lecture/écriture, puis modifiez le mot de passe de root en entrant les deux lignes suivantes (attention, le clavier est certainement en qwerty par défaut) :
mount -o remount,rw /
passwd
Fermez proprement avec un « mount -o remount,ro / », puis redémarrez l’ordinateur (faisons simple, en appuyant sur la touche « Reset » ou sur le bouton d’allumage).
Déployez votre réseau
Imaginons que vous souhaitiez déployer sur le réseau local quatre machines serveurs. La première fera office de serveur Web capable d’exécuter des applications PHP et de communiquer avec un serveur de bases de données MySQL. Elle offrira également un accès FTP pour mettre à jour le site. La seconde sera le serveur MySQL. La troisième servira pour la sauvegarde et la quatrième permettra aux collaborateurs externes de se connecter au LAN via un accès VPN. Pour commencer, prenez quatre PC lambda ; il peut s’agir de vieilles « casseroles », mais songez que des disques durs en RAID sont un plus pour la sécurité des données et que le serveur Web sera a priori celui qui aura le plus besoin de puissance. Ensuite, téléchargez l’image-disque de base de la dernière Debian (http://cdimage.debian.org/debian-cd/3.1_r4/i386/iso-cd/debian-31r4-i386-netinst.iso), gravez-la sur un CD, puis installez-la sur les quatre machines en leur attribuant une adresse IP fixe (par exemple 192.168.0.2 pour le serveur Web, 192.168.0.3 pour la base de données, 192.168.0.4 pour la sauvegarde et 192.168.0.5 pour le serveur VPN). Le fait d’attribuer une IP fixe est plus pratique pour les configurations ultérieures (l’adresse IP est enregistrée dans le fichier « /etc/network/interfaces » de chaque machine). La version de la Debian citée ici correspond à une distribution basique qui s’enrichit automatiquement de toutes les fonctions, dont vous pouvez avoir besoin, en allant les télécharger toute seule sur Internet lors de l’installation. Pour des raisons de commodité, vous pourrez avoir envie de piloter chacune des machines à distance, ce qui vous évitera de vous déplacer pour chaque manipulation et vous permettra même de retirer les écrans et claviers des serveurs. La prise de contrôle à distance se fait par l’intermédiaire de l’outil SSH, dont le serveur s’installe sur vos machines Debian en tapant « apt-get install ssh » (il conviendra de répondre aux questions posées, notamment être favorable au lancement automatique de « sshd ») et dont un client existe pour toutes les plates-formes, y compris Windows et Mac OS X : il suffit de taper depuis votre poste « ssh <nom_d’utilisateur>@<adresse.IP.du.serveur> », puis d’entrer votre mot de passe lorsqu’on vous le demande, pour vous retrouver dans le système de la machine distante (le nom d’utilisateur et le mot de passe sont ceux que vous avez créés lors de l’installation de la Debian sur chaque serveur). À tant faire, optez pour l’installation d’Ubuntu sur votre propre poste de travail : il s’agit d’une implémentation de la Debian qui, pour le coup, dispose d’absolument tous les artifices graphiques de la station personnelle, certains la considérant même plus riche que les Red Hat (Fedora, en l’occurrence), SuSE et autres Mandriva dans ce domaine.
Astuce : rangez automatiquement les fichiers en vrac
Le répertoire d’échange auquel ont accès tous vos utilisateurs sur le serveur de fichiers est un véritable sac de nœuds : de multiples sujets s’y côtoient dans la plus joyeuse pagaille de documents. Voici comment ranger au sein d’un répertoire « rangez/toto/ » tous les documents qui citent le produit Toto dans leur nom. Pour commencer, placez-vous (à l’aide de « cd ») dans le répertoire d’échange, puis tapez les deux lignes suivantes (attention, votre Shell doit être le Bash, soit le Shell par défaut sous Linux) :
mkdir -p rangez/toto
for i in *[Tt][Oo][Tt][Oo]* ; do mv $i rangez/toto/ ; done
La commande « mkdir » crée d’abord plusieurs répertoires imbriqués grâce à l’option « -p ». « for » est une commande interne au Bash qui lance une suite de commandes (initiée par « do », terminée par « done », avec le caractère « ; » pour séparer chaque élément) pour tout fichier du répertoire courant qui commence et se termine par une chaîne quelconque (les jokers « * »), mais comprend dans son nom le mot « toto », qu’il soit écrit avec des majuscules ou des minuscules (les deux possibilités étant indiquées pour chaque caractère grâce aux crochets « [" et "] »). La routine principale n’est quant à elle composée que de la commande de déplacement « mv » qui prend comme source le compteur de « for » (ici « i », précédé par un « $ » pour indiquer qu’il s’agit d’une variable) et comme destination le chemin « rangez/toto/ ».
Installez un serveur Web qui sait exécuter du PHP et utiliser une base de données MySQL
Sur le PC du serveur Web, installez Apache, PHP, l’interface de communication vers MySQL et même l’application PhpMyAdmin (pour peupler et administrer la base de données MySQL via un navigateur Web à partir de n’importe quel poste de travail), à l’aide de ces trois commandes :
apt-get install apache2
apt-get install libapache2-mod-php4 php4-mysql php4-gd php4-cli
apt-get install phpmyadmin
On dispose dès lors de deux sites Web sur la machine, un d’exemple et l’applicatif en ligne PhpMyAdmin. Le fichier de configuration de l’applicatif en ligne PhpMyAdmin est « /etc/apache2/sites-available/phpmyadmin ». Éditez-le en tapant la commande « nano /etc/apache2/sites-available/phpmyadmin » (« nano » est un éditeur de texte bien plus ergonomique que le spartiate « vi » : c’est Ctrl-o pour enregistrer et Ctrl-x pour quitter) afin de modifier le port d’écoute : mettez quelque chose comme « *:81 » à la suite des directives « Listen » et « VirtualHost ». Ensuite, éditez le fichier « /var/www/phpmyadmin/config.inc.php » pour indiquer l’adresse du serveur MySQL (192.168.0.3, dans notre exemple). Le fichier de configuration du site d’exemple est « /etc/apache2/sites-available/default ». Éditez-le pour indiquer au moins dans quel répertoire du disque dur seront stockés les fichiers de votre site ; à la suite des directives « DocumentRoot » et « <Directory », entrez quelque chose comme « /usr/local/ftpusers/ webmaster/ ». Ce répertoire n’existe pas encore, il s’agira de celui créé à l’attention du webmaster pour qu’il puisse venir déposer sur le serveur les pages et autres données du site Web (voir paragraphe suivant). Enregistrez le fichier, puis renommez-le en quelque chose comme « monsite » avec les commandes suivantes (« cd » sert à changer de répertoire et « mv » à déplacer ou renommer un fichier) :
cd /etc/apache2/sites-available/
mv default mon site
Les sites activés par Apache sont en réalité signalés par un lien dans le répertoire « /etc/apache2/sites-enabled/ ». Voici comment retirer (commande « rm ») le lien vers le site d’exemple et placer (commande « ln -s ») celui vers votre site :
cd /etc/apache2/sites-enabled/
rm default
ln -s ../sites-available/monsite ./
Enfin, relancez le serveur Web avec la commande « /etc/init.d/apache2 reload ». Voilà, votre site Web (encore vierge) est accessible à partir du LAN à l’adresse http://192.168.0.2 et PhpMyAdmin à l’adresse http://192.168.0.2:81.
Astuce : installez un paquet rpm sur une Debian
Peste ! Le logiciel que l’on souhaite installer sur son Linux de type Debian (qui utilise des paquets « .deb ») n’est disponible qu’en paquet de type « .rpm » (pour Red Hat, SuSE, Mandriva et consorts.). Qu’à cela ne tienne, il suffit d’utiliser la commande « alien » avec ses options « d » (conversion d’un rpm en deb) et « i » (installation automatique) pour parvenir à l’installer. Par exemple, pour le paquet « toto.rpm » :
alien -di toto.rpm
Seul problème, cette bidouille ne gère pas automatiquement les dépendances (c’est-à-dire l’installation automatique de paquets annexes nécessaires au fonctionnement de celui-ci). Il faut donc rapatrier manuellement tous les fichiers manquants. Regardez les erreurs signalées à la suite de la commande « alien », recherchez sur Internet quelle archive contient tel fichier manquant au moyen de la commande « apt-file » suivie du nom de fichier, puis récupérez et installez cette archive avec la commande « apt-get install » suivie du nom de l’archive précédemment trouvée (une au hasard s’il y en a plusieurs). Attention : dans le cadre de logiciels professionnels, la garantie de l’éditeur (ou du distributeur) ne fonctionnera plus si vous utilisez cette bidouille !
Installez un accès FTP pour peupler le site Web
Reste à permettre au webmaster d’installer son site sur le serveur, ce que vous faites en lui donnant un accès FTP. Il suffit ici d’installer un serveur de ce type ; le programme Pure-FTPd en est l’incarnation la plus en vogue et on l’installe ainsi :
apt-get install pure-ftpd
Tous les utilisateurs qui accèderont par FTP seront des utilisateurs « virtuels » gérés par Pure-FTPd, déclinés à partir d’un seul compte utilisateur (appelons-le « ftpuser » et disons qu’il fait partie du groupe « ftpgroup ») à qui Linux donnera le droit de lecture et d’écriture. On crée ce « ftpuser », on bloque l’accès aux autres utilisateurs Linux et on configure en conséquence Pure-FTPd avec les commandes suivantes :
groupadd ftpgroup
useradd -g ftpgroup -G www-data -d /dev/null -s /etc ftpuser
rm /etc/pure-ftpd/auth/*
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/75puredb
echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone
echo "yes" > /etc/pure-ftpd/conf/CreateHomeDir
echo "21" > /etc/pure-ftpd/conf/Bind
On remarque que, lors de la seconde commande, on a également attribué l’utilisateur « ftpuser » au groupe « www-data », ceci afin que le serveur Web puisse puiser dans les répertoires de téléchargement le site à afficher. On crée ensuite le compte de chaque utilisateur (virtuel) ayant un accès FTP à l’aide des trois commandes suivantes (imaginons que le premier utilisateur s’appelle donc « webmaster ») :
mkdir /usr/local/ftpusers/webmaster
pure-pw useradd webmaster -u ftpuser -d /usr/local/ftpusers/webmaster
pure-pw mkdb
Installez un serveur MySQL
Sur la deuxième machine (adresse IP 192.168.0.3), vous installez MySQL au moyen de la commande suivante :
apt-get install mysql-server-4.1
Il ne vous reste plus qu’à configurer le mot de passe de l’utilisateur « root » qui pourra créer et peupler la base de données à l’aide de commandes SQL (et de PHPMyAdmin depuis l’adresse http://192.168.0.2:81). Il suffit de taper la première commande ci-dessous, laquelle lance une session interactive pour les trois entrées suivantes :
mysql –u root -p
mysql> SET PASSWORD FOR root@localhost=PASSWORD(‘le_nouveau_pass’);
mysql> FLUSH PRIVILEGES;
mysql> quit;
Astuce : compilez plus vite avec plusieurs cœurs de processeur
Pour installer un programme à partir de son code source, il suffit de se déplacer dans son répertoire, puis de taper les commandes « ./configure » (qui adapte le programme à votre système), « make » (qui transforme - « compile » - le programme en binaire exécutable) et « make install » (qui installe l’exécutable au bon endroit). La phase de compilation étant la plus longue, on peut la paralléliser grâce à l’option « -j » pour qu’elle soit traitée par tous les cœurs de processeurs disponibles (à indiquer directement après « -j »), ce qui réduit de presque autant le temps de compilation. Par exemple, pour compiler un programme sur un processeur à double coeur, on fera « make -j2 » (et « make -j4 » pour un processeur à quatre cœurs). Attention, certains programmes ne veulent pas se compiler de cette manière. Si une erreur survient, recommencez sans « -j ».
Mettez en place des sauvegardes quotidiennes
Sur la troisième machine (192.168.0.4), vous créez un répertoire pour accueillir les sauvegardes quotidiennes des données de votre webmaster et un autre pour celles de la base de données à l’aide des deux commandes suivantes :
useradd -m webmaster
useradd -m database
Donnez un accès FTP à votre webmaster pour qu’il puisse installer à distance le site Web, sans toucher à vos machines.
Le mieux étant de taper également « passwd webmaster » et « passwd database » pour leur attribuer un mot de passe. Ensuite, vous vous rendez sur les deux premières machines pour placer une commande de sauvegarde dans leur « crontab ». La crontab est une liste d’action à faire automatiquement. On l’édite en tapant « crontab -e ». Puis, sur chaque ligne (qui correspond à une action à effectuer), on entre les chiffres de la date où effectuer l’action (dans l’ordre, il y a les minutes, l’heure, le jour du mois, le mois, le jour de la semaine, avec un « * » pour chaque paramètre non précisé), suivis de la commande à effectuer. Celle de synchronisation de deux répertoires (sauvegarde dite « incrémentale «) étant « rsync -a <source> <destination> », voici ce que l’on entrerait dans la crontab de la machine 192.168.0.2 pour faire une sauvegarde toutes les nuits à 3h00 du matin des données de votre webmaster (sur une seule ligne et en admettant que votre mot de passe soit « password ») :
0 3 * * * rsync -a /usr/local/ftpusers/webmaster webmaster:password@192.168.0.4:/home/webmaster/
En ce qui concerne la base de données, le mieux consiste à l’exporter d’abord sous la forme d’un script SQL récupérable par n’importe quel serveur de bases SQL (ce qui se fait au moyen de la commande « mysqldump »), puis de copier le fichier résultant sur le serveur de sauvegarde. Comme il y a deux actions à effectuer, le plus commode reste de les placer dans un script qui sera exécuté tous les jours par la crontab. Sur la machine 192.168.0.3, créez le script suivant et enregistrez-le en tant que « /usr/local/bin/dump.sh » (en admettant que votre mot de passe soit « password ») :
#!/bin/sh
mysqldump --all-databases > ~/backup-base.sql
rsync ~/backup-base.sql database:password@192.168.0.4:/home/database/
Pour que ce script soit exécutable, entrez la commande :
chmod +x /usr/local/bin/dump.sh
Puis entrez la ligne suivante dans la crontab pour effectuer une sauvegarde quotidienne à 4h00 du matin :
0 4 * * * /usr/local/bin/dump.sh
Astuce : téléchargez d’un coup toutes les données d’un site Web Argh ! Les informaticiens de l’agence de communication ont oublié de mettre à votre disposition sur un FTP les 120 vidéos « .mpg » que vous devez récupérer – dix par mois. Celles-ci sont bien disponibles sur leur site Web, chacune accessible via une adresse du style « http:// www.agence.com/videos//.mpg », mais on ne peut pas se permettre de passer la nuit à visiter toutes les URL avec un navigateur pour les récupérer une à une (en cliquant dessus avec le bouton droit et en sélectionnant « Enregistrer sous… ») ! Heureusement, toutes ces opérations peuvent se faire d’un coup grâce à la commande « curl ». Si les vidéos à récupérer sont numérotées de 01 à 10 (« 01.mpeg », « 02.mpeg », etc.) et qu’elles sont contenues dans des répertoires numérotés selon le mois (de « 01 » à « 12 »), on peut rapatrier tous les fichiers en vrac dans le répertoire local en les renommant pour que le mois apparaisse dans leur nom de cette manière :
curl http://www.agence.com/videos\[01-12\]/\[01-10\].mpeg -o "#1_#2"
Les crochets (« [ ] ») indiquent des intervalles (« [01-12] » signifie « toutes les nombres de 01 à 12 ») : « curl » va effectuer des requêtes sur des noms de fichiers créés à partir de toutes les possibilités comprises dans ces intervalles. Le caractère d’échappement « \ » sert à indiquer que les crochets doivent considérer comme des caractères de contrôle et non comme faisant textuellement partie de l’URL. Il est possible de remplacer l’intervalle « [ ] » par une liste de noms au moyen de « { } » et même de récréer l’arborescence en local (c’est plus propre) en épaulant « -o » de l’argument « --create-dirs ». Par exemple, si les répertoires des mois sont plutôt nommés « jan », « fev », « mar », « avr », etc., on pourra faire :
curl http://www.site.com/videos\{jan,fev,mar,avr\}/\[01-10\].mpeg -o "#1/#2" create-dirs
Évidemment, il vous appartient de préciser la liste complète des répertoires entre les accolades, en les séparant par une virgule. Il est à noter qu’on ne peut pas ici utiliser les jokers « * » (n’importe quelle suite de caractères) et « ? » (n’importe quel caractère) : un site Web ne livrant la liste des répertoires et des fichiers qu’il contient que si on les lui demande, « curl » doit faire des requêtes explicites.
Mettez en place un VPN
Il suffit d’entrer quelques lignes à peine pour que toutes les sauvegardes se fassent automatiquement et régulièrement, sans même nécessiter de présence humaine pour les superviser.
Pour mémoire, le VPN est le moyen de faire croire à une machine située à l’autre bout d’Internet qu’elle fait partie du réseau local. Pour rendre la chose réalisable, il faut que le collaborateur nomade lance sur son ordinateur un logiciel client qui le connecte directement et, dans l’entreprise, qu’il y ait un serveur qui réceptionne les requêtes des nomades, leur attribue une adresse IP privée (par défaut du genre 10.8.0.x) puis fasse office de passerelle entre eux et le LAN. Une solution en vogue se nomme OpenVPN, laquelle passe par le protocole OpenSSL pour sécuriser les échanges. On pourra télécharger un client Windows à l’adresse http://openvpn.se/download.html, un client Mac OS X à l’adresse http://www.tunnelblick.net/ et une version RPM pour un client Linux (RedHat, SuSE, Mandriva, etc.) sur http://dag.wieers.com/packages/openvpn/. Pour qu’il puisse se connecter au réseau de l’entreprise, chaque collaborateur doit placer dans le répertoire de son application OpenVPN un fichier de configuration (comprenant l’adresse IP publique de l’entreprise, le port sur lequel il faut communiquer) et des clés d’authentification ; vous les lui fournirez après les avoir générés. Du côté du serveur, on gagnera à installer, en plus d’OpenVPN, OpenSSL pour plus de sécurité et la bibliothèque liblzo1 pour compresser les données (ce qui fait économiser de la bande passante). Ceci se fait au moyen des trois commandes suivantes :
apt-get install openvpn
apt-get install liblzo1
apt-get install openssl
La génération des clés pour tout le monde est réalisée par des scripts fournis. On se déplace dans le répertoire qui les contient et l’on exécute les scripts un à un en répondant à des questions – nécessaires pour générer les certificats d’authenticité. Pour commencer, il convient de créer, une bonne fois pour toutes, les clés et certificats soit communs, soit propres au serveur (appelons-le « serveurvpn ») :
cd /usr/share/doc/openvpn/examples/easy-rsa/
./clean-all
gunzip openssl.cnf.gz
./build-ca
./build-dh
./build-key-server serveurvpn
openvpn --genkey --secret keys/ta.key
Les fichiers « ca.crt », « ca.key », « ta.key », « serveurvpn.key », « serveurvpn.crt » et « dh1024.pem » vont dans le répertoire « /etc/openvpn/keys/ ». Pour chaque collaborateur à qui l’on souhaite donner l’accès, il faudra exécuter la commande suivante (remplacez « toto » par un nom arbitraire pour votre collaborateur) :
./build-key toto
Astuce : retrouvez un nom au sein de milliers de fichiers
Sur les dix mille pages « .html » de votre site, quelles sont celles où l’on parle de Linux, déjà ? Voici une commande qui vous répond et vous indique même le numéro de la ligne où Linux apparaît dans le fichier (avant de taper cette commande, placez-vous avec « cd » dans un répertoire suffisamment haut dans l’arborescence pour qu’il englobe tous les sous-répertoires de votre site) :
find . -iname \*.html -exec grep -Hn Linux {} \;
Ici, « find » est la commande de recherche de fichiers. Elle lance ses investigations à partir du répertoire courant « . » (elle descend automatiquement dans l’arborescence) et ne retient que les fichiers dont le nom, en majuscules ou en minuscules (option « -iname »), se termine par « .html » (le « * » est un joker qui veut dire « tous » et le signe d’échappement « \ » qui le précède sert à indiquer que « * » est un joker). Pour chacun de ces fichiers (accolades « { } » à la fin qui servent à indiquer en paramètre le résultat du début), « find » exécute (option « -exec », plus obligation de terminer la ligne avec « \; ») la commande « grep » qui détecte dans chaque fichier « .html » la présence de la chaîne « Linux » et indique le nom du fichier plus la ligne où cette chaîne se trouve (double option « -Hn »).
Il faut ensuite lui communiquer les clés « .crt » et « .key » engendrées, les clés « ca.crt » et « ta.key » générées précédemment, ainsi qu’un fichier de configuration « toto.ovpn » que l’on pourra décliner d’après l’exemple fourni dans le répertoire « /usr/share/doc/openvpn/ » (placez à la suite de « remote » l’adresse IP publique de l’entreprise ainsi que le port sur lequel communiquer, puis à la suite de « cert » et « key » les noms corrects des clés du client). Il ne reste plus qu’à transformer le serveur OpenVPN local en routeur pour qu’il puisse mettre en contact les machines des collaborateurs nomades (qui auront une adresse IP privée du style « 10.8.0.x ») avec celles du LAN. Commencez par configurer la passerelle/firewall de votre entreprise pour qu’elle envoie toutes les connexions entrantes sur le port choisi vers l’adresse IP privée du serveur OpenVPN. Ensuite, créez le fichier de configuration « /etc/openvpn/openvpn.conf » en adaptant les exemples fournis (notamment la ligne « push ‘route… » où l’on précise la plage d’adresses IP privées du LAN, par exemple « 192.168.1.0 »). Enfin, ajoutez les deux lignes suivantes au script « /etc/init.d/rc » (en partant du principe que votre serveur OpenVPN ait l’adresse 192.168.1.5 » dans le LAN) :
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j SNAT to-source 192.168.1.5
Il est à noter que certains prestataires, voire certains proxies, peuvent empêcher la communication VPN de s’effectuer avec les paramètres par défaut d’OpenVPN. La meilleure solution consiste alors à opter pour une communication en TCP plutôt qu’en UDP (directive « proto tcp » dans les fichiers de configuration) et à utiliser le port de communication 443 (à la fin de la directive « remote », après l’adresse IP, dans le fichier de configuration du client et « port 443 » dans celui du serveur).
Quelques lectures
Si ces quelques pages vous ont donné l’envie de vous lancer dans l’administration Linux, la lecture de livres sur le sujet vous aidera à aller plus loin. Parmi la littérature très fournie qui existe, nous vous conseillons de commencer par la collection « À 200 % » (notamment « Debian à 200 % » et « L’administration Linux à 200 % »), chez O’Reilly, laquelle regroupe des volumes organisés en trucs et astuces, très faciles à lire.

|
|
|
|
|
|
|
|
|
|
Skycrapper
|
 |
|
|
|
|
|
|
|
| DotNetNuke® is copyright 2002-2010 by Perpetual Motion Interactive Systems Inc. |
|