Az oldal megtekintéséhez kérjük, engedélyezze a JavaScriptet.

sERPa súgó

Támogatott böngészők

Chrome, Firefox, Safari, Opera: aktuális és előző verzió.

Edge: csak a Chromium alapú, aktuális és előző verzió.

Internet Explorer: NEM TÁMOGATOTT

Az IIS telepítése

A program futtatásához a Microsoft Internet Information Services (IIS) 8.0 (vagy újabb) webkiszolgáló szükséges. A program futtatható Linux szerveren is, de ahhoz semmiféle támogatást nem tudunk nyújtani.

START + R: %SystemRoot%\system32\ServerManager.exe

A program működéséhez szükséges komponensek

Internet Information Services

 + Webkezelési eszközök

   - IIS-kezelő konzol

 + Webszolgáltatások

   + Alkalmazásfejlesztési szolgáltatások

     - Alkalmazásinicializálás

     - ISAPI-bővítmények

     - ISAPI-szűrők

   + Állapot és diagnosztika

     - HTTP-naplózás

   + Általános HTTP szolgáltatások

     - Alapértelmezett dokumentum

     - HTTP-hibák

     - Statikus tartalom

   + Biztonság

     - Kérelmek szűrése

   +Teljesítménnyel kapcsolatos szolgáltatások

     - Dinamikus tartalom tömörítése

     - Statikus tartalom tömörítése

.NET Runtime telepítése, frissítése

A program futtatásához a .NET Runtime legfrissebb verziójára van szükség, ami feltelepíthető innen: https://dotnet.microsoft.com/en-us/download.

Kattintsunk az "All .NET X.Y downloads" linkre, majd az ASP.NET Core Runtime X.Y.Z alatt válasszuk a Windows - Hosting Bundle-t. Töltsük le, telepítsük fel a webszerverre.

A .NET Runtime telepítése, frissítése után indítsuk újra az IIS-t.

IIS Application Pool létrehozása

A webalkalmazást saját Application Pool-ba rakjuk.

Ha több adatbázishoz is szeretnénk sERPaAPI-t használni, akkor minden adatbázishoz külön sERPaAPI-t kell telepíteni. Minden sERPaAPI-t külön Application Pool-ba kell rakni, ezért annyi Application Pool-t hozzunk létre, ahány sERPaAPI-t szeretnénk telepíteni.

Az IIS kezelőjében jobb egérgombbal kattintsunk az Application Pools elemre, majd Add Application Pool. Name: sERPaAPI (vagy ami tetszik). .NET CLR version: No Managed Code. Mentsük el.

Ha a sERPaAPI külső rendszert hív (a külső rendszer a szolgáltató), akkor a sERPaAPI webalkalmazásnak állandóan futnia kell. A létrehozott (sERPaAPI) Application Pool-on jobb egérgomb, Advanced Settings: General: Start Mode: AlwaysRunning, Process Model: Idle Time-out (minutes): 0, Idle Time-out Action: Suspend, Load User Profie: False, Recycling: Regular Time Interval (minutes): 0.

Webalkalmazás hozzáadása

A program saját aldomain-ben (subdomain-ben, pl. serpaapi.analfabt.hu), és alkönyvtárban (subfolder-ben, pl. analfabt.hu/serpaapi) is képes működni. A subdomain létrehozását a domain szolgáltatótól kell kérni.

A sERPaAPI csak HTTPS protokollon használható.

Aldomain-ben történő működés esetén:

Az IIS kezelőjében jobb egérgombbal kattintsunk a Sites-ra, majd Add Website.

SiteName: sERPaAPI (vagy amit szeretnénk).

Application Pool: válasszuk az előzőekben létrehozott sERPaAPI Application Pool-t.

Physical path: a webalkalmazásunk fájljait bárhova tehetjük, de ajánlott a C:\inetpub könyvtárban létrehozni számára egy alkönyvtárat, pl.: sERPaAPI (az alias és a könyvtárnév nem kell, hogy megegyezzen, de célszerű). Használjuk a tallózás ("...") gombot, majd a Make New Folder gombbal hozzuk létre az alkalmazás könyvtárát a C:\inetpub könyvtárban.

Adjuk meg a protokollt, IP címet, portot, HTTPS-t kell használni.

Adjuk meg a Host nevét (pl. serpaapi.analfabt.hu).

Adjuk meg az SSL Certificate-et.

OK.

Alkönyvtárban történő működés esetén:

A sERPaAPI-t HTTPS-t használó weboldal alkönyvtárába kell rakni.

Az IIS kezelőjében jobb egérgombbal kattintsunk a Default Web Site-ra, vagy arra a weboldalra, amelybe a webalkalmazást telepíteni szeretnénk. majd Add Application.

Alias:sERPaAPI (vagy amit szeretnénk).

Application Pool: válasszuk az előzőekben létrehozott sERPaAPI Application Pool-t.

Physical path: a webalkalmazásunk fájljait bárhova tehetjük, de ajánlott a C:\inetpub\wwwroot könyvtárban létrehozni számára egy alkönyvtárat, pl.: sERPaAPI (az alias és a könyvtárnév nem kell, hogy megegyezzen, de célszerű). Használjuk a tallózás ("...") gombot, majd a Make New Folder gombbal hozzuk létre az alkalmazás könyvtárát a C:\inetpub\wwwroot könyvtárban.

OK.

Webalkalmazás telepítése

1. A telepítéshez szükséges fájlok az InstCD\Kiegeszitesek\sERPaAPI könyvtárban lévő sERPaAPI.zip fájlban találhatók. Csomagoljuk ki a sERPaAPI.zip fájlt, majd a sERPaAPI könyvtár tartalmát másoljuk be az IIS megfelelő könyvtárába (C:\inetpub\wwwroot\sERPaAPI).

2. Az IIS könyvtárában másoljuk le az appsettings.minta.json fájlt appsettings.json néven.

3. Indítsuk el rendszergazdaként a Jegyzettömböt. Nyissuk meg az appsettings.json fájlt. A következő fejezetben leírtak alapján végezzük el a szükséges beállításokat. Mentsük el a fájlt.

4. A ConnectionStrings-ben megadott felhasználónak select-ek végrehajtása és tárolt eljárások futtatása jogosultságokkal kell rendelkeznie az adatbázisra. Célszerű az adatbázisban lévő sERPaAPIRole szerepkört hozzárendelni a felhasználóhoz. Ezzel pontosan azokat a jogokat kapja a felhasználó, amire szükség van.

5. Indítsuk újra az Application Pool-t (vagy az IIS-t). Győződjünk meg róla, hogy a webalkalmazás és az Application Pool is fut (nincs kis fekete négyzet egyik ikon jobb alsó sarkában sem).

Az appsetting.json beállításai

Ha az appSettings.json fájlban módosítunk valamit, akkor állítsuk le az Application Pool-t, majd a módosítás után indítsuk újra, mert a módosítások csak így jutnak érvényre!

Logging / LogLevel / Default

Itt adhatjuk meg a naplózás szintjét. Alapértelmezett értéke "Warning", ekkor csak a figyelmeztetéseket és hibákat naplózza, ez általában elég. Ha a "Default"-ot "Debug"-ra állítjuk, akkor a figyelmeztetéseken és hibákon kívül minden hívást is naplóz, ettől a naplófájl nagyon nagyra nőhet. A "Debug" beállítást csak hibakeresésre ajánljuk.

  "Logging": {

    "LogLevel": {

      "Default": "Warning",

      "Microsoft": "Warning",

Meg kell adni a log fájlok helyét és nevét is:

    "PathFormat": "Logs/sERPaAPI-{Date}.log"

A "{Date}" helyére a program belerakja a fájlnévbe a dátumot, így minden nap új log fájl keletkezik. A "{Date} használata nem kötelező, de erősen ajánlott. A program az utolsó 31 log fájlt őrzi meg, tehát ha a névben szerepel a "{Date}", akkor egy hónapra visszamenőleg lesznek meg a log fájlok, nem fog a Logs könyvtár végtelenre nőni.

Connection

Ebben a bejegyzésben adhatjuk meg az adatbázis-kiszolgáló eléréséhez szükséges adatokat. A Server, Database, User, Password mezőkbe írjuk be az adatbázis-elérés adatait, pl.:

  "Connection": {

    "Server": "szerver.analfabt.local",

    "Database": "AnalfaBT_Teszt",

    "User": "sERPaAPI",

    "Password": "xxx",

A '"', '\' karaktereket ún. escape szekvenciával kell beírni, ami azt jelenti, hogy elé kell tenni egy '\'-t, tehát '"' helyett '\"'-t,  '\' helyett '\\'-t kell írni, pl.:

  "Connection": {

    "Server": "analfabt\\szerver",

    "Database": "AnalfaBT_Teszt",

    "User": "sERPaAPI",

    "Password": "x\"x",

Az adatbázis-kiszolgálót titkosított csatornán érjük el, ez az ajánlott beállítás. Ha az adatbázis-kiszolgáló és a sERPaAPI szerver nem ugyanazon a (virtuális) gépen fut, akkor mindenképpen titkosított kapcsolatot használjunk. Ha egy (virtuális) gépen futnak, akkor a titkosítás kikapcsolható. Ha nem szeretnénk titkosítást használni (nem ajánlott), akkor az "Encrypt" értékét állítsuk "false"-ra:

  "Connection": {

    "Encrypt": true,

A titkosított kapcsolathoz használjunk megbízható szervezet által kiállított tanúsítványt, ez az ajánlott beállítás. Amennyiben nincs ilyen tanúsítványunk, használhatjuk az adatbázis-kiszolgáló által aláírt tanúsítványt is (nem ajánlott), ilyenkor a "TrustServerCertificate" értékét állítsuk "true"-ra:

  "Connection": {

    "TrustServerCertificate": false

Jwt / Secret:

Adjunk meg egy titkos kulcsot, a hossza legalább 32 karakteres legyen, pl.:

  "Jwt": {

    "Secret": "Legalább 32 karakteres titkos kulcs"

  },

ExternalApiCallService / Enabled

Ha a sERPaAPI külső rendszert hív (a külső rendszer a szolgáltató), akkor állítsuk true-ra.

   "ExternalApiCallService": {

    "Enabled": true,

ExternalApiCallService / Proxy beállítások

Ha a sERPaAPI a külső rendszer proxy-n keresztül éri el, akkor adjuk meg a proxy beállításait.

  "ExternalApiCallService": {

    "ProxyUrl": "proxy.url",

    "ProxyUser": "ProxyFelhasználóNév",

    "ProxyPassword": "ProxyJelszó"

Naplózás

A program a naplófájlokat az alkalmazás könyvtárán belül található Logs könyvtárba rakja (pl. C:\inetpub\wwwroot\sERPaAPI\Logs). Ha nincs ilyen könyvtár, hozzuk létre. Az IIS_IUSRS felhasználónak adjunk Modify jogot a Logs könyvtárhoz.

Frissítés

A sERPa és a sERPaAPI verziójának egyeznie kell, ezért a sERPa frissítésekor mindig frissítsük a sERPaAPIt is!

1. Állítsuk le az Application Pool-t (vagy az IIS-t), amiben a sERPaAPI van.

2. Frissítsük a .NET Core Runtime-ot, lásd feljebb.

3. A Logs könyvtár és az appsettings.json fájl kivételével töröljük le a sERPaAPI könyvtárait és fájljait a webalkalmazás könyvtárából (C:\inetpub\wwwroot\sERPaAPI).

4. Csomagoljuk ki a sERPaAPI.zip fájlt, majd a sERPaAPI könyvtár tartalmát másoljuk be a webalkalmazás könyvtárába (C:\inetpub\wwwroot\sERPaAPI).

5. Hasonlítsuk össze az appsettings.minta.json fájlt az appsettings.json fájllal. Ha új bejegyzést találunk az appsettings.minta.json fájlban, másoljuk át az appsettings.json fájlba, és értelemszerűen töltsük ki.

6. Indítsuk újra az Application Pool-t (vagy az IIS-t), amiben a sERPaAPI van. Győződjünk meg róla, hogy a webalkalmazás és az Application Pool is fut (nincs kis fekete négyzet egyik ikon jobb alsó sarkában sem).

Hibakeresés

Győződjünk meg róla, hogy a webalkalmazás és az Application Pool is fut (nincs kis fekete négyzet egyik ikon jobb alsó sarkában sem). Ha a webalkalmazás nem fut, akkor a böngészőben 404-es hibát kapunk, ha az Application Pool nem fut, akkor 503-ast.

Ha a sERPaAPI nem indul el, az API hívásakor (jellemzően 500-as) hibajelzést kapunk. Általában nem elég friss a .NET Runtime, nem frissítettük a sERPaAPIt, rossz verziót telepítettünk,vagy az appSettings.json fájlba valamit rosszul írtunk be.

A program indulásakor fellépő hibák is belekerülnek a naplóba, ezért nézzük meg a naplófájlt (lásd Naplózás).