Dépannage (Troubleshooting)
Résolution des problèmes de configuration IIS
Les problèmes de IIS peuvent être divisés en trois catégories de base. Il y a d'abord des problèmes d'installation. Celles-ci se produisent toujours lors de l'installation d'IIS pour la première fois ou lorsque vous essayez d'ajouter un service que vous avez ignoré lors de l'installation initiale.
Ensuite, il y a des problèmes de service. Ceux-ci sont souvent caractérisés par la disponibilité d'un type de service, tandis qu'un autre ne l'est pas. Si vous pouvez ouvrir la page d'accueil dans votre navigateur Web, mais ne pouvez pas pour un fichier FTP, par exemple, vous devriez probablement regarder comme le service FTP.
Enfin, et généralement les plus complexes, sont les problèmes de configuration. Il peut s'agir de problèmes de sécurité ou de liens rompus sur votre site Web.
Problèmes d'installation
La première chose à considérer si vous rencontrez des problèmes d'installation est de savoir si votre matériel est à la hauteur de la tâche. Avant de configurer IIS, votre système doit satisfaire ou dépasser les exigences matérielles. Le tableau suivant présente la configuration requise pour un système exécutant un microprocesseur Intel x86 avec IIS 4 :
Catégorie | Prérequis |
---|---|
Microprocesseur | Exigence minimum d'un microprocesseur 486DX à 66 MHz. Pour de meilleures performances, vous avez besoin d'un processeur Pentium 133 ou supérieur. |
Espace de disque dur | Minimum de 30 Mo, mais il est recommandé de disposer d'au moins 120 Mo. Il n'inclut pas l'entreposage nécessaire pour les fichiers que vous prévoyez de distribuer via IIS. |
Mémoire | Minimum de 32 Mo. Pour un site Web sur lequel vous stockerez des fichiers multimédias ou attendez beaucoup de trafic, 48 Mo est le minimum recommandé. |
Moniteur | Moniteur Super VGA avec une résolution de 800x600 pixels. |
Le tableau suivant répertorie les exigences pour un système exécutant un microprocesseur Alpha de DEC avec IIS 4 :
Catégorie | Prérequis |
---|---|
Microprocesseur | Exigence minimum de microprocesseur à 150 Mhz. |
Espace de disque dur | Minimum de 120 Mo, mais vous devez allouer jusqu'à 200 Mo pour de meilleures performances. |
Mémoire | Minimum de 48 Mo. Pour de meilleures performances, vous devez disposez d'au moins 64 Mo. |
Moniteur | Moniteur Super VGA avec une résolution de 800x600 pixels. |
Pendant que vous êtes sur le sujet de la configuration matérielle requise, considérez comme une excellente idée d'utiliser du matériel figurant sur la liste de compatibilité matérielle (anciennement HCL, actuellement Windows Compatible Products List) de Microsoft, que vous pouvez trouver sur le site Web de Microsoft ou sur le CD de Microsoft TechNet jusqu'en 2007. L'utilisation de matériel non HCL peut entraîner des problèmes avec le système d'exploitation Windows et, par la suite, sur votre installation IIS.
Avant d'installer IIS, assurez-vous que les logiciels suivants sont installés :
- Un système d'exploitation, exemple : Windows NT Server 4.0 avec Service Pack 3, Windows 2000 Server, Windows Server 2003, Windows Server 2008, Windows Server 2012, Windows Server 2016, Windows Server 2019, Windows XP, Windows Vista, Windows 7, Windows 10,...
- Un navigateur Web comme par exemple : Internet Explorer, Netscape, Chrome, Firefox, Opera,...
Vous devez également être connecté sur l'ordinateur Windows NT Server ou Windows Server avec des privilèges d'administrateur. Ne pas disposer des autorisations appropriées ou du logiciel requis installé garantit presque toujours un échec d'installation.
Un autre endroit où vous pouvez rencontrer un problème est lorsque vous essayez d'installer un service une fois l'installation initiale d'IIS terminée. Par exemple, lorsque vous avez installé IIS pour la première fois, vous n'avez peut-être pas besoin de MTS (Microsoft Transaction Server). Plus tard, le responsable de votre groupe de développement Web doit déployer une application s'appuyant sur MTS. Vous sortez votre disque IIS, revenez à l'installation, puis rencontrez un problème lors de l'installation de MTS. Commencez par les bases. Assurez-vous que vous disposez encore de suffisamment d'espace disque et de mémoire pour ajouter l'application - les choses ont peut-être changé depuis votre installation d'origine IIS. Vous devez également vous assurer que vous n'avez chargé aucune application ou service supplémentaire sur le serveur, ce qui pourrait avoir pris certaines des ressources initialement allouées à IIS.
Problèmes d'installation avec IIS 7
Le processus d'installation effectue sa propre journalisation dans un fichier texte simple, généralement appelé IIS7.log (pour les versions IIS 7.x et IIS6.log pour IIS 6.0). La première chose à rechercher est les erreurs dans le IIS7.LOG (exemple: C:\WINDOWS\IIS7.LOG). Ainsi, rechercher le mot «FAIL». Voici un exemple d'entrée dans IIS7.log :
[11/12/2011 21:47:14] [ ***** IIS 7.0 Component Based Setup ***** ] [11/12/2011 21:47:14] "C:\Windows\System32\inetsrv\iissetup.exe" /install FTPServer [11/12/2011 21:47:14] < !!FAIL!! > METABASE_UTIL::InstallFtpMetabaseEntries result=0x800708c5 [11/12/2011 21:47:14] < !!FAIL!! > Install of component FTPServer result=0x800708c5 [11/12/2011 21:47:14] < !!FAIL!! > COMPONENT::ExecuteCommand result=0x800708c5 [11/12/2011 21:47:14] [ End of IIS 7.0 Component Based Setup ] |
Vous pouvez voir qu'il vous indique clairement le fichier EXE que l'installation a exécuté et si cela a réussi ou non. Avec le message d'erreur et la ligne de commande d'installation, recherchez sur un moteur de recherche l'erreur trouvée : «InstallFtpMetabaseEntries result=0x800708c5». Vous pouvez réexécuter la commande de configuration à partir de la ligne de commande. Il vous aidera à isoler le problème et vous permettra de collecter les bonnes données (comme le moniteur de processus) pour cet échec et vous n'aurez pas à exécuter le SETUP encore et encore.
Essayez d'arrêter tous les services tiers (services non Microsoft à partir du démarrage) et redémarrez la boîte avant d'essayer la prochaine installation/désinstallation d'IIS.
Pour identifier et désactiver rapidement ces services, allez dans démarrer à exécuter et tapez la commande :
msconfig |
Il ouvrira la boîte de dialogue de configuration du système. Allez dans l'onglet Services et cochez la case «Hide all Microsoft services» en bas, puis désactivez tous les services tiers pouvant être arrêtés sans effectuer le redémarrage du serveur. Il s'agit généralement de logiciels antivirus, de logiciels de sauvegarde,...
Un autre scénario courant, mais le plus important que les gens oublient, consiste à désinstaller les «Windows Process Activation Services» de WPAS, en particulier lorsqu'ils essaient de désinstaller et de réinstaller IIS. Lorsque vous installez IIS, le programme d'installation ajoute automatiquement WPAS pour vous comme l'une des dépendances, mais lorsque vous désinstallez IIS, le WPAS n'est pas désinstallé automatiquement - laissant les binaires principaux intacts (cela est fait pour une raison et n'est pas un bogue. En bref, il n'est pas désinstallé pour s'assurer qu'il ne finira pas par casser d'autres services sur la boîte consommant explicitement ce modèle de processus - comme le service WCF). Il faut s'assurer que WPAS est explicitement désinstallé en accédant aux fonctionnalités du gestionnaire de serveur et en choisissant «Windows Process Activation Services» pour désinstaller. Dans IIS 7.5, le programme de désinstallation recherchera d'autres dépendances pour WAS (telles que WCF), et si aucune n'est trouvée, le processus de désinstallation d'IIS supprimera WAS.
Examen des journaux CBS (Component Based Setup)
Si IIS7.log est propre, il y a de fortes chances que le problème se trouve dans le moteur CBS (Component based Setup). Les journaux CBS se trouvent dans le dossier C:\Windows\Logs\CBS. Tout comme le fichier IIS7.log, le fichier CBS.log est un fichier texte et peut être ouvert dans un éditeur de texte (Notepad, Notepad++,...) de votre choix (vous devrez ouvrir ce fichier à partir du prompt de commande en mode administrateur). Vous pouvez obtenir des informations utiles de ces journaux en gardant à l'esprit la période de l'échec de l'installation et en recherchant la chaîne de caractères «Failure will not be ignored: A rollback will be initiated» dans le fichier CBS.LOG. Voici un exemple d'une telle instance :
2011-07-12 21:47:14, Info CSI 00000047 Calling generic command executable (sequence 2): [40]"C:\Windows\System32\inetsrv\iissetup.exe" CmdLine: [151]""C:\Windows\System32\inetsrv\iissetup.exe" /launch C:\Windows\System32\inetsrv\appcmd.exe reset config -section:system.applicationHost/listenerAdapters" 2011-07-12 21:47:14, Error CSI 00000048 (F) Done with generic command 2; CreateProcess returned 0, CPAW returned S_OK Process exit code 16386 (0x00004002) resulted in success? FALSE Process output: [l:22 [22]"Failed = 0x80004002"][gle=0x80004005] 2011-07-12 21:47:15, Info CSI 00000051@2010/7/8:18:04:09.688 CSI Advanced installer perf trace:CSIPERF:AIDONE; {81a34a10-4256-436a-89d6-794b97ca407c};Microsoft-Windows-IIS-SharedLibraries, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey Neutral;6148228 2011-07-12 21:47:15, Error [0x018007] CSI 00000052 (F) Failed execution of queue item Installer: Generic Command ({81a34a10-4256-436a-89d6-794b97ca407c}) with HRESULT HRESULT_FROM_WIN32(14109). Failure will not be ignored: A rollback will be initiated after all the operations in the installer queue are completed; installer is reliable (2)[gle=0x80004005] 2011-07-12 21:47:16, Info CSI 00000053 End executing advanced installer (sequence 75) Completion status: HRESULT_FROM_WIN32(ERROR_ADVANCED_INSTALLER_FAILED) |
Essayez d'autres rôles et voyez s'ils échouent. S'ils le font, IIS n'est qu'une victime et vous pouvez engager la configuration des plates-formes pour obtenir de l'aide. Exécutez l'outil de préparation des mises à jour du système (nom court CHECKSUR) - Cet outil est disponible pour Windows Vista, pour Windows Server 2008, pour Windows 7 et pour Windows Server 2008 R2. Le téléchargement de cet outil est un peu gros mais cela vaut la peine de l'exécuter.
Exécutez la commande sfc /scannow à partir d'une prompt de commande avec des privilèges élevée. Cette commande peut prendre 5 à 10 minutes et si cet outil détecte une corruption, il essaie également de la réparer. S'il y a des erreurs et que cet outil est corrigé, tapez la commande :
sfc /scannow |
alors vous pouvez voir quelque chose ressemblant à ceci
Beginning system scan. This process will take some time. Beginning verification phase of system scan. Verification 100% complete. Windows Resource Protection found corrupt files and successfully repaired them. Details are included in the CBS.Log windir\Logs\CBS\CBS.log. For example C:\Windows\Logs\CBS\CBS.log |
Si cette commande signale des erreurs et qu'elle ne peut pas les corriger, vous aurez un message comme ceci :
Windows Resource Protection found corrupt files but was unable to fix some of them. Details are included in the CBS.Log windir\Logs\CBS\CBS.log. For example C:\Windows\Logs\CBS\CBS.log |
Ce n'est que lorsque les deux outils fonctionnent correctement que vous devez poursuivre votre dépannage. Il est probable que l'exécution de ces étapes aurait pu corriger la corruption présente dans CBS, car c'est essentiellement ce que font ces outils. Ce ne serait pas une mauvaise idée d'exécuter ces outils de toute façon, car cela peut prendre environ 20 à 30 minutes pour exécuter les deux outils, mais si ces outils rencontrent des problèmes dans le moteur CBS, cela peut vraiment vous faire gagner du temps sur un problème.
Problèmes TCP/IP
Un problème très courant que vous rencontrerez avec n'importe quel serveur est la possibilité d'accéder au serveur via le réseau. Il peut être particulièrement gênant avec un serveur IIS car il dépend totalement d'une infrastructure TCP/IP stable et correctement configurée. Il existe trois paramètres principaux spécifiant comment le TCP/IP est configuré sur un hôte avec la capacité de communiquer au-delà de son segment local : l'adresse IP, le masque de sous-réseau et la passerelle par défaut (étant l'adresse d'un routeur sur ce sous-réseau). L'onglet de Protocols de l'applet Network répertorie tous les protocoles installés. Sélectionner le protocole TCP/IP et cliquer sur le bouton Proprieties (Propriétés en français) vous permettra de configurer le protocole. L'onglet IP Address vous permet de configurer ces paramètres.
Bien qu'il soit possible de recevoir une adresse IP d'un serveur DHCP, ce n'est généralement pas une bonne idée avec un serveur. Il est généralement beaucoup plus facile d'attribuer une adresse statique aux serveurs, puis de s'assurer que votre serveur DHCP ne transmet pas cette adresse à un autre poste de travail.
Ces trois paramètres TCP/IP doivent être correctement configurés pour que vous puissiez vous connecter avec TCP/IP. Une configuration incorrecte peut résulter d'erreurs typographiques; si vous saisissez une adresse IP, un masque de sous-réseau ou une passerelle par défaut incorrects, vous risquez de ne pas vous connecter correctement ou même de ne pas pouvoir vous connecter du tout. Une façon simple de penser à cela est de faire une comparaison avec un appel téléphonique. Si vous composez le mauvais numéro lors d'un appel téléphonique, vous ne pourrez pas joindre la personne à qui vous voulez parler. Si vous lisez le mauvais numéro de téléphone dans l'annuaire téléphonique, vous ne passerez jamais d'appel de connexion, même si vous composez à plusieurs reprises le numéro que vous pensez être correct.
Que les paramètres de configuration TCP/IP soient incorrects en raison d'une faute de frappe ou d'une adresse erronée, vous aurez du mal à vous connecter selon vos besoins. Différents types de problèmes se produisent lorsque chacun de ces paramètres présente une erreur de configuration.
Problèmes de configuration d'adresse IP
Bien qu'une adresse TCP/IP incorrecte pose presque toujours des problèmes, dans certains cas, ce n'est pas le cas. Si vous configurez une adresse IP se trouvant sur le sous-réseau correct mais utilise le mauvais ID d'hôte et n'est pas un doublon, le client peut être en mesure de communiquer très bien. Si, cependant, l'adresse IP correcte a été entrée dans un fichier statique ou une base de données résolvant les noms d'hôte en adresses IP, comme un fichier LMHOSTS ou un fichier de base de données DNS, vous ne vous connecterez pas au serveur prévu.