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

Szoftverkörnyezet

A sERPában telepíteni kell a sERPaWeb nevű kiegészítő modult.

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-ra van szükség, ami feltelepíthető innen: https://dotnet.microsoft.com/en-us/download.

Az ASP.NET Core Runtime 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.

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

A létrehozott (sERPaWeb) Application Pool-on jobb egérgomb, Advanced Settings, Process Model, Load User Profile: True.

Webalkalmazás hozzáadása

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

SiteName: sERPaWeb (vagy amit szeretnénk).

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

Physical path: a webalkalmazásunk fájljait bárhova tehetjük, de ajánlott az inetpub könyvtárban létrehozni számára egy alkönyvtárat, pl.: inetpub\sERPaWeb (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.

Adjuk meg a protokollt, IP címet, portot, ha a sERPaWeb kívülről is hozzáférhető, mindenképpen HTTPS-t használjunk.

Adjuk meg a Host nevét (pl. sERPaWeb.cégnév.hu). A program csak saját aldomain-ben (subdomain-ben) képes működni (pl. serpaweb.analfabt.hu), alkönyvtárban (subfolder-ben) nem, tehát a www.analfabt.hu/sERPaWeb nem használható. A subdomain létrehozását a domain szolgáltatótól kell kérni.

Adjuk meg az SSL Certificate-et.

OK.

Webalkalmazás telepítése

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

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.

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 "Information"-re, vagy "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. Az "Information", "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/sERPaWeb-{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": "sERPaWeb",

    "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": "sERPaWeb",

    "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 sERPaWeb 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"

  },

General / ÁltalánosParaméterNév

A sERPa sERPaWeb | Struktúra beállítások | Általános paraméter funkcióban több sERPaWeb konfigurációt is létrehozhatunk, különböző paraméterekkel. Itt adhatjuk meg az ebben a webalkalmazásban használni kívánt konfiguráció nevét.

  "General": {

    "ÁltalánosParaméterNév": "Normál",

General / DashboardDataReloadingTimeout

A webszerverben lévő adat gyorsítótár frissítési idejének beállítása, másodpercben. Ha a megadott ideig nincs adatkérés, törlődik a gyorsítótár és a legközelebbi adatkéréskor újból betöltésre kerülnek az adatok az SQL szerverből, egyébként az adatok a gyorsítótárból lesznek kiszolgálva.

  "General": {

    "DashboardDataReloadingTimeout": 300

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\sERPaWeb\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 sERPaWeb verziójának egyeznie kell, ezért a sERPa frissítésekor mindig frissítsük a sERPaWebet is!

1. Állítsuk le az Application Pool-t (vagy az IIS-t), amiben a sERPaWeb 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 sERPaWeb könyvtárait és fájljait a webalkalmazás könyvtárából (C:\inetpub\sERPaWeb).

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

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 sERPaWeb 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 sERPaWeb nem indul el, a böngészőben (jellemzően 500-as) hibajelzést kapunk. Általában nem elég friss a .NET Runtime, nem frissítettük a sERPaWebet, 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).

 

Ha nem találja az SW.NyelvLekerdezes tárolt eljárást, akkor valószínűleg nem telepítettük fel a sERPába a sERPaWeb kiegészítő modult, vagy a sERPaWeb felhasználónak (amit az appsettings.json-ben adtunk meg) nincs joga a sERPaWeb tárolt eljárásai futtatásához.

Ha az oldal elindul, be lehet jelentkezni, de nincsenek menüpontok, akkor lehet, hogy nem egyezik a sERPa sERPaWeb | Struktúra beállítások | Általános paraméter funkcióban megadott név és a sERPaWeb szerver appsettings.json fájlban megadott ÁltalánosParaméterNév.