Web Deployment Tool – errorové dobrodružství
Pokud používáte Web Platform Installer (WPI) a souběžně s ním Web Deployment Tool (WDT), můžete při určitém nastavení objevit chybu. Stejně jako jsem ji objevil já, když jsem točil screencast a demo těchto nástrojů.
Scénář byl jasný:
- dva WS2008 R2 servery, jeden v plné variantě, druhý jako Server Core
- oba na jedné síti, s instalovanou rolí IIS a webového serveru
- Server Core má nainstalovanou podporu ASP.NET a Powershellu
Úkolem bylo přemigrovat aplikaci z plné varianty na Server Core za pomoci výše uvedených nástrojů, aniž bych musel cokoliv řešit v příkazové řádce na Core serveru. A co se nestalo..
Na plné variantě (R2-full) jsem měl nainstalovaný WPI a z něj instalovaný WDT. Na core variantu (R2-core) jsem nakopíroval a nainstaloval balík s WDT, který jsem stáhnul na linku výše. Pak jsem radostně klikal, abych vyexportoval a následně naimportoval aplikaci, ale ouha. Vyskočila na mě chyba a další postup zkrátka nepřišel.
Začal jsem celou záležitost řešit. Přeinstaloval jsem WPI, přeinstaloval jsem WDT, pořád nic. Pak jsem si všiml parametru “v1” v chybové hlášce. I napadlo mě, že bude problém s rozdílnými verzemi.
V rámci R2-full jsem si všiml, že WPI instaluje WDT 1.0, která je ale z nějakého důvodu jiná, než verze 1.0 dostupná na webu WDT. Alespoň velikostí. Začal jsem hledat tedy nejprve starší verzi 1.0, která by byla stejná jako ta, kterou instaluje WPI. Přes Technet jsem se dostal ale jen k verzi 1.0 RC, která taktéž nefungovala a nahlásila úplně jinou chybu. Přesněji řečeno version mismatch.
Nakonec jsem to vzdal a udělal úplně jinak. Z obou serverů jsem odinstaloval WDT a stažený balíček z domovské stránky WDT poté nainstaloval na oba servery. Vynechal jsem tedy zcela WPI a udělal všechno ručně. A co myslíte? Fungovalo to!
Chybu jsem reportoval týmu IIS, tak doufám, že verze ve WPI bude brzy identická s tou, která je ke stažení na webu.
Jinak pro nasazení WDT na Server Core musíte mít nainstalovanou podporu ASP.NET a Powershellu. Souhrnný příkaz pro instalaci webového serveru, .NETu a PS potom bude vypadat takhle:
- instalace webového serveru a základních komponent
dism /online /enable-feature /featurename:IIS-WebServerRole /featurename:IIS-WebServer /featurename:IIS-CommonHttpFeatures /featurename:IIS-DefaultDocument /featurename:IIS-Security /featurename:IIS-RequestFiltering /featurename:IIS-ApplicationDevelopment /featurename:IIS-ISAPIFilter /featurename:IIS-ISAPIExtensions /featurename:NetFx2-ServerCore /featurename:IIS-NetFxExtensibility
- instalace ASP.NET
dism /online /enable-feature /featurename:IIS-ASPNET
- management service pro vzdálený přístup
dism /online /enable-feature:IIS-ManagementService
- instalace Powershellu
dism /online /enable-feature /featurename:MicrosoftWindowsPowershell
Po instalaci management služby je potřeba:
- V registrech povolit remote management v klíči HKLM\Software\Microsoft\WebManagement\Server, kde nastavíte parametr AllowRemoteManagement na 1.
- Nastartujete službu WMSVC za pomoci sc start wmsvc
Hned poté se můžete připojit z plné verze serveru za pomoci IIS Manageru k serveru Core a plně ho administrovat. Plus, pokud používat WDT, i migrovat či synchronizovat weby či aplikace mezi oběma stroji.
Mějte se dobře :).
- KFL