Jak zprovoznit web na plne IIS vc. databaze SQL Server Express with Advanced Services

Tento postup si pisu hlavne pro sebe kdybych nahodou nekdy potreboval preinstalovat Windows 8 a nemusi presne odpovidat vasim potrebam. Pracuji zde s W8(nikoliv W8.1) protoze muj PC se dodava s diskem na W8. Nicmene upgrade na W8.1 je zdarma pro kazdeho, takze jsem toto vyzkousel a body 12 a 13 jsem musel absolbovat pouze na Windows 8.1.

Nicmene to neznamena ze nekdo jiny nebo jindy je nebude muset absolbovat i v jine verzi Windows nez 8.1. Dale zde pracuji s Visual Studio Express 2012 for Web.

1) Nainstalujte W8 a po spusteni si nakonfigurujte ucet. Me to pri instalaci nedalo moznost se prihlasit k Microsoft Account, takze jsem si vytvoril Local Account.

2) Prejdete do nastaveni(ja jsem to vytvoril v “metro” nastaveni) a zmente si ucet na Microsoft Account. Budete potreboval vasi email adresu a vase heslo k ni.

3) Zkopirujte na disk C: vsechny instalacky ktere budete chtit instalovat. Je to proto, ze nektere instalacni procesy ukladaji programy a knihovny na disk, ze ktereho byly nainstalovany a tak tam muzete mit “zbytecne” slozky nebo soubory. Ja take pro jistotu mazu pismeno jednotky ostatnich disku nez C: aby se tam skutecne nic nezapsalo.

4) Spustte instalaci SQL Serveru 2012 with Advanced Services. Ja jsem dal instalovat vsechny soucasti, vcetne LocalDB ktera ve vychozim stavu se neinstaluje. Na strance “Instance Configuration” jsem zvolil Default instance, protoze mam vsude uvedene, ze muj server se jmenuje MSSQLSERVER. Na strance “Server Configuration” jsem u SQL Server Reporting Services nastavil spousteni na Manual, protoze je nepouzivam.

Na dalsi strance, Database Engine Configuration jsem nastavil Mixed Mode u Authentication Mode, a vyplnil jsem svoje heslo sa(System administrator) – tento ucet slouzi pouze pro SQL server. Na vedlejsi zalozce, “Data Directories” jsem si nastavil cestu User database directory na C:\Documents\MSSQLSERVER a tato cesta se automaticky projevi i do User database log directory. Jedna se o cestu, kde budete mit ulozeny vase SQL Server databaze. Vsechno ostatni jsem nechal na vychozich hodnotach a spustil instalaci. Muzete udelat reset PC ale ja jsem ho neudelal.

5) Nainstalujte \Visual Studio Express 2012 for Web. Muzete udelat reset PC, tentokrat jsem ho udelal.

6) Nainstalujte Visual Studio Update 4. Zvlaste pro 2012 for Web je to dulezite, aby vam fungovalo uzavirani tagu v ASPX editoru. Po instalaci to chce restart, tedy ho udelame, Microsoft asi vi ze to je dulezite jinak by ho tam nedaval.

7) Pokud se vam po otevreni projektu ve VS12 for Web zobrazilo neco takoveho:



Znamena to ze nemate nainstalovanou plnou IIS. A protoze chceme mit svuj web na plne IIS, dame Ne a projekt se nenacte. Pokud se vam tedy zobrazilo toto okno, pokracujte krokem 8, jinak prejdete rovnou na krok 9.

8) V okne Funkce systemu Windows, ktere spustite pres Ovladaci panely, jsem pro instalaci IIS zaskrtl Internetova informacni sluzba->Webove sluzby->Funkce pro vyvoj aplikaci->Technologie ASP.NET 4.5 a tato soucast je zavisla na plne dalsich soucastech, ktere se mi automaticky take sami zskrtli. Pak jsem jeste zaskrtl Webove sluzby->Spolecne funkce protokolu HTTP->Staticky obsah, aby se mi servirovali obrazky a *.html stranky. Ve Spolecne funkce protokolu HTTP pak je dobre i zaskrtnout Chyby protokolu HTTP, abyste v pripade chyby vedeli proc se vam web nezobrazuje a nezobrazila se vam jen bila stranka. Take je uzitecne hned vedle zaskrtnout Presmerovani protokolu HTTP, protoze urcite kazdy vyvojar ASP.NET presmeruje stranku nekdy pomoci .NETu. Dale Funkce pro vyvoj aplikaci->Inicializace aplikace, coz vypada ze je dulezite pro Global.asax. Pak jeste Internetova informacni sluzba->Nastroje webove spravy->Konzola pro spravu sluzby IIS, abyste mohli tuto IIS konfigurovat pres GUI.

9) Otevrete si Konzolu pro spravu sluzby IIS(melo by stacit do vyhledavani Windows napsat “internet” nebo “iis”) a zmente si u Default Web Site cestu k webovemu projektu a restartujte tento web. Nyni restartujte take svuj PC.

10) Ted muzete nacist vas webovy projekt ve VS. Pokud se vam stale nebude chtit nacist kvuli teto chybe:



otevrete si VS jako administrator.

11) Nyni muzete zkusit otevrit ve svem webovem prohlizeci stranku http://localhost/ . Nejspis se vam ale zobrazi nejaka takova chyba: Cannot open database “sunamo.cz” requested by the login. The login failed. Login failed for user ‘IIS APPPOOLDefaultAppPool’. Tu vyresite tak ze si otevrete SQL Server Management Studio, prihlasite se pod Windows Authentication, v Object Exploreru napravo vyberete Security->Logins->New Login a do Login name zkopirujete IIS APPPOOLDefaultAppPool.

Dulezite je take nastavit v tomto dialogu vsechny Server Roles. Dale take samozrejme musite attachnout vasi databazi(soubor *.mdf a *_log.ldf) aby SQL Server mel z ceho nacitat data. Po tomto je bezpodminecne nutne udelat reset PC(nestaci udelat jen reset sluzby SQL Serveru) aby se vam v prohlizeci nezobrazovala chyba: “Cannot open database “database” requested by the login. The login failed. Login failed for user ‘IIS APPPOOLDefaultAppPool’.”

12) Pokud nejste na Windows 8, ale nektere z drivejsich verzi Windows, musite jeste zaregistrovat IIS. Dialog Pridat nebo odebrat funkce systemu Windows totiz pouze zkopiruje soubory nutne pro beh IIS, ale nevykona potrebne registrace v systemu.

Proto, pokud mate 64bitovy Windows, spustte cmd(Win+R, napiste cmd a enter – samozrejme musite byt v uctu spravce PC, jinak se vam prikazovy radek nespusti v admin modu) a zadejte tam nasledujici prikaz: %windir%Microsoft.NETFramework64v4.0.30319aspnet_regiis.exe -i . Pro 32 bitovy OS zni prikaz nasledujicne: %windir%Microsoft.NETFrameworkv4.0.21006aspnet_regiis.exe -i . Pokud soubor aspnet_regiis.exe nebude nalezen, upravte si verzi na vasi verzi .NET Frameworku.

13) Tento a nasledujici bod by mel byt potrebny pouze na Windows 8.1, ale pokud se vam zobrazuje chyba 500.19, provedte tyto kroky i na jinem OS. Pokud se vam u webu zobrazuje chyba HTTP Error 500.19 – Internal Server Error, znamena to, ze IIS nema ani nejmensi prava k tomu aby mohla z vaseho adresare s webem cokoliv ziskat. Nastavte tedy Full Control(melo by stacit pouze cteni a mozna execute ale ja jsem pro jistotu nastavil Full Control) prava pro uzivatele IIS_IUSRS, coz je ucet pro ApplicationPoolIdentity.

14) Pokud se vam stale nedari zobrazit web, a to sice s chybou HTTP Error 401.3 – Unauthorized, znamena to ze IIS se snazi prohlizet vas web pod uctem IUSR. Proto bud opakujte krok 12, pouze s uctem IUSR a nebo v konzoli pro spravu IIS si otevrete vas ucet, zde kliknete na Authentication, pak Anonymous Authentication, Edit a zmente z Specific user(pravdepodobne IUSR) na Application pool identity:



Vyzkousel jsem si obe dve moznosti, jednu, kterou jsem pak anuloval

15) V teto chvili nam by jiz mel web fungovat a muzeme se vrhnout na nastaveni tohoto webu ve VS. Otevrete si tedy nastaveni vaseho projektu a zde zvolte nalevo zalozku Web. Zkontrolujte nastaveni aby vypadalo jako zde u me:



Ja jsem zde jeste kliknul na Create Virtual Directory, ale to si myslim, ze bude pouze pro IIS Express. Tak a uz to funguje.

Bohuzel, nyni mi zase nefunguje moznost “Use Visual Studio Development Server” nebo “Use Local IIS Web Server->Use IIS Express” kvuli chybe ” Nelze nacist soubor nebo sestaveni sunamo.cz nebo jeden z jejich zavislych prvku. Byl ucinen pokus nacist program v nespravnem formatu. “.

Pokud se chcete teto chybe vyhnout, nastavte si ve vlastnostech projektu Platform target na x86 a povolte 32bitovy kod v DefaultAppPool – tedy AppPool’u ktery pouzivate pro servirovani stranek ASP.NET. Nyni by vam meli fungovat vsechny 4 zpusoby – tedy “Use Visual Studio Development Server”, “Use Local IIS Web Server->Use IIS Express”, “Use Local IIS Web Server” i spusteni pouze pres adresu http://localhost/ ve prohlizeci bez Visual Studia.

Leave a Reply

Your email address will not be published. Required fields are marked *