Installation automatisée de SymProxy
Ces étapes, ainsi que le script Install.cmd ci-dessous peuvent vous aider à automatiser l’installation de SymProxy vers une installation IIS par défaut. Vous devrez probablement adapter ces étapes aux besoins spécifiques de votre environnement.
Créez le dossier D :\SymStore\Symbols.
Accorder des droits de lecture à tout le monde
Accorder les autorisations Lire/Écrire au compte d'utilisateur du pool d'applications SymProxy (Domaine\Utilisateur)
Partager D:\SymStore\Symbols en tant que symboles.
- Accorder des droits de lecture à tout le monde (ou être plus précis)
(Facultatif) Créez un fichier vide appelé index2.txt dans D :\SymStore\Symbols.
(Facultatif) Créez un fichier vide appelé %WINDIR%\system32\inetsrv\symsrv.yes. Ceci accepte le CLUF pour le Microsoft Public Symbol Store.
Déterminez les paramètres de Install.cmd et exécutez-le.
Configurez le chemin d’accès aux symboles des clients à l’aide du nom du serveur que vous avez créé.
SRV*\\MachineName\Symbols*https://MachineName/Symbols
Le script Install.cmd nécessite 3 paramètres :
- Chemin d’accès au répertoire virtuel (par exemple, D :\SymStore\Symbols )
- Nom d’utilisateur (pour le pool d’applications)
- Mot de passe (pour le pool d’applications)
Pour effacer l’héritage de type MIME, un fichier XML est nécessaire pour piloter la commande AppCmd.exe associée. Placez le fichier staticContentClear.xml indiqué ci-dessous dans le même dossier que le script Install.cmd pour obtenir ce résultat.
Exemple d’utilisation des paramètres Install.Cmd :
Install.cmd D:\SymStore\Symbols CONTOSO\SymProxyService Pa$$word
Install.cmd
@echo off
SET VirDirectory=%1
SET UserName=%2
SET Password=%3
::
:: SymProxy dll installation.
::
copy symproxy.dll %windir%\system32\inetsrv
copy symproxy.man %windir%\system32\inetsrv
copy symsrv.dll %windir%\system32\inetsrv
lodctr.exe /m:%windir%\system32\inetsrv\symproxy.man
wevtutil.exe install-manifest %windir%\System32\inetsrv\symproxy.man
regedit.exe /s symproxy.reg
::
:: Web server Configuration
::
IF not exist %VirDirectory% mkdir %VirDirectory%
rem Make the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe add site -site.name:"Default Web Site" -bindings:"http/*:80:" -physicalPath:C:\inetpub\wwwroot
rem Enabled Directory Browsing on the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site" -section:system.webServer/directoryBrowse /enabled:"True"
rem Make the 'SymProxy App Pool'
%windir%\system32\inetsrv\appcmd.exe add apppool -apppool.name:SymProxyAppPool -managedRuntimeVersion:
%windir%\system32\inetsrv\appcmd.exe set apppool -apppool.name:SymProxyAppPool -processModel.identityType:SpecificUser -processModel.userName:%UserName% -processModel.password:%Password%
rem Make the 'Symbols' Virtual Directory and assign the 'SymProxy App Pool'
%windir%\system32\inetsrv\appcmd.exe add app -site.name:"Default Web Site" -path:/Symbols -physicalpath:%VirDirectory%
%windir%\system32\inetsrv\appcmd.exe set app -app.name:"Default Web Site/Symbols" -applicationPool:SymProxyAppPool
rem Disable 'web.config' for folders under virtual directories in the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe set config -section:system.applicationHost/sites "/[name='Default Web Site'].virtualDirectoryDefaults.allowSubDirConfig:false
rem Add the 'SymProxy ISAPI Filter'
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/isapiFilters /+"[name='SymProxy',path='%windir%\system32\inetsrv\SymProxy.dll',enabled='True']
rem Clear the MIME Types on the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe set config -in "Default Web Site" < staticContentClear.xml
rem Add * to the MIME Types of the 'Default Web Site'
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site" -section:staticContent /+"[fileExtension='.*',mimeType='application/octet-stream']"
staticContentClear.xml
<?xml version="1.0" encoding="UTF-8"?>
<appcmd>
<CONFIG CONFIG.SECTION="system.webServer/staticContent" path="MACHINE/WEBROOT/APPHOST">
<system.webServer-staticContent>
<clear />
</system.webServer-staticContent>
</CONFIG>
</appcmd>
Test de l’installation de SymProxy
Le système doit maintenant être prêt à acquérir et à servir des fichiers. Pour le tester, commencez par redémarrer le service IISAdmin en exécutant iisreset.exe. Cela recharge le filtre ISAPI avec la configuration IIS et SymProxy actuelle.
Configurez un débogueur pour utiliser ce chemin de symbole :
srv*\\MachineName\Symbols*https://MachineName/Symbols
Si MissTimeout est activé (il est défini sur 300 secondes par défaut), l’exécution de la commande .reload /f deux fois doit entraîner une exécution beaucoup plus rapide la deuxième fois.
Pour afficher l’emplacement des bases de données référencées, utilisez la commande lm (modules list). Le chemin d’accès aux fichiers PDF doit tous commencer par \\MachineName\Symbols.
Si la navigation du répertoire est activée sur le site web, accédez à https://MachineName/Symbols pour afficher les fichiers mis en cache.
Ouvrez le moniteur de performances et affichez les compteurs de Symbol Proxy.
Ouvrez l’Observateur d’événements et affichez les événements Microsoft\Windows\SymProxy.