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
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
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
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.
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.
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.
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).
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ó"
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.
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).
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).