Préambule Il s'agit d'utiliser en local, le serveur NT comme un serveur Internet. La méthode décrite correspond à ce qui est fait par les hébergeurs1 de sites lorsque ceux-ci utilisent des serveurs NT. Si de plus votre serveur NT est connecté à Internet avec un numéro IP fixe, ce que nous allons faire en local, peut être utilisé à partir du réseau Internet.
L'existant Je suppose que : • vous disposez d'un serveur NT et que vous avez les droits d'administrateur sur ce serveur. • ce serveur s'appelle "serveur". • ce serveur possède une (au moins une) carte réseau et le protocole TCP/IP est installé. Le serveur a un numéro IP fixe (par exemple 192.168.0.1). • vous disposez d'un ensemble de postes clients en Windows 95/98/NTWS reliez en réseau avec le serveur et utilisant le protocole TCP/IP. Dans la suite ces ordinateurs seront appelés des stations. • IIS (Internet Information Serveur) est installé sur le serveur NT. (si ce n'est pas le cas, vous pouvez l'installer à partir du CD de NT4 en exécutant \i386\Inetsrv\Inetstp.exe. Il est inutile d'installer Gopher. Ne pas oublier d'appliquer à nouveau le service pack de NT après cette installation).
1
Hebergeur : nouveau mot utilisé pour indiquer une personne qui possède un serveur connecté à Internet, visible en permanence et qui offre des répertoires à ses clients, leur donnant ainsi la possibilité de publier leur site Internet.
Vérifiez le fonctionnement de l'existant avant de continuer Vérifiez que le service WWW fonctionne. Sur une station, ouvrez un navigateur et tapez l'adresse http://192.168.0.1 (corrigez si le numéro IP du serveur est différent). Vous devez obtenir la page par défaut du serveur Web de votre serveur NT. Cette page est stockée sur le serveur NT dans le répertoire \Inetpub\wwwroot, elle est nommée Default.htm et a été placée lors de l'installation de IIS.
Si le navigateur ne trouve pas le serveur, vous devez vérifier l'installation et la configuration de IIS (voir annexes). Essayez maintenant l'adresse http://serveur (corrigez si le serveur ne s'appelle pas serveur). Si la station a la possibilité d'aller sur Internet, il est tout à fait possible qu'elle commence par chercher http://serveur sur Internet avant de le trouver dans le réseau local. On peut remédier de plusieurs façons à cet inconvénient, la plus simple est d'utiliser un fichier Hosts (voir l'annexe).
INTRANET avec serveur NT
2
André Sayer, avril 2000
Vérifiez que le service FTP fonctionne. Sur une station, exécutez un logiciel ftp (Si vous n'avez pas de logiciel client ftp, vous pouvez télécharger par exemple WS_FTP95LE ou Cute_FTP ou FTP_Explorer etc. Ces logiciels fonctionnent avec 95, 98 et NT). Paramétrez un nouveau profil de connexion de la façon suivante (la copie d'écran a été faite avec WS_FTP95LE) :
Vous devez obtenir comme répertoire racine, le répertoire qui en fait est \Inetpub\ftproot sur le serveur. A l'origine, ce répertoire est vide. Allez sur le serveur, placez un fichier sur le serveur dans le répertoire \Inetpub\ftproot et faites "rafraîchir" ou "actualiser" ou "Refresh" avec votre logiciel ftp sur la station. Vous devez maintenant voir le fichier, vous devez également pouvoir le télécharger, vous ne devez cependant pas avoir le droit de le modifier.
Publier un site sur le serveur NT Vous avez créé un site, les fichiers nécessaires pour ce site sont actuellement dans un répertoire de votre ordinateur 95/98 et vous voudriez que ce site soit sur le serveur NT. Dans la suite j'appellerai ce répertoire le répertoire à publier. Pensez que votre page d'accueil doit s'appeler Default.htm (c'est le paramétrage par défaut de IIS). Lorsqu'un visiteur demandera un répertoire de votre site, NT lui enverra le fichier nommé Default.htm de ce répertoire. Si un tel fichier n'existait pas dans le répertoire, le visiteur obtiendrait un message d'erreur. Il lui serait cependant possible de taper un nom de fichier à la suite du répertoire à condition bien sûr de connaître ce nom. Prenons un exemple concret : Vous avez placé un fichier depart.html dans le répertoire \Inetpub\wwwroot mais vous n'avez pas de fichier nommé Default.htm. Un visiteur devra taper http://serveur/depart.html pour voir votre page. Si vous aviez placé un fichier nommé Default.htm, le visiteur aurait pu, au choix, taper http://serveur/Default.htm ou plus simplement http://serveur
Méthode en se plaçant sur le serveur NT Cette méthode convient si vous êtes administrateur du serveur NT. Si vous voulez conserver le site actuel, vous pouvez commencer pas copier ou déplacer le contenu de \Inetpub\wwwroot dans un autre répertoire. Ne supprimez pas le répertoire wwwroot !!!
INTRANET avec serveur NT
3
André Sayer, avril 2000
Placez-vous sur le serveur et copiez le contenu du répertoire à publier dans le répertoire \InetPub\wwwroot Il ne faudrait pas partager le répertoire wwwroot du serveur, et y accéder par le voisinage réseau. En effet cette solution ferait perdre la notion de serveur Intranet/Internet et ne correspondrait pas à ce qu'offrent les hébergeurs de sites sur Internet.
Vérifiez que votre site fonctionne en utilisant un navigateur sur une station et en tapant l'adresse http://192.168.0.1 ou http://serveur
Méthode en publiant à partir d'un poste Vous voulez utiliser en Intranet la technique utilisée sur Internet. En pratique, pour avoir le droit de publier un site chez un hébergeur, vous devez obtenir auprès de celui-ci un nom et un mot de passe. Avec ce "logging", vous avez la possibilité de modifier à distance le contenu de votre répertoire web sur l'ordinateur de votre hébergeur. Toute personne n'ayant pas ce logging ne peut que voir votre site à l'aide de son navigateur. Nous allons pouvoir en Intranet faire la même chose. Commencez par faire le travail de l'hébergeur. Sur le serveur NT, faites "Démarrer", "Programmes", "Outils d'administration" et "Gestionnaire des utilisateurs". • Faites "Utilisateur" et "Nouveau groupe global". Nommez ce groupe par exemple WebAdmins (avec un s).
Pour l'instant ne mettez personne dans la partie Membres. La description est facultative.
INTRANET avec serveur NT
4
André Sayer, avril 2000
• Faites "Utilisateur" et "Nouvel utilisateur". Nommez cet utilisateur par exemple webadmin (sans s) avec pour mot de passe par exemple 1234. Ne mettez pas de coche devant "L'utilisateur doit changer le mot de passe..." et mettez une coche devant "Le mot de passe n'expire jamais". Cliquez sur "Groupe" et mettez cet utilisateur dans le groupe WebAdmins comme le montre la copie d'écran ciaprès.
• Faites "Stratégie" et "Droits de l'utilisateur". Dans la zone "Droits" choisissez "Ouvrir une session localement".
INTRANET avec serveur NT
5
André Sayer, avril 2000
•
A l'aide du bouton "Ajouter", ajoutez le groupe WebAdmins.
Sur le serveur NT, faites "Démarrer", "Programmes", "Internet Information Serveur" et "Gestionnaires des services".
Faites un double clic sur la ligne FTP.
INTRANET avec serveur NT
6
André Sayer, avril 2000
Enlevez la coche devant "N'autoriser que les connexions anonymes" (on est informé que les mots de passe sont transmis en clair sur le réseau).
INTRANET avec serveur NT
7
André Sayer, avril 2000
Toujours dans les propriétés du serveur FTP, choisissez le volet "Répertoires". Cliquez sur "Ajouter", utilisez éventuellement "Parcourir" pour choisir \InetPub\wwwroot. Dans "Répertoire virtuel" mettez comme alias par exemple /html et donnez un droit "Lire" et "Ecrire". Voir copie d'écran ci-après.
Publier votre site Vous allez maintenant publier votre site et donc jouer le rôle de la personne responsable du site. Placez-vous sur la station ayant le répertoire contenant votre site à publier, utilisez un logiciel ftp et paramétrez-le de la façon suivante : Host name : (mettez le numéro IP du serveur ou éventuellement "serveur") Host type : Laissez en automatique ou précisez Windows NT User ID : webadmin password : 1234 (mettre le mot de passe de webadmin) Initial remote site folder : /html Etablissez la connexion... Vous devez voir le contenu du répertoire /html qui en fait, ne l'oublions pas correspond au répertoire \Inetpub\wwwroot du serveur. Vous devez avoir un accès en lecture écriture, il vous reste alors à copier (publier) votre répertoire à publier dans /html Vérifiez le résultat à l'aide d'un navigateur avec l'adresse http://serveur Accès anonyme Si vous paramétrez votre logiciel ftp en accès anonyme, vous constatez que vous avez également un droit en lecture écriture sur ce répertoire. Ceci n'est évidemment pas acceptable. Corrigeons rapidement cette énorme faille.
INTRANET avec serveur NT
8
André Sayer, avril 2000
Sur le serveur NT, placez-vous sur le répertoire wwwroot, faites un clic avec le bouton droit de la souris, allez dans "Propriétés".
Choisissez "Sécurité" et "Permissions". Le groupe Administrateurs est certainement déjà présent avec accès "Contrôle total", laissez-le. S'il n'y est pas, ajoutez-le. Cliquez sur "Ajouter" et sur "Montrer les utilisateurs". Choisissez l'utilisateur correspondant au "Compte Invité Internet" (IUSR_serveur dans la copie d'écran suivante). Dans type d'accès, cliquez sur "Accès spécial à un fichier", cochez seulement "Lire (R)". Cliquez sur "Accès spécial à un répertoire" et cochez seulement "Lire (R)" et "Exécuter (X)". Cliquez à nouveau sur "Ajouter" et sur "Montrer les utilisateurs". Choisissez "webadmin" et mettez "Modifier" comme type d'accès. Cliquez sur la case "Remplacer les permissions des sous-répertoires". Vous devriez obtenir une fenêtre ressemblant à celle-ci :
Validez. Maintenant, votre site a les bons droits. Tout le monde peut, à partir des stations, voir votre site à l'adresse http://serveur
INTRANET avec serveur NT
9
André Sayer, avril 2000
A l'aide d'un logiciel ftp, si vous utilisez le compte webadmin avec le bon mot de passe et /html comme répertoire de base sur le serveur distant, vous avez le droit de modifier le contenu du répertoire \Inetpub\wwwroot du serveur. Si, avec le logiciel ftp, vous utilisez tout autre compte ou plus simplement un accès anonyme, vous arrivez sur le répertoire \inetpub\ftproot qui vous apparaît comme le répertoire principal en ftp. Vous n'avez qu'un droit de lecture sur ce répertoire.
Publier plusieurs sites sur le serveur NT Cette partie n'a d'intérêt que si vous souhaitez avoir plusieurs personnes capables de publier de façon indépendante sur votre serveur NT. Dans la suite, on va supposer que Jean souhaite pouvoir publier son site. Je suppose que vous ne voulez pas donner à Jean la possibilité de modifier votre site ni lui donner l'accès comme administrateur à votre serveur NT. Nous sommes dans la situation d'un hébergeur qui possède plusieurs clients comme Jean, chacun des clients ayant un site indépendant des autres. Vous pourrez par exemple sur la page d'accueil du site principal, mettre un lien vers le site de Jean afin de rendre son accès plus facile aux visiteurs. Ce lien sera http://serveur/jean ou plus simplement /jean
Travail de l'administrateur NT Sur le serveur NT, à l'aide du "Gestionnaire des utilisateurs", créez un nouvel utilisateur. Nommez cet utilisateur jean et donnez lui un mot de passe (ne pas laisser le mot de passe vide). Décochez la case "L'utilisateur doit changer le mot de passe..." et mettez une coche devant "Le mot de passe n'expire jamais". Cliquez sur "Groupe" et mettez cet utilisateur dans le groupe WebAdmins. Créez un répertoire pour jean. Je vous propose de créer ce répertoire dans \InetPub et de l'appeler par exemple jean (ne le créez pas dans wwwroot, il serait vu par vous comme un sous-site du site principal). Faites un clic avec le bouton droit de la souris sur le répertoire jean et choisissez "Propriétés".
INTRANET avec serveur NT
10
André Sayer, avril 2000
Choisissez le volet "Internet". Le service à administrer est WWW, cliquez sur ajouter et mettez comme alias pour le répertoire virtuel /jean. Laissez l'accès "Lire".
Validez et faites "Appliquer".
INTRANET avec serveur NT
11
André Sayer, avril 2000
Choisissez maintenant le service FTP, Cliquez sur "Ajouter", mettez comme alias /jean (mettre le nom de la personne qui sera autorisée à publier) et cochez "Lire" et "Ecrire". Voir copie d'écran ci-après.
Validez et faites "Appliquer". Ouvrez maintenant le volet "Sécurité" et cliquez sur "Permissions". Cliquez sur "Ajouter" et sur "Montrer les utilisateurs". Ajoutez IUSR_serveur et jean avec les bons droits comme sur la copie d'écran suivante :
INTRANET avec serveur NT
12
André Sayer, avril 2000
Travail de Jean Jean utilise son logiciel FTP en le paramétrant comme suit : Host name : (le numéro IP du serveur ou éventuellement "serveur") Host type : Laissez en automatique ou précisez Windows NT User ID : jean password : (le mot de passe) Initial remote site folder : (ne rien mettre, il est en effet inutile de préciser /jean). Il lui reste à publier son site.
Voir le site de Jean Toute personne peut avec son navigateur voir le site de Jean en utilisant l'adresse http://serveur/jean
Autres clients Procédez comme vous venez de le faire pour jean avec chacune des personnes responsables d'un site sur votre serveur.
Améliorations possibles Il est possible d'attribuer plusieurs numéros IP à une carte réseau sur un serveur NT. Supposons que la carte réseau possède les numéros IP 192.168.0.1 et 192.168.0.2 Au lieu de définir un répertoire virtuel avec comme alias /jean pour le service WWW, on peut définir un répertoire de base pour le serveur 192.168.0.2 (qui n'est rien d'autre que notre serveur mais qui est vu comme un autre serveur). Pour accéder au site de Jean, on pourra alors utiliser l'adresse http://192.168.0.2 Si, dans le fichier hosts de chaque station, on ajoute la ligne 192.168.0.2 servjean alors on pourra utiliser l'adresse http://servjean et faire croire ainsi que Jean a son propre serveur pour héberger son site. En installant et paramétrant le service DNS sur votre serveur NT, il est même possible d'avoir des adresses comme http://www.servjean.com.
Répertoire CGI Il s'agit du répertoire \Inetpub\cgi-shl. Les hébergeurs ont tendance à choisir cgi-bin comme alias pour ce répertoire. Sa particularité est que les visiteurs ne peuvent pas le lister, les fichiers placés dans ce répertoires ne peuvent être qu'exécutés. Les fichiers placés dans le répertoire CGI sont exécutés sur le serveur. Vous comprendrez que l'hébergeur prend des risques en autorisant ses clients à placer des programmes qui s'exécutent sur son serveur. Lorsque le programme s'exécute, il peut par exemple regarder un fichier contenant une liste d'articles et envoyer sous forme de page html les références d'un article.
INTRANET avec serveur NT
13
André Sayer, avril 2000
On peut imaginer qu'une autre personne à l'aide d'un mot de passe, ajoute un article à la liste ou encore modifie les caractéristiques ou le prix d'un article… Les programmes CGI sont appelés à partir de formulaires placés dans les pages html ou pour afficher une image qui peut varier d'une fois à l'autre (compteurs et bandeaux publicitaires par exemples).
Langage Perl Pour que les clients puissent utiliser des programmes perl (extension .pl), vous devez installer le serveur perl sur le serveur NT. Vous pouvez faire une recherche sur Internet avec les mots perl et NT ou essayer d'aller sur le site http://www.activestate.com/ActivePerl/ Les fichiers perl devront être placés dans le répertoire CGI et pourront être appelés à partir des pages html des différents sites.
INTRANET avec serveur NT
14
André Sayer, avril 2000
Annexes Fichier Hosts Sur une station, dans le répertoire Windows, recherchez les fichiers hosts.* Vous obtiendrez certainement hosts.sam (sam signifie sample c'est à dire exemple). Il s'agit d'un fichier exemple qui n'est pas pris en compte par Windows. Faites une copie de ce fichier, la copie doit s'appeler exactement Hosts (sans extension). Editez ce fichier à l'aide du bloc notes. Chaque ligne commençant par # n'est pas prise en compte, il s'agit d'une remarque. A la fin de ce fichier vous trouvez la ligne 127.0.0.1 Localhost Laissez cette ligne et ajoutez 192.168.0.1 serveur Enregistrez. Vérifiez que le bloc-notes n'a pas ajouté l'extension TXT et si c'est la cas renommez votre fichier pour qu'il se nomme Hosts. Ouvrez votre navigateur. Maintenant, en tapant l'adresse http://serveur, aucune recherche ne se fait sur Internet puisque le nom "serveur" correspond à un numéro IP du réseau local. Cette adresse sera automatiquement remplacée par http://192.168.0.1
Vérifier IIS Sur le serveur NT, vérifiez que le répertoire \Inetpub\wwwroot existe et qu'il contient un fichier nommé Default.htm. Si ce répertoire n'existe pas, vous ne devez pas le créer, vous devez installer IIS qui créera ce répertoire avec les bons droits. Faites "Démarrer", "Programmes", "Microsoft Internet Serveur" et "Gestionnaire des services". Vérifier que les services WWW et FTP sont "En cours…"
INTRANET avec serveur NT
15
André Sayer, avril 2000