Mettre en place un serveur Intranet/Internet
Transcription
Mettre en place un serveur Intranet/Internet
Mettre en place un serveur Intranet/Internet Dans ce chapitre vous apprendrez à installer et configurer un serveur Web grâce au rôle de serveur IIS (Internet Information Services). 1. Présentation d’IIS7 a. Présentation générale IIS7 (Internet Information Services) est la dernière version du serveur Web de Microsoft. Inclus en version complète avec Windows Server 2008, il fournit une plateforme sécurisée et facile à administrer pour pouvoir héberger des Services Web ainsi que des applications Web enrichies. Windows Server 2008 R2 fournit IIS7 (Internet Information Services) en version 7.5. Dans cette septième version, IIS permet d’héberger et de gérer la plupart des langages utilisés sur le Web allant de l’ASP.net au PHP. Sa rétrocompatibilité permet de migrer aisément vos sites Web hébergés sur les versions précédentes de IIS sans rencontrer de problème. IIS7/7.5 offrent des fonctionnalités différentes en fonction du système d’exploitation. Tout comme IIS6, ils peuvent être installés sur le système d’exploitation client (Windows Vista/Windows 7) en version allégée. Windows Vista, Windows 7 et Windows Server 2008/2008 R2 partageant le même noyau, il est donc facile de développer des applications depuis son poste de travail pour ensuite les faire héberger par un serveur. Décliné en édition Web, Windows Web Server 2008 propose lui aussi une plateforme Web complète basée sur IIS7. Moins chers que les autres éditions, Windows Web Server 2008/2008 R2 supportent jusqu’à 32 Go de mémoire vive (sur un système non 32bits, qui est limité à 4 Go) et jusqu’à 4 processeurs. IIS7 peut également être installé en mode Core mais il faut garder à l’esprit qu’aucun site développé en ASP.Net ne pourra être publié dans ce cas. En effet, le mode Core de Windows Server 2008 ne permet pas l’installation du .Net Framework pour des raisons de sécurité. Cependant, sachez qu’il est possible d’installer le .Net Framework 2.0 et 3.0 en mode Core sur un Windows Server 2008 R2 avec IIS 7.5. La version R2 permet également d’installer un FTP sécurisé et les fonctionnalités Webdav. b. Nouvelle architecture L’architecture d’IIS a été repensée afin de faciliter l’implémentation des fonctionnalités et donc l’extension des possibilités du serveur. Sous IIS6, la structure était composée d’un seul bloc ce qui obligeait à tout installer pour utiliser le serveur Web. Avec IIS7/7.5, les fonctionnalités ont été découpées de façon à pouvoir charger les modules en correspondance avec les besoins. Ces modules sont découpés en cinq catégories pour la partie Serveur Web. ● Fonctionnalités HTTP communes (contenu statique, documents par défaut, etc.). ● Développement d’applications (prise en charge de : ASP.Net, ASP, CGI, etc.). ● Intégrité et diagnostics (journalisation, observateur de demandes, suivi, etc.). ● Sécurité (authentification de base, authentification Windows, autorisation Digest, etc.). ● Performances (Compression de contenu statique ou dynamique). Pour la partie Outils de gestion, on retrouve : ● la console de gestion de IIS ; ● les scripts et outils de gestion de IIS ; ● le service de gestion ; ● la gestion de la compatibilité avec IIS6. © ENI Editions - All rigths reserved - Guillaume DUBOIS - 1- Le service FTP (File Transfer Protocol) est séparé de la partie serveur Web car il s’agit désormais d’un service de rôle à part entière. Les modules Serveur FTP et Console de gestion FTP lui sont associés. c. Nouvelle administration IIS7/7.5 diffèrent de leurs versions précédentes par la mise en place d’une nouvelle administration. La nouvelle console de gestion qui centralise l’administration de l’ensemble des modules du serveur n’est plus un simple composant enfichable. En effet, il s’agit d’une console à part entière qui se connecte sur le service d’administration. La configuration a également changé. Sous IIS6, elle était stockée dans une métabase au format XML. IIS7/7.5 facilitent l’implémentation et surtout la maintenance des serveurs, en découpant cette configuration dans plusieurs fichiers XML : ● ● ● ● applicationHost.config : contient la configuration globale (liste des sites, pools d’applications, paramètres par défaut, etc.). Redirection.config : contient les informations de redirection (utilisé par exemple quand le contenu du site se trouve sur un autre serveur ou encore lorsqu’une partie du site ne doit pas être disponible en cas de maintenance, etc.). Web.config : contient la configuration globale ASP.Net du serveur (un fichier individuel peut être créé pour chaque site qui a besoin d’une configuration spécifique. Ceci est utile lorsque vous devez spécifier des paramètres différents de la configuration globale du serveur). Cela permet ainsi de gérer plus finement les paramétrages de sites Web. Machine.config : contient les propriétés requises pour les fonctionnalités Framework. applicationHost.config et redirection.config sont stockés à l’emplacement : %windir%\system32 \inetsrv\config. Le fichier web.config de premier niveau est lui situé à l’emplacement : c:\inetpub\wwwroot. Autrement, les fichiers web.config et machine.config se trouvent dans le dossier %windir% \Microsoft.NET\Framework\version_framework\CONFIG. Il existe avec ces différents fichiers de configuration une hiérarchie. Celleci définit un héritage des paramètres tout comme le feraient des droits de sécurité NTFS. Cette hiérarchie commence par le fichier machine.config puis suit l’ordre : web.config (celui de premier niveau) ; applicationHost.config et enfin un fichier web.config optionnel situé à l’emplacement du site ou du répertoire virtuel. De cette façon, les propriétés sont héritées du fichier machine.config au dernier fichier web.config de l’arborescence. Le stockage de la configuration des sites dans des fichiers XML distincts (aussi appelée configuration distribuée) permet ainsi de faciliter le déploiement ou la copie d’applications. Vous pouvez copier les applications entre des serveurs frontaux grâce à un simple xcopy en évitant toute erreur due à une réplication ou une quelconque synchronisation. Les tâches administratives sont désormais automatisables grâce notamment à Powershell, un nouveau fournisseur WMI, une nouvelle API .Net mais surtout grâce à l’outil AppCMD.AppCMD.exe permet de réaliser la majorité des tâches d’administration à l’aide d’une syntaxe simple. L’administration peut également être déléguée. Vous pouvez spécifier quelles sont les fonctionnalités que les utilisateurs non administrateurs sont en mesure de gérer. Il est ainsi possible par exemple de configurer les paramètres ASP.net d’un site sans pour autant devoir le faire avec des privilèges administrateur. d. Nouveautés incluses avec IIS 7.5 dans Windows Server 2008 R2 Comme vu précédemment, Windows Server 2008 R2 propose IIS en version 7.5. Cette version apporte un certains nombre d’améliorations attendues par rapport à la version précédente, mais aussi quelques nouveautés. Intégration d’extensions ● ● ● - 2- Webdav, désormais intégré en temps que fonctionnalité. Avant il était disponible comme une extension à part. UrlScan (Filtrage de requêtes) : fournit la possibilité de restreindre ou carrément bloquer des requêtes HTTP. Packs d’administration des modules : administration des bases de données, url rewriting, éditeur de configuration, etc. © ENI Editions - All rigths reserved - Guillaume DUBOIS Amélioration de la gestion ● Intégration dans l’interface de l’outil Best Practices Analyzer. ● Ajout de commandes PowerShell et cmdlets. ● Configuration de la journalisation et du traçage. ● Outil de déploiement de sites web (migration de sites, applications, serveurs entiers. ● Nouveaux compteurs de performances. ● Webdav et FTP ont été améliorés. Il est désormais plus facile et plus sécurisé de publier du contenu. ● Les fonctionnalités d’authentification, d’audit et de journalisation sont également plus nombreuses. Amélioration de l’intégration et de l’hébergement d’applications ● Support d’Asp.net et Framework en mode Core (leur absence était considérée comme une grosse lacune par les professionnels de l’informatique). ● Gestion des comptes de services (chaque pool d’applications dispose désormais d’une identité unique). ● Analyse et suivi des erreurs de requête FastCGI facilitant le débogage pour les développeurs. Publication de sites via Visual Studio 10 en un seul clic 2. Installation du rôle Serveur Web (IIS) en mode console Avant que vous vous lanciez dans l’installation, il est important que vous connaissiez la liste des modules non disponibles avec le mode Core de Windows Server 2008 : ● IISASPNET (disponible cependant avec Windows Server 2008 R2) ; ● IISNetFxExtensibility (disponible cependant avec Windows Server 2008 R2) ; ● IISManagementConsole ; ● IISManagementService (disponible cependant avec Windows Server 2008 R2) ; ● IISLegacySnapIn ; ● IISFTPManagement ; ● WASNetFxEnvironment (disponible cependant avec Windows Server 2008 R2) ; ● WASConfigurationAPI (disponible cependant avec Windows Server 2008 R2). Pour installer IIS en mode Core, il vous faut utiliser l’exécutable pkgmgr.exe. a. Installation par défaut Pour réaliser une installation par défaut sur un Windows Server 2008 en mode Core, utilisez la commande ci dessous : start /w pkgmgr /l:log.etw /iu:IIS-WebServerRole;WAS- © ENI Editions - All rigths reserved - Guillaume DUBOIS - 3- WindowsActivationService;WAS-ProcessModel Pour réaliser une installation par défaut sur un Windows Server 2008 R2 en mode Core, utilisez la commande ci dessous : start /w pkgmgr /l:log.etw /iu:IIS-WebServerRole;WAS-WindowsActivationService; WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI La différence entre les deux commandes vient de l’ajout du support du Framework et d’ASP en mode Core pour la version R2 de Windows Server 2008. Les fonctionnalités supplémentaires d’activation des processus Windows sont : WASNetFxEnvironment (environnement .Net) et WASConfigurationAPI (API de configuration .Net Framework). b. Installation complète Pour réaliser une installation complète (avec toutes les fonctionnalités d’IIS 7 sur un serveur Core Windows Server 2008), utilisez la commande suivante : start /w pkgmgr /l:log.etw/iu:IIS-WebServerRole;IIS-WebServer;IISCommonHttpFeatures;IIS-StaticContent;IISDefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IISHttpRedirect;IIS-ApplicationDevelopment;IIS-ASP;IISCGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IISServerSideIncludes;IIS-HealthAndDiagnostics;IISHttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IISHttpTracing;IIS-CustomLogging;IIS-ODBCLogging;IISSecurity;IIS-BasicAuthentication;IISWindowsAuthentication;IIS-DigestAuthentication;IISClientCertificateMappingAuthentication;IISIISCertificateMappingAuthentication;IISURLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IISPerformance;IIS-HttpCompressionStatic;IISHttpCompressionDynamic;IIS-WebServerManagementTools;IISManagementScriptingTools;IISIIS6ManagementCompatibility;IIS-Metabase;IISWMICompatibility;IIS-LegacyScripts;IISFTPPublishingService;IIS-FTPServer;WASWindowsActivationService;WAS-ProcessModel Pour réaliser une installation complète d’IIS 7.5 (avec toutes les fonctionnalités) sur un serveur Core Windows Server 2008 R2, utilisez la commande suivante : start /w pkgmgr /l:log.etw /iu:IIS-WebServerRole;IIS-WebServer;IISCommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IISDirectoryBrowsing;IISHttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment; IIS-ASP;IIS-CGI;IISISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes; IIS-HealthAndDiagnostics; IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IISHttpTracing;IISCustomLogging;IIS-ODBCLogging;IIS-Security;IIS-BasicAuthentication;IISWindowsAuthentication;IIS-DigestAuthentication;IISClientCertificateMappingAuthentication; IIS-IISCertificateMappingAuthentication;IIS-URLAuthorization;IIS-Request Filtering; IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IISHttpCompressionDynamic; IIS-WebServerManagementTools;IIS-ManagementScriptingTools;IISIIS6ManagementCompatibility; IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;WASWindowsActivationService; WAS-ProcessModel;IIS-FTPServer;IIS-FTPSvc;IIS-FTPExtensibility; IIS-WebDAV;IIS-ASPNET;IIS-NetFxExtensibility;WAS-NetFxEnvironment; WAS-ConfigurationAPI; IIS-ManagementService;MicrosoftWindowsPowerShell Là encore, la différence entre les deux commandes est principalement due au support d’ASP.Net et du Framework en version R2. - 4- © ENI Editions - All rigths reserved - Guillaume DUBOIS Les fonctionnalités supplémentaires sont : IISFTPExtensibility;IISWebDAV;IISASPNET;IISNetFxExtensibility;WAS NetFxEnvironment;WAS ConfigurationAPI;IISManagementService;MicrosoftWindowsPowerShell. On constate également l’intégration en temps que fonctionnalité, de Webdav, ainsi que l’amélioration du service FTP et de la gestion d’IIS. Vous pourrez vérifier que le rôle a bien été installé en utilisant la commande oclist. En la lançant vous verrez la liste des rôles de serveur disponibles. Pour chacun d’eux vous verrez mentionné Installé ou Non Installé. Pour les serveurs de rôle installés, un sousarbre est représenté avec l’état d’installation de chaque service de rôle. 3. Installation du rôle Serveur Web (IIS) en mode graphique L’installation du rôle se fait depuis la console Gestionnaire de Serveur, dans le sousdossier Rôles, en cliquant sur Ajouter des rôles. Voici les différentes étapes : ■ Ouvrez la console Gestionnaire de serveur en cliquant sur le bouton Démarrer, Outils d’administration puis Gestionnaire de serveur. ■ Au niveau de Résumé des rôles, cliquez sur Ajouter des rôles. ■ Cliquez sur Suivant. ■ Cochez la case Serveur Web (IIS) comme cidessous puis cliquez sur Suivant. ■ Lisez la page d’introduction puis cliquez sur Suivant. © ENI Editions - All rigths reserved - Guillaume DUBOIS - 5- ■ Dans l’exemple en cours, vous n’utiliserez que les fonctions de base de IIS. Laissez les cases par défaut cochées puis cliquez sur Suivant. ■ - 6- Vérifiez les options choisies puis cliquez sur Installer. © ENI Editions - All rigths reserved - Guillaume DUBOIS ■ Vérifiez que l’installation s’est bien déroulée puis cliquez sur Fermer. ■ Pour vérifier que IIS7/7.5 est bien opérationnel, ouvrez Internet Explorer puis dans la barre d’adresse saisissez l’url : http://localhost Vous devriez voir apparaître la fenêtre suivante : © ENI Editions - All rigths reserved - Guillaume DUBOIS - 7- - 8- © ENI Editions - All rigths reserved - Guillaume DUBOIS