Instalace serverové části systému eWay-CRM
Instalace na vlastní server je dostupná v modulu Společnosti a Kontakty (Professional nebo Enterprise).
Obsah
1) Nakopírování webové služby na server
2) Vytvoření virtuální aplikace ve správě internetové informační služby (IIS)
4) Vytvoření uživatelského účtu pro přístup k databázi
5) Nastavení connection stringu
6) Specifikace adresy webové služby
7) Další možnosti nastavení webové služby
9) Doplnit napojení na licenční server
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, které získáte od podpory 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.
6) Specifikace adresy webové služby
Různé funkcionality vyžadují znát adresu webové služby, tak jak je dostupná zvenčí. Od verze 9.0 se její nevyplnění zobrazuje jako chyba CheckStatus: WebServiceAddress is not defined in Web.config
Adresa webové služby se zadává do sekce appSettings s lomítkem na konci, například takto:
<add key="WebServiceAddress" value="https://eway.contoso.com/" />
7) 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 deaktivovanouVý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 Výsledný řetězec může vypadat takto: 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]"/> |
nebo
|
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ě:
Můžete použít šifrovanou variantu, která by měla podobu
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í.
8) 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.
9) 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.
10) 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.
11) Automatické zálohování
Pokud neprovádíte zálohování všech databází na úrovni SQL Serveru doporučujeme aktivovat zálohování v eWay-CRM. Můžete nastavit cestu ke složce, kam se mají zálohy ukládat. Dále je možné upravit jak dlouho se mají zálohy uchovávat.