Il y a quelques temps j’ai installé Reporting Services sur un serveur SQL avec IIS ne gérant que le site de rapports. Aucun problème ne s’est présenté et le site a été utilisé pendant des mois. Aujourd’hui j’ai décidé de déplacer le site sur un serveur web indépendant gérant déjà plusieurs sites (Sharepoint, intranet…) afin de ne pas utiliser des ressources CPU inutilement sur un serveur qui n’est supposé faire que du SQL. L’installation de Reporting Services sur un serveur Windows 2003 avec IIS 6 ne pose pas de soucis particulier si IIS ne gère qu’un seul site Web mais il en va tout autrement si le serveur sert de frontal pour un ensemble de sites, l’installation ne pouvant tout simplement pas fonctionner sans procéder à quelques modifications manuelles (et à un certain nombre de tirages de cheveux et de hurlements à l’encontre de Microsoft). Malgré l’utilisation de l’outil Reporting Services Configuration Manager, voici l’erreur que j’obtenais lorsque j’essayais de me connecter sur l’adresse http://reporting :
Le serveur de rapports ne répond pas. Assurez-vous que le serveur de rapports est en cours d’exécution et qu’il est accessible à partir de cet ordinateur.
C’est extrêmement peu clair même si comme souvent un soupçon de vérité se dissimule à l’intérieur. Il n’y a aucune erreur enregistrée dans le journal des événements. La première chose à faire et de se rendre dans C:\Program Files\Microsoft SQL Server\MSSQL.1\Reporting Services\ReportManager et d’y éditer le fichier RSWebApplication.config. La propriété <ReportServerUrl> doit contenir http://alias/ReportServer (en remplaçant alias par l’en-tête utilisé pour vous rendre sur votre site de reporting) tandis que la propriété <ReportServerVirtualDirectory> doit être vide. Dans mon cas voici ce qu’indiquent ces deux lignes : <ReportServerUrl>http://reporting/ReportServer</ReportServerUrl> <ReportServerVirtualDirectory></ReportServerVirtualDirectory> De la même manière, éditez le fichier rsreportserver.config situé dans C:\Program Files\Microsoft SQL Server\MSSQL.1\Reporting Services\ReportServer et indiquez également http://alias/ReportServer dans la propriété <UrlRoot>. Voici la ligne en question pour mon installation : <UrlRoot>http://reporting/ReportServer</UrlRoot> A ce stade normalement http://reporting devrait correctement afficher le site. Il reste cependant quelques détails à régler. Les modifications des fichiers de configuration de Reporting Services devraient causer quelques erreurs DCOM dans le journal des événements :
Type de l’événement : Erreur
Source de l’événement : DCOM
Catégorie de l’événement : Aucun
ID de l’événement : 10016
Utilisateur : AUTORITE NT\SERVICE RÉSEAU
Ordinateur : WEBIIS1
Description : Les paramètres d’autorisation spécifiques à l’application n’accordent pas d’autorisation Locale Activation pour l’application serveur COM avec le CLSID {61738644-F196-11D0-9953-00C04FD919C1} au SID AUTORITE NT\SERVICE RÉSEAU de l’utilisateur (S-1-5-20). Cette autorisation de sécurité peut être modifiée à l’aide de l’outil d’administration Services de composants.
Pour corriger cela, allez dans Démarrer > Exécuter puis tapez dcomcnfg. Faites un clic droit sur Services de composants > Ordinateurs > Poste de travail puis allez dans Propriétés. Dans l’onglet Sécurité COM, section Autorisations d’exécution et d’activation, cliquez sur Modifier et ajoutez SERVICE RÉSEAU (avec l’accent sur le E !) en lui donnant les droits Exécution locale et Activation locale.
Dernière chose, si vous tentez d’accéder en local au site http://reporting le serveur ouvrira une boîte de dialogue vous demandant votre login / mot de passe. Si vous rentrez un login, peu importe lequel, le serveur vous le redemandera encore deux fois avant d’afficher une page d’erreur. Cela est du à une sécurité de Windows 2003 SP1 qui compare le FQDN de la machine avec l’alias du site pour éviter certains types d’attaques. Evidemment ils sont différents et du coup le serveur demande des informations de connexion. Pour remédier à cela, il suffit d’aller dans la base de registre avec regedit, de créer la valeur DWORD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\DisableLoopbackCheck et de lui donner la valeur 1 (cf la KB 896861). Il faut ensuite rebooter la machine pour que cette modification soit prise en compte, le site http://reporting pourra alors être consulté en local.
Tags : IIS, Reporting Services, Windows 2003










