Keep Calm And Install Sitecore

Jak vytvořit virtualizované Sitecore sandbox prostředí

Když zkoumám různá Sitecore témata, často si je chci v praxi ověřit a zjistit jak přesně se při nich Sitecore chová. A není lepší cesty, než toto řešit na nějakém Sitecore demo prostředí. Zde mohu zkoušet cokoli je potřeba bez obav a na konci dne vše smazat a vrátit do původního stavu. Pojďme se tedy do toho bez dalších okolků dát – k (virtuálním) strojům!

Co je cílem?

Cílem je mít nainstalovaný virtuální počítač, na které bude Sitecore instalace, na které bude možné cokoli zkoušet. Instalace, kterou provedu, není pouhou vanilkovou instalací (čistá instalace), ale bude obsahovat i demo web Launchsitecore. Nakonfigurujeme sandbox tak aby:

  1. obsahoval jednu instalaci Sitecore 8
  2. bylo možné se k instalaci dostat ze samotného virtuálního stroje, z hostitele a z jakéhokoli stroje na stejné síti
  3. obsahoval vybrané nástroje, díky kterým je možné se v řešení trochu prolézt a lépe pochopit, co se děje pod kapotou.

Předpoklady pro instalaci

Celkem základní – musíme začít na čisté instalaci Windows (v tomto případě jsem použil Server 2012, ale lze použít i Win 7, 8, 8.1 nebo server 2008 R2 a samozřejmě 2012 R2). Můžete si ověřit plný seznam podporovaných operačních systémů Windows v Sitecore Installation Guide. Musíme mít též nainstalovaný SQL Server – nezapomeňte nainstalovat SQL Management studio, abyste se mohli ponořit do detailů databází. Ve starších verzích Sitecore (až do 7.2) byste potřebovali SQL Server Management Studio i pro to, abyste správně připojili Analytics databázi. Já pro svoje sandbox prostředí využívám Oracle VirtualBox jakožto virtualizační platformu, ale jakákoli virtualizační platforma či železo odvedou stejnou práci. Nyní pojďme nastavit zbytek.

Servery, frameworky a podpůrné aplikace

Sitecore potřebuje pro svůj běh IIS and .NET Framework 4.5, včetně MVC. Existují dvě cesty, jak toto nainstalovat: ručně a skriptem – obě jsou popsané níže.

Ruční instalace IIS a .NET

IIS a .NET 4.5 jsou nativními součástmi Windows, takže je jednoduché je přidat hned ze “Správce Serveru”. Jednoduše otevřete  Spravovat -> Přidat role a funkce a vyberte následující možnosti – vše ostatní může zůstat beze změny:

  • Role Serveru
    • (přidat) Webový Server (IIS)
  • Funkce
    • Functions of the .NET interface 4.5
      • (add) ASP.NET
  • Role Services
    • Web Server
      • Common HTTP Features
        • (add) HTTP Redirection
        • (add) WebDAV Publishing
    • (add) Internet Information Services Hostable Web Core

Jakmile budete mít všechno z toho označené, můžete pokračovat s instalací. V tomto bodě také můžete zvolit možnost uložit nastavení jako do XML souboru, kterým můžete napříště nainstalovat stejnou sadu pomocí skriptu A voilà, je hotovo.

Automatizovaná instalace IIS a .NET

Je rovněž možné nainstalovat prostředí, tak jak je popsáno výše, za pomocí PowerShellu a XML konfiguračního souboru, který definuje co se má nainstalovat. Pro instalaci tedy otevřete PowerShell jako administrátor a pak jen napište:  Set-ExecutionPolicy -Unrestricted a pak Install-WindowsFeature -ConfigurationFilePath CestaKSouboru. Cesta může být buď lokální, jako např. C:\cesta_k_souboru, nebo na síti, jako např. \\SERVER\zdroj\cesta_k_souboru. Zde si můžete stáhnout kopii XML konfiguračního souboru, který jsem vygeneroval:  IIS Sitecore Config. Rád používám automatizovanou instalaci, abych byl rychlejší při instalaci nového prostředí a zároveň abych byl konzistentní a nedělal chyby v naklikání nastavení.  Nepovažuji ale tento postup za nejlepší startovní pozici pro naučení se, jak nainstalovat IIS a .NET 🙂

Instalace MongoDB

Instalace Monga je rozdělena na dva kroky. Zaprvé musíte nainstalovat binárky Mongoa a dále zřídit a spustit Windows službu. Pro náš scénář uvažuji instalaci single-server instalaci na Windows Server, ale v produkci, kde je distribuované prostředí, můžete využít i servery založené na Linuxu – Vasily Fomichev napsal velmi pěkný článek o instalaci MongoDB do Azure na Linux jako službu pro Sitecore 8. Stáhněte nejnovější verzi MongoDB a nainstalujte ji. Nyní je potřeba nastavit službu. Službu nainstalujete podle instrukcí na Dokumentačním webu MongoDB. Pokud chcete být rychlejší, zde je další PowerShell skript, který nastaví službu, vytvoří logovací soubor a vytvoří a uloží nastavení v konfiguračním souboru. Následně spustí Mongo jako Windows službu. Nezapomeňte zde také nastavit Execution policy na unrestricted.

Můžete hodnoty nastavit například takto:

Nyní je možné se připojit k MongoDB prostřednictvím Windows služby, tím pádem se i Sitecore bude moci připojit.

Pokud by vás zajímalo, jak to je s bezpečností, tak MongoDB se v základu instaluje bez jakékhokoli zabezpečení, takže se můžete hned připojit. Toto by se pochopitelně nemělo nikdy ponechat nezměněno v produkčním prostředí.

Doplňkový Software

Budeme instalovat dva kusy doplňkového software: Robomongo a SIM – Sitecore Instance Manager.

Robomongo

Vzhledem k tomu, že MongoDB neobsahuje žádný nativní nástroj, podobný SQL Management Studiu v MSSQL, můžeme sáhnout po Robomongu. Robomongo vám pomůže vizuálně se zorientovat a pochopit, která data se do Monga ukládají. Navíc je zadarmo.  Můžete si stáhnout Robomongo na oficiální download stránce. Alternativně můžete stáhnout kopii MongoVue, které je obdobným nástrojem jako Robomongo. K databázi se v Robomongu připojíte tak, že dáte vytvořit nové připojení (Connection) bez uživatelského jména a  hesla na předdefinovanou adresu – localhost na portu 27017. Od tohoto okamžiku můžete ihned vidět, co se skutečně děje v Mongu, když se na webu objeví nová návštěva.

SIM

Sitecore lze instalovat několika způsoby, mezi kterými jsou dva, těmi nejpřímočařejšími: Sitecore instalační exe soubor, který vše obsahuje a pomocí SIM a ZIP archivu. Použití exe instalátoru je vcelku jednoduché – jen ho spustíte a nastavíte cesty a hesla. Druhá metoda je trochu pokročilejší a dává vám větší možnosti a kontrolu. Toto je metoda, kterou si nyní vysvětlíme. Stáhněte si poslední verzi ze Sitecore Marketplace a jednoduše rozbalte obsah do nové složky. Otevřete SIM.Tool.exe a nastavte následující:

  1. Instances Root Folder: C:\inetpub\wwwroot
  2. Local Repository: kdekoli, kam nahrajete instalační zip Sitecoru. Můžete vytvořit složku, kam budete ukládat všechny balíčky verzí Sitecore, takže si budete moci vybírat při příštích instalacích již ze stažených verzí.
  3. Sitecore License File:  cesta k licenčnímu souboru. Je vždy potřeba platný licenční soubor, aby bylo možné instalovat jakoukoli instanci jakékoli verze Sitecore.
  4. SQL Server connection string: klikněte na tečky po pravé straně políčka a vložte informace pro připojení k SQL Serveru. Pokud máte, stejně jako já, nainstalován SQL Server na stejném počítači, můžete použít (local) jako data source – nezapomeňte zahrnout i závorky () – a údaje pro login, pokud používáte Mixed mode pro SQL login. Pro účely instalace sandboxu lze použít i “sa” uživatele, což by se ale nemělo stát na produkčním prostředí. Jakmile budete mít vyplněna data, můžete kliknout na OK a automaticky se vytvoří connection string. Pokud vše proběhne bez chyby, jsou data pořádku a lze pokračovat s instalací.
  5. Pokud používáte SQL Server 2012, bude potřeba upravit uživatele, pod kterým je spuštěna služba SQL Serveru “NETWORK SERVICE”. Abyste toho docílili, můžete se řídit podle návodu uvedeného zde: http://technet.microsoft.com/en-us/library/ms345578.aspx. Za účelem instalace izolovaného sandbox prostředí je schůdnou variantou spustit službu jako Administrator.
  6. Nyní stačí jen kliknout na “Grant” za účelem udělení práv pro přístup do složky wwwroot.

A máme hotovo. Nyní jdeme na Sitecore.

Sitecore

Pro instalaci Sitecore za pomoci SIM, je potřeba stáhnout ZIP archiv Sitecore a následně:

  1. Otevřete SIM a klikněte na Install Instance
  2. Pojmenujte web (site) dle libosti. V tomto případě jsem zvolil jméno launchsitecore. Pokud pojmenujete web, vše ostatní se pojmenuje stejně.
  3. Nyní se jen proklikete až dokonce bez označování ničeho dalšího a nechte SIM nainstalovat Sitecore.

Nyní můžete hned spustit čerstvě nainstalovanou instanci na http://launchsitecore/ a přihlásit se na http://launchsitecore/sitecore. Pamatujte, že při každém novém startu Sitecore (a v podstatě jakékoli .NET aplikace na IIS) musíte zezačátku chvíli počkat, než se vytvoří cache a proběhnou další operace. Doposud se však jedná jen o prázdnou Sitecore instanci. Nyní pojďme pokračovat  s instalací webu Launchsitecore.

Aplikace Launchsitecore

Aplikace Launchsitecore je k dispozici ke stažení na stránce http://launchsitecore.net – musíte se nejprve zaregistrovat na registrační stránce (k registraci není potřeba nic dalšího).

Můžete zvolit, jestli chcete stáhnout MVC nebo Webforms verzi aplikace – jen dejte pozor, abyste stáhli aplikaci, která je připravena pro verzi Sitecore, kterou jste nainstalovali.

Po stažení Launchsitecore aplikace, otevřete v Sitecore -> Desktop -> Development Tools -> Package Importer a nahrajte balíček Launchsitecore. Zvolte možnost přepsat vše a dejte balíček instalovat. Jakmile bude balíček nainstalován, dejte publikovat celý web. Nyní je Launchsitecore web nainstalován a dostupný na front-endu.

Zpřístupnění webu ostatním uživatelům

Až dosud, vše co jsme udělali, bylo dostupné pouze na lokálním počítači. Neexistuje způsob, jak se k Launchsitecore dostat z externího umístění. Abychom toto umožnili, musíme provést následující:

  1. Nastavit IIS vazby
  2. Upravit Windows firewall
  3. (Doplňkově) Pokud je vše rozběhnuto na virtuálce, zajistěte vhodné nastavení sítě.

Nastavení IIS vazeb

Vazba v IIS umožní IIS na příchozí požadavek odeslat správný web. Při instalaci IIS je na “Default Website” webu (ten který tobrazuje IIS logo) nastavena i výchozí vazba. To nyní změníme tak, aby tato vazba směřovala na náš čerstvě nainstalovaný Launchsitecore web.

  1. Spusťe [Win+R] IIS zadáním příkazu: inetmgr.
  2. V IIS klikněte pravým tlačítkem na složku Default Web Site a následně klikněte na Upravit vazby
  3. V dialogu Upravit vazby nalezněte vazbu, která má prázdný název hostitele a otevřete ji
  4. Napište cokoli do pole pro název hostitele (již nikdy tento web nepoužijeme) a klikněte na OK. Tímto jsme si uvolnili výchozí (prázdný) název hostitele, který potřebujeme použít na web Launchsitecore.
  5. Otevřete úpravu vazeb pro Launchsitecore
  6. Přidejte novou vazbu
  7. Aby bylo tlačítko “OK” aktivní, stačí v poli pro hostitele stisknout [mezerník] a následně smazat vzniklou mezeru. Nyní stiskněte OK a je hotovo.

Nastavení firewallu

IIS poskytuje web na portu 80. Tento port tedy musí na firewallu být otevřený, aby bylo možné se k webu zvnějšku dostat. Můžete jít do Windows Firewallu a tam potřebné porty zprůchodnit nebo můžete celý firewall jednoduše vypnout. Dokud jsme na demo sandobox prostředí, je toto nejrychlejší a akceptovatelná cesta.

Nastavení sítě

Konečně – pokud provozujete Sitecore instanci ve virtuálním počítači, zajistěte korektní nastavení sítě. Pokud stejně jako já, používáte VirtualBox, můžete nastavit “Síť pouze s hostem” (“Hosted Networking”) pro lokální přístup z vašeho hostujícího fyzického počítače (nepotřebuje externí síť) nebo můžete nastavit “Síťový most” (“Bridged Networking”) pro přístup počítačů připojených ke stejné síti.

Spuštění Launchsitecore webu

Pro připojení k vaší Launchsitecore aplikaci, nalezněte IP adresu přiřazenou serveru a jednoduše ji vložte jako adresu do prohlížeče. Díky nastavení výchozí vazby není potřeba vkládat žádný záznam do souboru Hosts ve Windows.

One thought on “Jak vytvořit virtualizované Sitecore sandbox prostředí”

Leave a Reply

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