Instalace serverové části systému eWay-CRM®

Obsah

Příprava

1) Nakopírování webové služby na server

2) Vytvoření virtuální aplikace ve správě internetové informační služby (IIS)

3) Vytvoření databáze

4) Vytvoření uživatelského účtu pro přístup k databázi

5) Nastavení connection stringu

6) Další možnosti nastavení webové služby

7) eWayTimer a jeho nastavení

8) Doplnit napojení na licenční server

9) Ověření připojení

    Co všechno budeme potřebovat?

    Pro instalaci serverové části systému eWay-CRM® musí server splňovat minimální požadavky. Pro práci s databází budeme dále potřebovat Microsoft SQL Server Management Studio.

    Dále během instalace budete potřebovat tyto součásti systému eWay-CRM®:

      • Webovou službu (adresář eWay)
      • Zálohu databáze (soubor eWayDB.bak)

      Postup instalace je zde zpracován pro operační systémy Windows 2003 Server a Windows 2008 Server a vyšší.

      V IIS je potřeba povolit následující role (viz článek Kontrola nainstalovaných rolí IIS při instalaci eWay-CRM® na server):

      • Technologie ASP.NET 3.5 (pro verze eWay-CRM starší než 6.0)
      • Technologie ASP.NET 4.5
      • Statický obsah

      1) Nakopírujte webovou službu do defaultního adresáře webového serveru

      Standardní umístění adresáře výchozího webového serveru je C:\inetpub\wwwroot. Do této složky zkopírujte adresář webové služby eWay tak, jak je to uvedeno na následujícím obrázku. Název složky s webovou službou samozřejmě můžete dle libosti změnit, jen je pak na to potřeba myslet v dalších krocích (např. nastavení Web.config souboru).

      Nastavení práv pro práci s adresářem webové služby

      Je nutné rovněž nastavit práva pro práci se složkou tak, aby webová služba byla schopna provádět potřebné úkony. V první řadě se jedná o adresář samotné webové služby, kde by měl mít uživatel NETWORK_SERVICE práva na čtení dle obrázku, podsložky by měly práva zdědit.

      Dále je potřeba přidat práva pro zápis do podsložek Download, License a Log pro uživatele NETWORK_SERVICE (viz obrázek níže).

      2) Vytvořte virtuální aplikaci ve Správě internetové informační služby (IIS)

      Postup pro Windows 2003 Server

      Spusťte Správu internetové informační služby. Z důvodu zvýšení zabezpečení doporučujeme pro webovou službu eWay-CRM® vytvořit vlastní fond aplikací. Klepněte tedy pravým tlačítkem na položku Fondy aplikací a z nabídky vyberte Nová položka a Fond aplikací.

      V dialogovém okně, které se objeví, vyplňte název fondu aplikací (např. eWay) a klepněte na tlačítko OK. Ostatní nastavení nechte tak, jak jsou.

      V dalším kroku najděte pod položkou Webové servery, Výchozí webový server složku eWay, kterou jsme vytvořili v prvním kroku. Pokud se tam nenachází, pak patrně adresář, do kterého byla složka nakopírována, není adresář webového serveru.

      Najděte tedy složku eWay, klepněte na ni pravým tlačítkem a zvolte položku Vlastnosti.

      V dialogovém okně eWay - vlastnosti klepněte na tlačítko Vytvořit a vepište název adresáře, který bude součástí URL adresy webové služby eWay-CRM® (např. eWay). Z fondu aplikací vyberte Vámi vytvořenou položku (v našem případě eWay).

      Nakonec se přesvědčte, že hodnota políčka Verze technologie ASP.NET v kartě ASP.NET je nastavená na 4.0.xxxx a klepněte na OK.

      Postup pro Windows 2008 Server a vyšší

      Princip vytvoření virtuální aplikace ve Windows 2008 Server je stejný jako u předchozí verze tohoto operačního systému. Bude jen využita novější verze Správy internetové informační služby. Adresář s webovou službou již máme založený, máme v něm soubory a nastavená práva pro účet NETWORK SERVICE.

      Nyní můžeme spustit Správce Internetové informační služby, kde doporučujeme z důvodu zvýšení zabezpečení aplikací na serveru pro webovou službu eWay-CRM®  vytvořit vlastní fond aplikací.

      Klepněte tedy pravým tlačítkem na položku Fondy aplikací a vyberte položku Přidat fond aplikací. V okně, které se zobrazí, vyplňte název fondu aplikací (např. eWay). Dále se přesvědčte, že verze rozhraní .NET Framework je nastavené na hodnotu 4.0.xxxx a klepněte na tlačítko OK.

      Dále označte nově vytvořený application pool a v pravé sekci okna zvolte Advanced settings. V sekci Identity potřebujeme nastavit hodnotu NETWORK SERVICE.

      Nyní přistoupíme k vytvoření serverové aplikace. Klepněte pravým tlačítkem na položku eWay z položky Weby > Default Web Site a zvolte možnost Převést na aplikaci. Volbu poté potvrďte klepnutím na tlačítko OK.

      Zkontrolujte, že v nastavení ověření (authentication) je povoleno (Enabled) Anonymní ověřování (Anonymous Authentication). Ostatní by mělo být zakázáno.

      Tip: V článku Jak zabezpečit eWay-CRM® pomocí SSL certifikátu je uvedeno základní nastavení SSL certifikátů pro eWay-CRM®, který je bezpečnější a vhodnější než klasické HTTP.

      3) Vytvoření databáze

      V této fázi bude potřeba vytvořit na serveru databázi pro systém eWay-CRM®. Spusťte Microsoft Management Studio pod administrátorským účtem. Klepněte pravým tlačítkem na položku Databases a vyberte možnost New Database...

      V okně New Database vyplňte pouze název databáze (např. eWay) a zbytek můžete nechat tak, jak je. Volbu potvrďte klepnutím na tlačítko OK.

      Nyní klepněte na nově vytvořenou položku ve složce Databases pravým tlačítkem a zvolte Tasks, Restore, Database. Pokud se Vám nová databáze nezobrazuje, klepněte nejprve pravým tlačítkem na adresář Databases a vyberte položku Refresh.

      V dialogovém okně Restore Database - xxx zaškrtněte položku Device a klepněte na tlačítko pro načtení souboru. Objeví se okno, ve kterém po klepnutí na tlačítko Add naleznete soubor se zálohou databáze eWayDB.bak.

      V seznamu databází se objeví nový řádek. Zaškrtněte jej a klepněte na pole Files. U starších verzí Microsoft SQL Server Management Studio je potřeba zvolit soubory, do který se databáze uloží, protože se liší od těch, které se vytvořili s databází eWay. Standardně jsou uložené v C:\Program Files\Microsoft SQL Server\MSSQL.XYZ\MSSQL\Data. Je potřeba namapovat soubory eWay.mdf a eWay_log.ldf.

      Následně přejděte do kategorie Options. Zde je potřeba zaškrtnout volbu Overwrite the existing database a poté zvolit soubory, do kterých se databáze uloží.

      Volbu potvrdíte klepnutím na tlačítko OK. V případě, že je vše v pořádku, proběhne obnovení databáze. Úspěšnost operace lze ověřit tak, že pokud rozklepnete položku eWay ve složce Databases, a dále otevřete Tables, uvidíte seznam tabulek systému eWay-CRM®.

       

      4) Vytvoření uživatelského účtu pro přístup k databázi

      Standardně vytváříme pro eWay-CRM® uživatele, který se bude hlásit k serveru přes SQL přihlašováni. Nejprve je tedy třeba se přesvědčit, že je povolený smíšený typ přístupu k SQL serveru. Klikněte pravým tlačítkem na název serveru a zvolte Properties.

      V okně Server Properties v sekci Security zkontrolujte, že máte zaškrtnutou volbu SQL Server and Windows Authentication mode (1). Volbu potvrďte klepnutím na tlačítko OK.

       

      Jestliže původně nebylo smíšené přihlašování povoleno a vy jste ho teď nastavili, bude ještě nutné restartovat SQL Server. Pravým tlačítkem opět klepněte na název serveru a zvolte možnost Restart.

      V Microsoft SQL Management Studio pak klepněte pravým tlačítkem na adresář Logins v sekci Security a vyberte volbu New Login.

       

      V okně pro vytvoření nového uživatele vyplňte nejprve uživatelské jméno (1) (např. eWay_User), poté klepněte na políčko SQL Server authentication (2) a zadejte heslo (3). Zkontrolujte, že volba Enforce password policy (4) není vybrána a jazyk je nastaven na English (5). Dále přejděte do sekce User Mapping (6).

      V sekci User Mapping zvolte databázi systému eWay-CRM® (v našem případě položku eWay) (7) a ve spodní části vyberte db_owner (8).

       

      5) Nastavení connection stringu

      V poznámkovém bloku nebo jiném textovém editoru otevřete soubor Web.config, který je umístěný v adresáři s webovou službou (v našem případě C:\inetpub\wwwroot\eWay). Sjeďte na konec souboru, kde v sekci appSettings naleznete následující tag:

      <add key="sqlConnection.ConnectionString" value="Data Source=SOURCE; Initial Catalog=DB_NAME; User ID=USERNAME; Password=PASSWORD" />

      Případně zadejte následující tag, který je šifrovanou variantou předchozího:

      <add key="sqlConnection.ConnectionStringEncrypted" value="ecPcnoQ8ydeHxgP5GZ85+Za82A6Vth3IQi7U2OotTdOYmrOunH6JwjhBJ8VGCTsCgKHq3vD0R5OOE0uo5Y0VC63ULKiPlk4yPw9yFA22mqZ2A1BaWMS4gw==" /> 

      SOURCE

      Název počítače, popř. instance SQL Serveru (např. MYSERVER nebo MYSERVER\SQLINSTANCE)

      DB_NAME

      Název databáze (v našem případě eWay).

      USERNAME

      Uživatelské jméno k databázi (v našem případě eWay_User).

      PASSWORD

      Uživatelské heslo k databázi (v našem případě eWayPWD123).

      Výsledný řetězec pak může vypadat takto:

      <add key="sqlConnection.ConnectionString" value="Data Source=MYSERVER\SQLINSTANCE; Initial Catalog=eWay; User ID=eWay_User; Password=eWayPWD123" /> 

      V případě použití sqlConnection.ConnectionStringEncrypted pak můžete pro zašifrování hesla využít aplikaci HashPassword, která je ve složce bin webové služby. Záznam by pak vypadal například takto:

      <add key="sqlConnection.ConnectionStringEncrypted" value="ecPcnoQ8ydebP+T9kcRXSqACitvgu0YPRBj6t716M9lJ66YMPoQppNd6OcVPjVUbqh4ip+i1iAVpIMUrHjBwwWibMewSC3ZLuRxauC6Jf24hRFxGcmKRa50Y6sujZDg0" /> 

      Pokud je databáze serverové komponenty umístěna na jiném serveru než webová služba, nebo je účet, pod kterým běží SQL Server, jiný než výchozí (NT Service), je potřeba nastavit přístupová práva do IIS adresáře webové služby pro službu SQL:

      • Na stejném serveru: Právo na čtení pro účet SQL Serveru na všechny soubory a složky webové služby na IIS (typicky C:\inetpub\wwwroot\eWay\).
      • Na jiném serveru: Je potřeba řešit sdílením složky webové služby a nastavením práv na čtení pro uživatele, pod kterým běží SQL Server - ve většině případech je potřeba použít doménového uživatele.

      V obou případech se čtení povoluje pro aktuální účet, pod kterým běží SQL Server dané instance. Tento účet si můžete ověřit v seznamu služeb Windows, kde jsou SQL server a všechny jeho instance vyjmenovány. Pokud se jedná o systémový účet a PC je v doméně (Active Directory), je možné zadat uživatele ve formátu "SqlServerName$", kde SqlServerName nahradíte skutečným názvem serveru.

      Specifikace cesty k doplňkům

      Při nastavování připojení k databázi bychom neměli zapomenout ani na zadání správné cesty k dalším modulům aplikace, bez jejichž načtení nebude webová služba pracovat správně. Tato cesta je posledním parametrem sekce appSettings a nachází se na samém konci souboru Web.config. Vypadá zhruba takto:

      <add key="pluginsPath" value="DIRECTORY_PATH"/> 

      Kde DIRECTORY_PATH je úplná cesta k úložišti webové služby a v ní dále ke složce bin, která obsahuje soubory s doplňky. V našem případě by cesta tedy vypadala následovně:

      <add key="pluginsPath" value="C:\inetpub\wwwroot\eWay\bin"/>

      6) Další možnosti nastavení webové služby

      Pomocí souboru Web.config je možné nastavit nejen připojení webové služby na danou databázi (viz předchozí krok), ale nastavení skrývá více možností. Nejdůležitějšími a nejvyužívanějšími jsou následující nastavení.

      Logování aplikace

      Logování aplikace znamená, že si webová služba zaznamenává provedené úkony a požadavky, které na ni byly vyslány. V případě nefunkčnosti synchronizace dokáže log aplikace velmi často napomoci k vyřešení situace. Je proto vhodné mít cestu pro log aplikace správně nadefinovanou.

      Nastavení se nachází v souboru Web.config v sekci log4net, zde stačí uvést pouze relativní (v rámci složky webové služby) cestu k souboru. V případě níže uvedeného příkladu se bude aplikace logovat do dokumentu eWayWSLog.txt uloženého ve složce Log, která se nachází se ve složce webové služby. Je nutné podotknout, že pokud uvedená cesta (například složka Log) neexistuje, aplikace se logovat nebude.

      <param name="File" value=".\Log\eWayWSLog.txt"/> 

      Pro správné logování je rovněž důležité, aby byla nastavena správně práva pro zápis do složky Logu. Více naleznete v první části tohoto článku.

      Zasílání e-mailových notifikací

      Součástí funkcionalit, které eWay-CRM® svým uživatelům nabízí je i zasílání notifikačních e-mailů při přecházení mezi stavy ve workflow (v pracovních postupech projektů, příležitostí apod.). Aby odesílání těchto e-mailů fungovalo, je důležité správně systém nakonfigurovat a právě k tomu slouží část sekce appSettings označená komentářem 'E-mail support'.

      K odesílání e-mailů můžete využít Office 365.

      V následující tabulce jsou uvedeny přípustné parametry pro nastavení připojení k SMTP serveru, minimálně první tři klíče jsou povinné, ostatní se uvádějí v případě potřeby (server vyžaduje autentifikaci atd.):

      <add key="SendMail" value="" />

      Mezi uvozovky u value se zapisuje parametr nabývající dvou hodnot. Vepište hodnotu:

      0 - pokud chcete mít funkcionalitu deaktivovanou
      1 - aby bylo zasílání e-mailových upozornění aktivní
      Výsledný řetězec může vypadat takto: <add key="SendMail" value="1"/>
      <add key="enableSsl" value="" />

      Mezi uvozovky u value se zapisuje parametr nabývající dvou hodnot. Vepište hodnotu:

      0 - pokud chcete mít funkcionalitu deaktivovanou
      1 - aby bylo zasílání e-mailových upozornění aktivní

      Výsledný řetězec může vypadat takto: <add key="enableSsl" value="0"/>

      Důležité: eWay-CRM® podporuje pouze explicitní SSL. Implicitní SSL podporované není (bývá na portu 465).

      <add key="sender" value="SENDER"/>

      Místo proměnné SENDER vložte e-mailovou adresu, ze které chcete, aby byl e-mail odesílán. Zadáváte alias, nemusí se tedy jednat o reálnou adresu, ale takto bude v e-mailu odesílatel uveden. Parametr může vypadat například takto:

      <add key="sender" value="[email protected]"/>
      <add key="smtp" value="SMTP_SERVER"/>

      SMTP_SERVER - Zde uveďte síťový název nebo IP adresu SMTP serveru, který bude odesílání pošty zpracovávat

      <add key="smtpUser" value="SMTP_USER"/>

      SMTP_USER - Pokud SMTP server požaduje ověření, vložte sem e-mailovou adresu uživatele, pod kterým se systém na server bude hlásit. Většinou bude totožný s hodnotou SENDER.

      <add key="smtpUser" value="[email protected]"/>

      <add key="smtpPassword" value="PASS"/>

      nebo

      <add key="smtpPasswordEncrypted" value="PASS"/>

       

      PASS - Pokud SMTP server požaduje ověření, vložte sem heslo uživatele, pod kterým se systém na server bude hlásit. Klíč může vypadat následovně:

      <add key="smtpPassword" value="t4ck5Kd7"/>

      Můžete použít šifrovanou variantu, která by měla podobu

      <add key="smtpPasswordEncrypted" value="nIUSJhSbadD5WTB8Y/BuKA=="/>

      Pro zašifrování hesla využijte aplikaci HashPassword, která je ve složce bin webové služby.

      <add key="port" value="PORT"/> PORT - pokud SMTP server neběží na standardním portu 25, je zde nutné definovat číslo portu. Klíč může vypadat následovně:

      <add key="port" value="26"/>

      Jakmile je konfigurace nastavena, můžete ji otestovat prostřednictvím postupu, který je popsaný v článku Jak otestovat konfiguraci SMTP.

      Vytvoření CLR procedury

      Nad lokálním serverem je třeba spustit skript eWaySP_CreateClrProcedures pro vytvoření CLR procedur jako je například procedura pro odeslání e-mailu. Skript spouštějte pod uživatelem sa.
        EXEC [dbo].[eWaySP_CreateClrProcedures] @WebServicePath=N'C:\inetpub\wwwroot\eWay\'

        Doménové přihlašování

        V rámci nastavení aplikace v sekci appSettings se nachází i část, kde můžete stanovit, jestli aplikace bude podporovat doménové přihlašování. K jeho nastavení slouží následující dva parametry nastavení.

        V prvním z nich udáváte pomocí vyplnění čísla 0 nebo 1, jestli bude přihlašování doménovým jménem aktivní (pro tuto volbu vepište 1) nebo deaktivováno (vepište 0).
        <add key="UseDomainLogin" value="" />
        Pokud byla v předchozím kroce doménová autentifikace aktivována, specifikujte v následujícím parametru (DNAME) jméno vaší domény.
        <add key="DomainName" value="DNAME"/> 
         Více o nastavení naleznete v článku Nastavení webové služby eWay-CRM® pro Active Directory přihlašování.

        7) eWayTimer a jeho nastavení

        Součástí webové služby je miniaplikace eWayTimer, která zajišťuje pravidelné spouštění a vykonávání určitých přednastavených operací. Těmi jsou například funkce pro rozesílání pravidelných přehledů úkolů nebo funkce dopočítávající agregované hodnoty.

        Aplikace se skládá z dávkových souborů nacházejících se ve složce Setup, která je součástí adresáře s webovou službou. Konfigurační soubor pro aplikaci eWayTimer (soubor Timer.config) pak naleznete stejně jako konfigurační soubor celé eWay-CRM® v hlavním adresáři webové služby.

        Pro kontrolu, že vše probíhá v přednastavených časech a v pořádku, doporučujeme stejně jako u eWay-CRM® samotné, tak i u aplikace eWayTimer aktivovat možnost logování. I tento log napomáhá diagnostice, pokud nastane nějaký problém. Nastavme tedy cestu, kam aplikace bude ukládat svůj log.
        V hlavním adresáři webové služby otevřete například v poznámkovém bloku soubor Timer.config . V něm naleznete následující parametr:

        <param name="File" value="FILE_PATH"/>
        Zde doplňte místo FILE_PATH cestu k souboru. Měla by být ve formátu "..\Log\eWayTimeLog.txt", to znamená, že log soubor se jménem eWayTimeLog.txt bude vytvořen ve složce Log, která se nachází v adresáři webové služby.

        Instalace a spuštění

        Aby mohla být aplikace eWayTimer spuštěna, je nutné jí nejdříve nainstalovat. Otevřete tedy složku Setup klikněte pravým tlačítkem na soubor install.bat a zvolte Spustit jako správce. Následně se otevře okno s příkazovou řádkou, proběhne několik příkazů, které na konci budete muset potvrdit stiskem libovolné klávesy. Skript instaluje i naplánovanou úlohu Windows, která službu eWayTimer automaticky spustí, pokud z nějakého důvodu neběží, například pokud se automaticky nenastartovala při startu Windows. Zkontrolujte, že instalace služby i úlohy prošla v pořádku, tedy že skript neskončil chybou.

        Pokud instalace naplánované úlohy selhala můžete jí nainstalovat znovu pomocí souboru install-scheduled-task.bat.

        Od této chvíle je služba eWayTimer spuštěna - zkontrolujte ve Službách Windows. Pokud budete někdy chtít složku webové služby kopírovat nebo mazat (např. v rámci aktualizace), bude nutné službu zastavit pomocí spuštění souboru stop-timer.bat a uninstall.bat.

        V naplánovaných úlohách Windows naleznete úlohu "Check 'eWayTimer' service". Otestujte, že funguje, tím že službu eWayTimer vypnete a úlohu spustíte. Měla by službu eWayTimer nastartovat.

        8) Doplnit napojení na licenční server

        V souboru Web.config na serveru je následně potřeba přidat vazbu na licenční server. Do parametru value u klíče LicenceServerCustomerCode se zadá číslo zákazníka, které vám bylo přiděleno.

        <!-- Licence Server -->
        <add key="LicenceServerAddress" value="https://ls.eway-crm.com/WebService/v1/eWayLicenceService.svc"/>
        <add key="LicenceServerCustomerCode" value=""/>
        <add key="LicenceServerUsername" value=""/>

        Poté se přidá do souboru Web.config zašifrované heslo pro sa uživatele:

        <!-- Server Updater should get sa password to be able to refresh CLR procedures, etc. Specify here the crypted password please. -->
        <add key="DatabaseSystemAdminPassword" value="Mt1Nv1LfjUUtu7AtJ7GpYA==" />

        K zašifrování hesla sa uživatele je možné použít aplikaci HashPassword, která je ve složce bin webové služby.

        Ve chvíli, kdy je toto nastaveno, je možné zkusit stáhnout licenci prostřednictvím tohoto příkazu:

        http://localhost/eWay/eWayWS.asmx/DownloadLicenceKeyNow

        Pokud je vše nastaveno správně, licenční klíč bude úspěšně stažen.

        9) Ověření připojení

        Pokud jste dělali změny v souboru Web.config po instalaci eWayTimer, je nejprve je potřeba tuto službu restartovat.

        Otevřete internetový prohlížeč (např. Internet Explorer) a vepište adresu webové služby, např. tedy http://localhost/eWay. V případě, že jste ve Správci Internetové informační služby použili jiný název aplikace, pak bude adresa samozřejmě jiná. Načte se uvítací stránka s odkazem pro kontrolu stavu webové služby (úplně dole). Odkaz pro kontrolu tedy bude např. http://localhost/eWay/eWayWS.asmx/CheckStatus. Na odkaz klikněte. Pokud je vše v pořádku, měl by se vám v prohlížeči zobrazit XML dokument, kde je pro nás důležitá především informace <ReturnCode>rcSuccess</ReturnCode>, což značí, že je vše dobře nastavené.

        Podobným způsobem lze provést i kontrolu stavu API. Pro nezabezpečnou komunikaci je adresa http://localhost/eWay/InsecureAPI.svc/CheckStatus pro zabezpečenou https://localhost/eWay/API.svc/CheckStatus. Místo XML je výstup v JSON.