Windows Server címkéhez tartozó bejegyzések

IIS távoli felügyelete Windows 8.1-ről

Az Internet Information Services (IIS) Manager (inetmgr.exe) egyik kiváló szolgáltatása, hogy a saját gépünkön elindítva, grafikus felületen keresztül, távolról felügyelhetjük vele a webszervereinket. Ehhez nem kell mást tennünk, mint kiválasztanunk a File menüből a Connect to a Server menüpontot:

inetmgr-connect-to-file-menu

Ez végigvezet egy varázslón, és ha a szerveren telepítve van a Web Management Service, akkor pillanatok alatt csatlakozhatunk a webszerverünkhöz, webhelyünkhöz vagy webalkalmazásunkhoz.

A gond akkor van, ha nincs ilyen menüpont, márpedig nincs. Sem Windows 7-en, sem Windows 8-on, sem 8.1-en. bezzeg Save Connections van (igaz, disabled állapotban), de vajon minek?

inetmgr-default

Windows 7 esetén még történeti okokra hivatkozva talán megértem, de az újabb kliens operációs rendszerek esetén nem találok magyarázatot. Ha már mindenképp külön kell letölteni, akkor lehetne például az RSAT része.

Oldjuk meg hát a problémát, irány a Web Platform Installer, ahol például a “remote” szóra keresve pillanatok alatt megtalálhatjuk az IIS Manager for Remote Administration v1.1 verziót:

inetmgr-webpi-search

Senkit ne tévesszen meg a két évvel ez előtti dátum, pont ez kell nekünk. Bökjünk a sorban az Add, majd alul az Install gombokra, végül a következő ablakban az I Accept gombra kattintva fogadjuk el a licenc előírásait. Elindul a letöltés, megkezdődik a telepítés, majd jön a hidegzuhany:

inetmgr-webpi-sorry

Nem sikerült a telepítés, mert Windows 7 vagy újabb kell neki. De hát ez egy Windows 8.1, jaj!

Próbálkozzunk meg ismét a telepítéssel, de most a licenc elfogadása ablakban kattintsunk inkább a Direct Download Link hivatkozásra:

inetmgr-webpi-licence

Ennek hatására az alapértelmezett böngészőnk letölti a telepítőt oda, ahova mi szeretnénk. A letöltési cím egyébként a hibaüzenet melletti View log here gombra kattintva megjelenő naplófájlból is kicsalható, az én esetemben ez volt:

http://download.microsoft.com/download/D/A/5/DA588562-C4A4-4337-AE36-3A4548700CDF/inetmgr_amd64_v1.1_en-US.msi

Mielőtt elindítjuk a telepítőt, nyissuk meg az MSI fájlhoz tartozó Properties ablakot és a Compatiblity fülön álljunk vissza korábbi Windows verzióra:

inetmgr-compatibility

Nyomkodjuk végig a varázslót, indítsuk újra az IIS Managert és már kapcsolódhatunk is a szerverünkhöz, ahonnan előfordulhat, hogy az első alkalommal újabb modulok töltődnek le:

inetmgr-features

 

Technorati-címkék: ,
Reklámok

WSUS telepítése Windows Server 2012-re

A Windows Server Update Services telepítése Windows Server 2012-n alapvetően nem nehéz feladat: mivel az operációs rendszer része, még letölteni sem kell, csak végig kell nyomkodni a varázslót a Server Managerben. Aki nem hiszi el, nézze végig ezt a képes step-by-step útmutatót.

Ennek ellenére nekem nagyon nehezen jött össze. Ha telepítőkről van szó, én kétségkívül vonzom a hibákat, azonban a neten talált hihetetlen mennyiségű fórum bejegyzés arra utal, hogy nem vagyok egyedül. Íme a tapasztalatok.

Megjegyzés:
Az alábbi módszerek nálam működtek, de egyes esetekben magam sem tudom, hogy miért ez a megoldás a problémára. Csak saját felelősségedre próbáld ki!

A környezetről annyit, hogy egy frissen telepített WS 2012 tartományvezérlőről van szó, amin szépen megférne a WSUS. Nem találtam olyan leírást, ami arra utalna, hogy ez nem támogatott környezet.

NTFS jogok

A Prepare for Your WSUS Deployment című TechNet cikk szerint az NT Authority\Network Service felhasználónak Full Control jogokat kell adni az alábbi mappákra, különben a WSUS Administration snap-in nem fog jól működni:

  • %windir%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
  • %windir%\Temp

Ebben az a szép, hogy – ahogy a dokumentáció is írja – az első útvonal nem biztos, hogy létezik, ha még nincs a gépen IIS. A WSUS-nak kell az IIS, és szerencsére elég okos a telepítő ahhoz, hogy szükség esetén a Web Role szerepkört is telepítse. Ráadásul még azt is tudja, hogy az IIS-nek mely komponensei kellenek a WSUS-hoz, tehát a “minimal install” elv jegyében érdemes a WSUS telepítővel telepíteni az IIS-t is. De akkor hogy adjunk jogot még a telepítés előtt a nem létező mappára?

Role Services

A telepítő varázslóban egyszer csak elérkezünk a Role services lépéshez:

WSUS install wizard: Select role services

Ha esetleg lelkesen bepipálnánk az összes komponenst, akkor készüljünk fel az alábbi hibaüzenetre:

The following features cannot be installed on the same server: Database, WID Database.

The following features cannot be installed on the same server: Database, WID Database.

Egy kis magyarázat, mert az elnevezések nem nyilvánvalóak:

  • A WID Database (ami alapértelmezés szerint be van pipálva) azt jelenti, hogy a telepítő feltelepíti a Windows Internal Database-t, ami egy mini SQL Server. Sok megkötése van, de a célra tökéletesen megfelel, különösen egygépes környezetben.
  • A Database (ami alapértelmezés szerint nincs bepipálva) azt jelenti, hogy a telepítő egy létező SQL Serveren hozza létre a WSUS adatbázisát. Ez lehet akár másik gépen is. Ha így döntünk, akkor mindenképpen olvassuk el a WSUS database requirements részt a dokumentációban, mert rengeteg megkötés van.

A lényeg: az alapbeállítás jó, nem kell mindent bepipálni.

Újraindítás eredmény nélkül

Előfordulhat, hogy a telepítő fut egy darabig, majd azt mondja, hogy:

The request to add or remove features on the specified server failed.

The operation cannot be completed, because the server that you specified requires a restart.

The operation cannot be completed, because the server that you specified requires restart.

Persze az ember újraindítja, de utána sem lesz jobb a helyzet, lehet elölről kezdeni a WSUS telepítést, aminek ugyanez lesz az eredménye.

A megoldás – és erre különösen nehéz ráhibázni – egy kis csoportházirend módosítás. Meg kell nyitni a Group Policy Management konzolt, és módosítani kell a Default Domain Controllers Policy-t. A Computer Configuration –> Policies –> Windows Settings –> Security Settings –> Local Policies –> User Rights Assignment ágban található Log on as a service beállításnál fel kell venni az alábbi fiókokat: IIS_WPG, NETWORK, NETWORK SERVICE, SERVICE.

A házirend módosítása után természetesen a szokásos frissítés is szükséges admin parancssorból:

gpupdate /target:computer

Telepítés utáni feladatok

Miután a telepítő varázsló végigfut, találunk egy nem túl feltűnő Launch Post-Installation tasks linket, amire rá kell kattintanunk. Ez gyakorlatilag folytatja a telepítést.

Amíg el nem akad:

Configuration failed. A log file was created at C:\Users\felhasználónév\AppData\Local\Temp\tmpXXXX.tmp

wsus-post-installation

Bátran nézzünk bele a log fájlba, mert elég beszédes, és egyértelműen kiderül a probléma. Például:

Config file did not contain a value "ContentDirectory"
Microsoft.UpdateServices.Administration.CommandException: 
A required configuration value was not found in the system.

Ez azért különösen szép, mert egy olyan értéket hiányol, amit a grafikus telepítő megkérdezett, és amit természetesen meg is adtunk neki. A parancssor kedvelőinek jegyzem meg, hogy a C:\Program Files\Update Services\Tools mappában található egy wsusutil.exe segédprogram, amivel parancssorból el lehet intézni sok mindent, de itt nem segít.

Megsúgom, hogy a telepítő a C:\Windows\System32\ServerManager\ComponentConfiguration\UpdateServices-Services.xml fájlból hiányolja az értéket. Megnyitva a fájlt, ezt találjuk benne (áttördeltem az olvashatóság érdekében):

<?xml version="1.0" encoding="utf-16"?>
<INSTANCE CLASSNAME="ServerComponent_UpdateServices_Services">
<PROPERTY NAME="ContentDirectory" TYPE="string">
</PROPERTY>
<PROPERTY NAME="ContentLocal" TYPE="boolean">
<VALUE>true</VALUE>
</PROPERTY>
</INSTANCE>

Akinek van szeme az XML-hez rögtön észreveszi, hogy a ContentDirectory érték valóban üres. Semmi gond, egészítsük ki:

<?xml version="1.0" encoding="utf-16"?>
<INSTANCE CLASSNAME="ServerComponent_UpdateServices_Services">
<PROPERTY NAME="ContentDirectory" TYPE="string">

<VALUE>C:\WSUS</VALUE>
</PROPERTY>
<PROPERTY NAME="ContentLocal" TYPE="boolean">
<VALUE>true</VALUE>
</PROPERTY>
</INSTANCE>

Rendszergazdai jogosultságokkal indítva a Notepadet el is fogjuk tudni menteni a módosításokat. Így már tovább fut a telepítő.

Adatbázis

Nálam is tovább futott a telepítő, de nem végig. Ugyanígy készült egy naplófájl a Temp mappában, ezúttal ezzel a hibaüzenettel:

Fatal Error: SqlException (0x80131904): Invalid object name ‘SUSDB.dbo.tbSchemaVersion’.

Ez arra utal, hogy nem jó az adatbázis. A logból kiderül az is, hogy az adatbázis létezik, lehet hozzá kapcsolódni, csak épp a keresett tábla nem létezik.

Körülnéztem a C:\Windows\WID\Data mappában, ahol valóban megtaláltam a SUSDB.mdf és SUSDB_log.ldf fájlokat, tehát az adatbázis valóban megvolt, biztos egy korábbi telepítő már létrehozta. Az viszont gyanús volt, hogy ugyanúgy 2112 KB volt a mérete, mint a model.mdf fájlnak, amiből arra tippeltem, hogy ez az adatbázis bizony még szűz.

Ötlet: töröljük le az adatbázist, hátha a telepítő újra létrehozza, ezúttal jól. Érdekes módon a fájlt simán lehetett törölni, de a szolgáltatás újraindítása után a Log mappában lévő error.log fájlban egyértelműen látszott, hogy hiányolja.

Ez a módszer tehát nem jött be, korrekt módon kellene törölni az adatbázist, amihez viszont be kellene jelentkeznünk az adatbázis szerverre. Ha nem akarunk SQL Server Management Studiot telepíteni a szerverre, megcsinálhatjuk parancssorból SQLCMD-vel, ami önállóan is letölthető innen: Microsoft Command Line Utilities 11 for SQL Server

A System Requirements szekcióban megtaláljuk – vagy ha nem, akkor majd az MSI elindítása után közli velünk, – hogy ennek bizony kell az ODBC Driver 11 for SQL Server is.

A két telepítő MSI fájl letöltése önmagában sem egyszerű a szerveren lévő Internet Explorerből. Egyrészt mert a böngésző agresszívan blokkolja a felugró ablakokat, másrészt mert:

Security Alert: Your current security settings do not allow this file to be downloaded.

wsus-ie-msi-download-error

Ha a böngészővel nem akarunk harcolni, az összesen 7MB-nyi tartalmat letölthetjük másik gépen is, és átvihetjük például Remote Desktopon keresztül.

Ha már van SQLCMD, akkor jó lenne azt is tudni, hogy hol. Itt:

C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn

A kapcsolódáshoz kelleni fog egy connection string, ami WID esetén így néz ki:

np:\\.\pipe\MICROSOFT##WID\tsql\query

Én az SQLCMD-t mindig úgy használom, hogy a parancsokat fájlba írom, mert úgy a legkönnyebb újra futtatni őket. Például egy wsus.sql fájlba:

select name from sys.sysdatabases
drop database susdb
select name from sys.sysdatabases

Futtassuk le:

sqlcmd -S np:\\.\pipe\MICROSOFT##WID\tsql\query -i c:\temp\wsus.sql

Adatbázis eldobva, így már a telepítő sikeresen létrehozza, sőt a megfelelő táblákat is megalkotja benne. Elindul a WSUS Administration konzol, a konfigurációs varázsló és megy is minden szépen.

Nem maradt más hátra, mint a kliensek beállítása és az SSL konfigurálása.

 

Technorati-címkék: ,,

Microsoft Virtual Academy

Jópofa ez a Microsoft Virtual Academy oldal, érdemes megnézni: https://www.microsoftvirtualacademy.com

A Tracks oldalon lévő keresőben már lehet szűrni fejlesztői kurzusokra is, de egyelőre sajnos nincs rájuk találat. Reméljük hamarosan lesz. Addig elsősorban a Windows Server 2012 témákkal lehet ismerkedni, abból már van bőven.

Ha a jobb felső sarokban az országot átállítjuk Hungary-re, akkor a Top Students oldalon megjelennek a helyi ászok is Mosolygó arc

 

Technorati-címkék: ,

WCF szolgáltatás publikálása IIS 8-on

Egy alapbeállításokkal telepített IIS 8-on nem működnek a WCF szolgáltatások, mégpedig azért, mert a webszerver nem tudja, hogyan kell kezelnie az .svc kiterjesztésre érkező kéréseket. Két lépésben taníthatjuk meg neki:

 

1. Vegyünk fel egy új MIME type-ot:

Extension: .svc
MIME type: application/octet-stream

iis8-svc-mime-type

 

2. Vegyünk fel egy Managed HTTP Handlert:

Request path: *.svc
Type: System.ServiceModel.Activation.HttpHandler
Name: svc-Integrated

iis8-svc-handler

És már működik is!

 

Technorati-címkék: ,,

.NET Framework 3.5 telepítése Windows 8-ra és Windows Server 2012-re

SQL Server 2012-t telepítettem Windows Server 2012-re, és látszólag minden a szokásos módon zajlott. Az előkövetelmények ellenőrzése simán megtörtént, ám a telepítés közepén jött egy figyelmeztetés, hogy szükség van .NET Framework 3.5-re. Mivel a dialógus ablakon mindössze egy OK gomb volt, csak bízhattam benne, hogy az operációs rendszerrel települő .NET 4.5 is megfelelő lesz. Hát nem lett, az SQL telepítés nem sikerült. Aztán kiderült, hogy a .NET Framework 3.5 telepítése nem is olyan egyszerű…

Windows 8-ban és Windows Server 2012-ben a .NET Framework 3.5 ún. Feature on Demand. Ez azt jelenti, hogy az operációs rendszerrel csak a telepítéshez szükséges metaadatok települnek, a szükséges binárisok nem. Azokat máshonnan kell beszereznünk.

 

Windows 8

Windows 8 esetén nyissuk meg a Programs and Features ablakot, amit szerintem legegyszerűbben a Windows+X-es rendszergazdai menüből tehetünk meg:

net35-windows8-1

Pipáljuk be a .NET Framework 3.5 (includes .NET 2.0 and 3.0) sort, majd kattintsunk az OK-ra. Jön egy kis keresgélés:

net35-windows8-2

Majd a kérdés, hogy indulhat-e a letöltés a Windows Update-ről:

net35-windows8-3

Biztos én vagyok túl igényes, de nekem innen nagyon hiányzik, hogy mégis mennyit akarna letölteni és hogy meg lehessen adni másik útvonalat. Ha valóban akarunk .NET 3.5-öt, akkor kattintsunk a Download files from Windows Update gombra. Jön egy kis töltögetés:

net35-windows8-4

Majd ha pechünk van, akkor ez a képernyő:

net35-windows8-5

A Tell me how to solve this problem link kivételesen egészen hasznos, ugyanis a KB2734782 cikkre (Error codes when you try to install the .NET Framework 3.5 in Windows 8 or in Windows Server 2012) visz, ami valóban tud segíteni. Nálam az volt a gond, hogy a gép tartományban van, csoportházirend tolja le rá a WSUS beállításokat.

Mivel nem volt lehetőségem ezen módosítani, maradt a másik megoldás, parancssorból telepíteni a Frameworköt. Szerencsére a .NET 3.5 megtalálható a Windows 8 telepítő médián, parancssorból így kell telepíteni:

dism /online /enable-feature /featurename:NetFx3 /All /Source:D:\sources\sxs /LimitAccess

Pillanatok alatt megtörténik, biztosan gyorsabb, mint Windows Update-ről:

net35-windows8-6

 

Windows Server 2012

A dism-es, parancssoros telepítés tökéletesen működik Windows Server 2012 esetén is, a szükséges fájlok ott is megtalálhatók a telepítő lemezen. Szerencsére itt GUI-n is meg tudjuk oldani a telepítést. Ehhez indítsuk el az Add Roles and Features Wizard-ot és jelöljük be a .NET Framework 3.5 Features opciót (katt a teljes képért):

net35-ws2012-1

A Next után a következő oldalon találunk egy végigolvashatatlan sárga hibaüzenetet:

net35-ws2012-2

A hibaüzenet azt akarja mondani, hogy ha kicsivel több esélyt akarunk magunknak a sikeres telepítésre, akkor alul kattintsunk a Specify an alternate source path linkre:

net35-ws2012-3

A sok szöveg lényege, hogy adjuk meg a telepítő fájlok helyét, például D:\Sources\SxS:

net35-ws2012-4

Innen már simán végigmegy a varázsló és az SQL Server is gond nélkül települ.