Guide pratique de l'installation du serveur LAN sous Windows

Adaptation française du guide pratique Windows LAN server HOW-TO

Amandine Michalon

Adaptation française

Jean-Philippe Guérard

Préparation de la publication de la v.f.

Version : 1.3.fr.1.0

15 novembre 2006

Historique des versions
Version 1.3.fr.1.02006-11-15AM, ___, JPG
Première traduction française.
Version 1.32004-10-06RC
Correction des fautes mineures d'orthographe et de grammaire. Changements mineurs du texte.
Version 1.22003-03-19RC
Modification des coordonnées des auteurs et correction des fautes d'orthographe. Changements mineurs du texte. Ajout de la partie concernant les notes supplémentaires. Modification de la version afin de s'adapter à Concurrent Versions System.
Version 0.12000-09-21RC
Soumission du document original au Projet de documentation Linux.

Résumé

Ce document est destiné à aider ceux qui souhaitent utiliser Linux comme un serveur intégré dans un environnement informatique avec Microsoft Windows 9x comme principale exécution sur leur ordinateur.


Table des matières

Dédicace
Introduction
Le scénario
Les options
Option Linux
La recherche est la clé
Les outils
Convaincre le chef
Quelle distribution choisir ?
Installation
RedHat
Samba
Courriel
La télécopie
Est-ce que c'est ça ?
Conclusion
Références
Notes supplémentaires à version 1.2+

Ce document est tout d'abord dédié à mon Seigneur et Sauveur Jésus Christ, grâce à qui j'ai pu exécuter ce travail. Il est ensuite dédié aux auteurs des divers services et documents auxquels je me suis référé ici. Ils m'ont permis d'avoir les outils pour faire ce travail.

Linux (ou plus exactement GNU/Linux) a une réputation croissante sur le lieu de travail. Il étend tout d'abord son influence sur le marché de l'Internet en tant que serveur, mais il commence à empiéter sur d'autres domaines comme les serveurs de réseau interne et les stations de travail sur pupitre. Avec cet état d'esprit et pour les raisons citées ci-dessous, mon entreprise a décidé d'étendre un serveur LAN basé sur Linux à notre réseau Windows 9x. Dès le début du projet, j'avais des connaissances de base de Linux et quelques notions du système Unix. Au fil du projet, il m'est venu à l'esprit que certains documents sur les tâches à suivre seraient utiles. Je n'ai pu trouver de tels documents, puis écrire celui-ci.

Ici, vous ne trouverez pas une reproduction écrite des documents sur l'installation et la configuration des divers outils et services utilisés. Je ne vois aucune raison de répéter cela. J'ai plutôt choisi d'évoquer les problèmes rencontrés lors de leurs installations ou de leurs configurations et de trouver des solutions à ces situations problématiques.

Il serait probablement utile de donner quelques informations sur l'environnement dans lequel le nouveau serveur se déploiera.

Quelques 35 ordinateurs sont liés au réseau Ethernet LAN par un vaste site informatique. Comme de nombreux bureaux, celui-ci était au départ un simple ordinateur et devint peu à peu l'environnement actuel. Pour des raisons de vitesse, de commodité et de coûts, on eut recours à un réseau pair à pair. Les utilisateurs partagent des annuaires et des imprimantes à travers un réseau qui utilise un accès de sécurité de partage.

L'un de ces 35 ordinateurs a pris le nom de « serveur » (dorénavant, j'utiliserai l'expression « serveur PC » pour l'évoquer). Les réseaux pair à pair n'ont aucun serveur comme tel. Cet ordinateur était ainsi identique aux autres à part qu'il n'avait pas d'utilisateur permanent. Il était utilisé par l'ensemble des usagers pour l'enregistrement des fichiers standard (modèles, fichiers de base de données etc.) et contenait également les annuaires de Microsoft Mail postoffice pour le système de messagerie interne. La télécopie en réseau était également acheminée par cet ordinateur au moyen de Microsoft Fax. La distribution de la messagerie Internet fut plus récemment ajoutée par le biais d'un serveur de courrier électronique qui, relié périodiquement à un serveur de courrier électronique externe, redistribue convenablement le message. La plupart des utilisateurs se partagent également une imprimante à proximité. Microsoft Outlook s'occupe du côté client du courriel et des réseaux de télécopie.

L'augmentation du trafic avec le serveur PC, et plus particulièrement la messagerie Internet, se renforçait à un point où l'accès au fichier ralentissait et les utilisateurs ne pouvaient pas toujours se connecter au serveur de courrier électronique via Internet. Au départ, le programme de courrier électronique via Internet était remis en cause, mais des tests complémentaires révélèrent que cette suspicion n'avait pas lieu d'être. Les utilisateurs devenaient de plus en plus frustrés et, de ce fait, ils firent part de leurs émotions aux personnes attachées au support IT.

Il faut également prendre en compte une question secondaire. Du point de vue de la gestion, avoir un serveur PC désigné signifiait qu'un bon ordinateur « ne faisait rien » car personne ne s'intéressait à lui. Une décision fut prise afin de permettre aux utilisateurs occasionnels de se servir de cet ordinateur en tant que poste de travail. Pendant ces utilisations occasionnelles, l'ordinateur se verrouillait parfois. En tant que poste de travail, l'ordinateur entraînait la perte d'accès, par tout utilisateur, aux fichiers importants lors de son redémarrage et pendant que les bases de données et les fichiers nécessitaient un filtrage pour permettre aux utilisateurs d'accéder à leurs données.

La situation demandait une certaine solution. Au niveau le plus élémentaire, les options étaient simplement « réparées ou remplacées » et comme il est souvent le cas, cela entraînait des limitations de financement.

Linux est pratiquement une copie de Unix (pour une description plus précise je vous propose d'aller trouver des informations ailleurs car ce n'est pas un sujet que j'aborde ici) et comme tel, il intègre les capacités excellentes du réseau Unix. C'est ce point (parmi d'autres) qui a conduit à son déploiement croissant dans le marché du serveur web. Il pouvait fournir une stratégie de remplacement abordable pour le problème rencontré et pouvait tenir compte de la croissance espérée du réseau, à peu de frais ou sans frais supplémentaires.

Ce Linux était une solution serveur efficace et économique et n'était pas remis en question, mais nous avons besoin de savoir s'il pouvait apporter une solution particulière à ce problème. Est-ce que Linux pouvait remplir toutes les fonctions qu'offrait l'actuel serveur PC, à savoir un service de fichiers, une messagerie interne, une télécopie en réseau et une redistribution de messagerie internet. Les premières enquêtes révélèrent qu'il le pouvait, et ainsi la question n'était plus « est-ce que Linux peut faire ça ? » mais plutôt « est-ce que je peux lui faire faire ça ? ».

Il me semblait prudent de rechercher ledit argument avant d'exposer tout argument pour l'utilisation de la gestion. Cela satisferait mon intention complémentaire d'apprendre à connaître l'administration Linux dans les moindres détails. Mes connaissances de Linux découlaient d'une utilisation à domicile qui dura quelques mois et comme Linux n'était pas utilisé dans l'entreprise, j'étais pratiquement devenu un expert de Linux.

J'ai commencé mes recherches en badaudant dans les forums de discussions, et plus particulièrement à uk.comp.os.linux (u.c.o.l.). Bien que le badaudage puisse être critique dans certains milieux, c'est quelque chose que je recommande au début d'un projet comme celui-ci. Lire les questions et les réponses d'autres personnes offre un précieux aperçu de votre approche de futurs projets que vous pouvez rencontrer. On traite de fou celui qui n'apprend pas des erreurs des autres. Par ailleurs, j'avais une copie du livre « Learning RedHat Linux », publié par O'Reilly (http://www.ora.com/). J'utilisais ce livre lors de l'installation la version familiale de Linux et, à cette fin, il est excellent. Il contient également un chapitre important sur Samba — une application en réseau qui permet à Linux d'agir en tant que serveur de fichiers pour les ordinateurs sous Windows 9x. J'ai également utilisé de manière intense le Linux Documentation Project (tLDP — http://www.tldp.org/), plus particulièrement le guide d'utilisation de Linux, le guide d'administration système sous Linux et le guide d'administration réseau sous Linux.

Cela se révéla être l'une des tâches la plus angoissante au tout début de ce projet. C'était une chose de me convaincre que Linux offrait la meilleure solution et une autre d'amener mon et mes chefs à la même conclusion.

Bien qu'il n'y eût pratiquement aucune charge décaissée (c'est toujours ça de gagner), il restait la question du temps. Le projet allait me prendre un certain temps pour apprendre et en retour il allait prendre davantage de temps avant la mise en place de la solution.

Il était tentant de mettre l'accent sur les erreurs de la solution existante et ensuite de présenter la proposition de Linux comme héros victorieux. Il était peu probable que cela marchât car on aurait pu interpréter ma volonté de promouvoir une solution simplement comme mon attachement à cette idée. Par ailleurs, si j'avais présenté cet argument avec du retard (ou ce que certains considèrent un retard) au niveau du déploiement, le serveur Linux aurait été plus difficile à expliquer. Je devais présenter mon argument comme un avantage pour la compagnie. A cette fin, j'utilisais les problèmes existants, mais je devais être prudent afin de ne pas adopter un point de vue qui allait dans le sens de Linux afin de satisfaire « son propre intérêt ».

Il se trouvait que toute mon inquiétude n'avait pas lieu d'être — lors d'une conversation sur le serveur existant, le directeur informatique m'a proposé la solution même que j'allais soutenir ! Cependant, il fit part de quelques détails que j'ai mis en avant tout au long de ces lignes. Votre situation sera bien sûr différente, mais en tout cas, il serait sûrement bon de présenter l'argument le plus objectivement que possible.

J'ai assemblé les pièces d'un ordinateur, qui traînaient dans les magasins informatiques — un exercice drôle en lui-même — et j'ai fini par un système de mise au point de P133, 32 Mo de mémoire et 540 Mo de disque dur. J'avais l'intention de remplacer le disque dur avec un disque dur beaucoup plus large, mais je voulais d'abord tester l'installation avec le reste du système.

Ayant installé RH6 quelques temps avant, je savais que ce serait facile comme tout… Je pense que « on verra bien » est l'expression que je cherche à cet endroit ! L'installation semblait bien se passer, mais à la première amorce (et aux suivantes) j'ai rencontré des erreurs de type « invalid compressed format » au moment où le système essayait de Uncompress Linux. Ceci évolua en un système qui affichait à l'amorce le message-guide « LI » et quelques questions sur UCOL soulignaient ce problème comme étant un problème de lecteur de géométrie. Le système pouvait s'amorcer à partir d'une disquette système MS-DOS, qui lançait Linux via Loadlin, mais c'était loin d'être satisfaisant. J'utilisais plutôt un disque dur de 1 Go.

Un problème secondaire concernait NIC. Le premier que j'ai utilisé était la carte ISA Realtek 8019, c'est une carte compatible NE 2000 et devrait ainsi utiliser le pilote NE 2000. Après de nombreux essais et même des tentatives de recompiler le noyau, la carte refusait de fonctionner avec ledit pilote, je l'ai donc échangée avec une carte PCI D-Link DT-530 d'un autre ordinateur. On disait que cette carte fonctionnait avec le pilote « tulip ». Cependant, la procédure d'installation de RedHat ne pouvait pas le détecter. Un coup d'œil rapide sur le site Web de D-Link indiquait le dernier pilote via-rhine comme solution. Il fut téléchargé, compilé et installé en même temps que le fichier du pilote pci-scan via le même site (http://www.scyld.com/network/via-rhine.html). Ce site contient également d'excellentes notes d'installation. Nouveaux pilotes en place, la machine était prête à fonctionner. Quelques tests Ping démontrèrent que le NIC fonctionnait bien.

La version 2.0.3 était installée dans le cadre de l'installation de RedHat, et comme c'était une période d'essai, je ne voyais aucune raison de télécharger la dernière version (au moment où j'écris, c'est la version 2.0.7). smbclient n'était pas installé car il n'y avait aucune raison pour Linux box d'ouvrir un partage d'accès sur l'ordinateur sous Windows. La configuration était facile comme tout grâce au service SWAT que l'on peut accéder en pointant un navigateur sur le port 901 (i. e. : http://localhost:901/). J'étais même capable d'y accéder et de le configurer depuis l'une des boîtes Windows à travers le réseau (http://adresse IP:901).

qmail fut choisi en tant que Mail Transport Agent (MTA) sur sendmail qui est alimenté par RedHat. Ceci est principalement dû au fait que le précédent a la réputation d'être de configuration plus facile et d'offrir une meilleure sécurité que le dernier.

Les tous derniers fichiers source ont été téléchargés via un site miroir de http://www.qmail.org/, puis compilés et installés. Il existe de nombreux documents fournis par qmail mais j'ai choisi d'utiliser également Life With Qmail (http://web.infoave.net/~dsill/lwq.html). Il ressemble à un guide pratique et représentait probablement le document le plus utile pour atteindre nos objectifs.

J'ai installé qmail assez facilement, mais j'ai rencontré quelques problèmes mineurs lors de son utilisation. Je l'ai configuré, et pour des raisons de performance et de fiabilité, j'ai utilisé Maildir comme distribution par défaut. Le bon vieux programme de messagerie standard ne reconnaît pas ce type de distribution et cela m'a donc pris un moment pour comprendre pourquoi mon courrier a été envoyé sans que je puisse le voir. La solution était d'utiliser mutt (http://www.mutt.org/), qui supporte le format maildir. C'était bien sûr un problème mineur car les utilisateurs n'utilisaient pas Linux box pour lire leur courrier mais le lisaient via le client pop (Ms Outlook) sur leurs postes de travail Windows.

fetchmail était utilisé en tant qu'agent de renseignement, puis son installation et son exécution étaient facile comme tout, plus particulièrement lorsque j'ai découvert fetchmailconf :o) Nous n'avons pas besoin de collecter le courriel tout le temps, mais nous préférons collecter à intervalles fixes. Afin de faciliter cette façon de procéder, on appelle fetchmail en utilisant l'option -d par un cron job quotidien et on l'arrête par un autre cron job.

Nous réunissons notre courrier via dix boîtes aux lettres sur notre serveur d'hébergement, l'un d'elles est un envoi en masse dans lequel tout est adressé à notre adresse Internet et rien n'est déposé dans une des neuf autres adresses spécifiques. Le service multidrop fetchmail a été utilisé pour nous permettre de télécharger tout le courriel par cette boîte aux lettres, puis d'envoyer le tout sous le protocole smtp à qmail en utilisant l'adresse prévue des destinataires. Le seul problème rencontré était d'envoyer un courriel à nos vendeurs depuis notre nouveau serveur qmail. Ils réunissent leur courriel directement depuis leurs sites d'hébergement, leur domaine est encore le même que celui de n'importe qui d'autre. Cela voulait dire qu'à chaque fois qu'un utilisateur local essayait d'envoyer un message à l'un des vendeurs, qmail essayait de trouver un nom d'utilisateur local pour transmettre le message et ne trouvant aucun utilisateur équivalent, l'envoyait au receveur. La solution était d'utiliser une adresse électronique secondaire pour les vendeurs. Nos sites d'hébergement ne fournissent pas de services de connexion bas débit, donc chaque vendeur avait son propre compte ISP libre afin d'accéder au web. Ce compte leur offre une adresse sur un domaine différent et qmail pouvait ainsi leur réexpédier tout le courriel à cette adresse, en utilisant les fichiers alias.

[Note]Note

Afin de faciliter la vie des vendeurs, nos sites d'hébergement faisaient passer tout le courriel venant de leur boîte aux lettres à l'adresse électronique ISP libre — cela voulait dire que les vendeurs n'étaient pas « désorientés » en devant jongler sur des comptes et adresses multiples de leur carnet — qu'ils soient bénis :o)

Le vieux serveur PC utilisait la télécopie en réseau sous Microsoft pour partager un service de télécopie à travers le réseau. Les utilisateurs se servaient ainsi des modèles sous MS Word (qui avaient des macros VBA) afin de créer et d'envoyer des télécopies automatiquement, les erreurs étaient envoyées à l'utilisateur. Afin de fournir et d'être à la hauteur des services sur le nouveau serveur, j'ai choisi mgetty + sendfax pour offrir un service de télécopie. L'installation était facile et j'étais bientôt capable d'enregistrer des faxes depuis le serveur Linux. Appliquer le programme Spool à nos clients Windows se révéla être une bien plus grosse affaire et entraîna une modification au niveau du premier choix.

À l'origine, j'ai installé mgetty + sendfax afin d'utiliser un serveur de télécopie. Ce fut principalement du au fait qu'il était fourni avec RedHat 6 et qu'il était ainsi facilement accessible. Malheureusement il se révéla être inapplicable pour notre utilisation car nous avions besoin d'une certaine façon d'envoyer des télécopies au serveur de télécopie en se servant des macros Microsoft Word. Il existe quelques excellents clients Windows pour mgetty + sendfax, mais hélas ils demandent tous à l'utilisateur d'entrer le numéro du télécopieur etc., à chaque fois qu'une télécopie est envoyée. Je voulais une solution afin d'égaler notre serveur de télécopie actuel dans lequel l'utilisateur remplit un modèle Word, appuie sur un bouton et la macro lit le numéro du télécopieur via le document et utilise la commande VBA Sendfax pour envoyer la télécopie via MS fax.

Après de nombreuses délibérations et de nombreuses recherches, je pointais sur HylaFAX (http://www.hylafax.org/), qui a une fenêtre client WHFC (http://www.uli-eckhardt.de/whfc/). Ce client permet de communiquer via des macros VBA, c'était exactement ce que je voulais. Hylafax s'était bien installé bien que j'eusse rencontré certains problèmes plutôt ennuyeux concernant l'accès client. Je resolus ces problèmes en m'assurant que les addresses IP client étaient correctement ajoutées non seulement à /var/spool/fax/etc/hosts (comme indiqué sur les pages principales et FAQ), mais aussi à /var/spool/fax/etc/hosts.hfaxd. Une fois cela fait, j'étais prêt et le faisais marcher en moins de deux. WHFC s'installa très facilement et s'exécuta en quelques secondes.

Comme je l'ai mentionné, nos utilisateurs sont habitués à pouvoir appuyer sur un bouton pour envoyer une télécopie depuis MS Word 97. Il était important de garder cette entité disponible avec un nouveau serveur. WHFC a des possibilités OLE et nous étions ainsi capable d'écrire une nouvelle macro qui permettait à l'utilisateur d'envoyer une télécopie depuis Word sans avoir à entrer les détails du télécopieur dans un programme résidant en mode fenêtre. La macro effectue deux taches : elle imprime tout d'abord le document actuel dans un fichier, et utilise ensuite la fonction OLE de SendFax de WHFC afin d'envoyer le fichier imprimé à HylaFax. Le pilote de l'imprimante que nous utilisons est le Apple Laserwriter 16/600 (ps), celui qui est recommandé par les notes d'exécution de WHFC.

Voici le code macro que nous utilisons…

Sub Spool_fax()
' Spool_fax Macro
' Macro crée le 09/08/00 par Ryan Cartwright 
Dim givenfax, realnum As String
Dim whfc As Object
Dim OLE_Return As Long
Dim Box_Return As Integer 

' Tout d'abord, nous imprimons le document au fichier
' local — notez que les éléments de base peuvent être faux
' autrement la fonction retournera avant la rédaction complète
' du fichier et Hylafax sera alors incapable de le convertir
' correctement. 
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
Collate:=True, Background:=False, PrintToFile:=True, _
OutputFileName:="c:\faxtemp\printout.ps", Append:=False 

' Dans notre modèle, il est demandé à l'utilisateur une macro
' Autonew pour le numéro du télécopieur etc. 
' le numéro du champ pour le numéro du télécopieur est 8,
' il est important de s'en souvenir et d'ajouter un 9
' en face du 8 
Set givenfax = ActiveDocument.Fields(8).Result realnum = "9" + givenfax 

' Maintenantt, nous créons un objet OLE et appelons le
' sous-programme SendFax 
Set whfc = CreateObject("WHFC.OleSrv")
OLE_Return = whfc.SendFax("c:\faxtemp\faxoutput.ps", realnum, False) 

' En dernier lieu, nous testons la valeur retournée et
' nous écrivons correctement 
If OLE_Return &<= 0 Then
Box_Return = MsgBox("Error sending file", 16, "FAX Not Spooled")
Else
Box_Return = MsgBox("Fax Job ID:" & _ 
OLE_Return & Chr(13) & _ 
"Un email vous sera envoyé si le message a été transmis avec succès", _ 
0, "Fax spooled")
End If
Set whfc = Nothing
End Sub 

Cela couvre à peu près l'installation et la configuration de tous les outils et les services requis pour mettre notre nouveau serveur en état de marche et le rendre opérationnel. En ayant dit ça, j'insiste sur le fait que pour mettre en place un bon serveur, des outils seuls ne suffisent pas. Je vous conseille de lire le susmentionné guide d'administration système sous Linux et plus particulièrement le chapitre 10 et la partie intitulé « backups » !

Le serveur Linux était en place deux mois après le commencement de ce projet. Je suis sûr que cela m'aurait pris des jours si j'avais su ce que je m'apprêtais à faire mais je recommande à quiconque intéressé à un projet similaire de se donner un bon moment. Ceci est plus particulièrement applicable si comme moi, vous vous êtes fait les dents sur Windows. Linux n'est pas difficile à utiliser, il est juste différent et le passage de Windows prend du temps. Avant de commencer, lisez d'excellents documents, et vous pouvez également trouver ça efficace si vous lisiez petit à petit sur une machine secondaire pendant que votre vieille machine est encore en marche autre part. Aller et venir est une approche plus efficace qu'un échange direct d'information.

Depuis le tout début de la rédaction de ce document, j'ai acquis une expérience considérable de Linux et de certains outils mentionnés ici. J'utilise désormais Linux dans une grande variété de tâches chez moi et au travail. Je suis depuis parti de l'entreprise pour laquelle j'ai mis en place ce serveur particulier, mais à ma connaissance ils l'utilisaient encore trois années plus tard (je pense qu'ils l'ont remplacés par un serveur Linux basé sur une solution informatique en permanence). Si vous envisagez d'utiliser Linux comme solution de rechange à un autre OS, je vous encourage à l'examiner plus en détails.

J'ai non seulement progressé, mais le caractère évolutif de Linux a entraîné une diminution de l'intérêt porté à ce document. De nombreuses distributions (regardez ici le site http://www.linux.org/dist/) ont facilité l'utilisation de Linux en tant que serveur LAN Windows en pré configurant les options demandées. Vous pouvez souvent trouver un produit spécifiquement dédié aux objectifs mentionnés ici.

Cependant, il y aura toujours ceux qui veulent « se salir » ou veulent juste faire les choses pour eux et apprendre grâce à ce procédé. Je peux le comprendre car l'expérience montrée ici servait à m'apprendre bien plus de choses sur Linux que je m'attendais au début.

D'autre part comme le monde de Microsoft s'éloigne des clients comme Windows 9x, un besoin de services comme des calendriers communs, carnets d'adresses etc. (qui remplacent en gros Microsoft Exchange Server) apparaît. Beaucoup de ces fonctionnalités sont disponibles sous Linux via des applications, des outils divers et quelques entreprises individuelles, mais j'ai décidé de ne pas les énumérer ici car qu'il est préférable (et plus simple) de conserver ce document à sa fin original. Si vous avez besoin de ces informations, jetez un œil sur certains produits disponibles depuis diverses distributions qui ont pour but de fournir toutes les fonctionnalités énumérées dans ce document en un seul tour.