Automatikus telepítés

Automatikus módszer: a fiókból elérhető egyetlen szkript előkészíti az egész szervert (Apache + PHP webes réteg, adatbázis, biztonsági eszközök, cron). Ezután már csak telepíteni kell a panelt, kiállítani az SSL-t és megadni a licencet. Működik Ubuntu/Debian alatt: friss VPS-en mindent a nulláról állít be, egy már beállított szerveren pedig csak kiegészítő módon (a „Beállított szerver” profil, 01. lépés). Az alábbi parancsok sorrendben követik egymást, csak lapozzon fentről lefelé.

A parancsokban szereplő helykitöltő értékeket cserélje a sajátjaira: monitor.example.com — az Ön domainje; 203.0.113.10 — a szerver valódi IP-címe; /var/www/monitor — a panel gyökere (ahol a public/, assets/, config.php található); az adatbázis jelszavát találja ki saját maga.
A teljes csomag („Teljes védelem”) friss VPS-re készült. Tiszta Ubuntu/Debian rendszeren a nulláról állítja be a biztonsági rendszert — Fail2ban (jail.local), root-crontab, UFW-szabályok, Apache-konfiguráció. Ha a szerver már be van állítva (működő panel, weboldalak, levelezés, saját jailek) — válassza a „Beállított szerver” profilt: ez csak kiegészítő módosításokat végez, és nem nyúl az Ön tűzfalához, a Fail2banhez, a levelezéshez, az SSH-hoz és a sysctl-hez. Hosztingpanel észlelése esetén a szkript magától erre a módra vált. Az első futtatás előtt bekapcsolhatja a szárazpróbát (jelölőnégyzet a fiókban) — ez megmutatja, mi történne, anélkül hogy bármit megváltoztatna. Éles szerveren a biztonság kedvéért készítsen pillanatképet (snapshot).

01. Automatikus beállítási parancs a fiókból

A parancsot a saját fiókjában találja: my.arciveo.com„Szerver beállítása” szakasz (az Arcivéo Monitor megrendelése után érhető el). A fiókjához van kötve, és személyes tokent tartalmaz.

A szkript az egész szervert előkészíti: webes réteg (Apache + PHP), adatbázis, SSL-eszközök, a teljes védelmi eszközkészlet és a cron-feladatok (Lynis, SMART, debsums, Logwatch, napi jelentés, ipsum frissítése).

1) Válassza ki a védelmi szintet (a fiókban, a parancs másolása előtt):

  • Teljes védelem (ajánlott) — UFW (tűzfal), Fail2ban, CrowdSec + bouncer, ipsum (IP-tiltólista), Suricata (IDS/IPS), Falco, ModSecurity + OWASP CRS (WAF), PSAD, mod_evasive (DoS-védelem), AIDE (fájlintegritás), debsums, ClamAV + maldet (vírusirtó), Auditd, AppArmor, Monit, Lynis (audit), Logwatch, automatikus biztonsági frissítések.
  • Könnyített — kevés RAM-mal rendelkező VPS-ekhez: alapkészlet a nehéz komponensek nélkül.
  • Beállított szerver (hosting-panel)már működő, panellel (HestiaCP stb.), webhelyekkel és levelezéssel rendelkező szerverhez: csak hozzáadó jellegű módosítások (eszközök utólagos telepítése, cron, sudo-szabályok), a tűzfal, a Fail2ban, a levelezés, az SSH és a sysctl változatlan marad. Panellel rendelkező szerveren a szkript magától ezt a módot választja.
Száraz futtatás. A fiókban bejelölheti a „Száraz futtatás” lehetőséget — ekkor a parancs csak megmutatja, mit telepítene és módosítana a szkript, majd befejeződik anélkül, hogy bármihez hozzányúlna. Már beállított szerveren hasznos: előbb próbafuttatás, majd valódi indítás jelölés nélkül.

2) Futtassa a szerveren root alatt a fiókból származó parancsot — így néz ki:

curl -fsSL "https://my.arciveo.com/install.php?token=YOUR_TOKEN" | sudo bash
A parancsot tartsa titokban — a fiókjához van kötve. A hivatkozás érvényessége korlátozott; ha lejárt, kattintson a fiókban az „Új hivatkozás kérése” gombra.
Az automatikus beállítás után a webszerver Apache + PHP-FPM, a biztonsági eszközök és cron-feladatok pedig már telepítve vannak, és azonnal működnek — semmit sem kell külön beállítani.

02. Domain és DNS

Ahhoz, hogy a dashboardot egy monitor.example.com típusú címen nyithassa meg, és ingyenes SSL-t kapjon, a domainnek a szerverre kell mutatnia. A DNS vezérlőpultján (a regisztrátornál vagy a tárhelyszolgáltatónál) hozzon létre egy A-rekordot:

Típus: A Név: monitor (aldomain → monitor.example.com) vagy @ (gyökérdomain → example.com) Érték: 203.0.113.10 ← a szervere IP-címe TTL: 3600

Néhány perc múlva (néha akár egy óra is lehet) ellenőrizze, hogy a domain a szerverre mutat-e:

dig +short monitor.example.com # a szervere IP-címét kell visszaadnia # vagy, ha nincs dig: getent hosts monitor.example.com
Az SSL-tanúsítvány (06. lépés) csak domainre állítható ki – ezért a DNS-nek a tanúsítvány kibocsátása előtt a szerverre kell mutatnia.

03. A panel fájljainak feltöltése

Az automatikus beállítás már létrehozta a panel /var/www/monitor könyvtárát, és beállította az Apache-oldalt (DocumentRoot a panel gyökerén, PHP-FPM, AllowOverride a .htaccess számára). Külön nem kell könyvtárat és vhostot létrehozni — csak töltse fel a fájlokat és állítsa be a jogosultságokat.
A panel fájljai (a disztribúció archívuma) a vásárlás után a fiókban tölthetők le: my.arciveo.com„Letöltések”. Csomagolja ki az archívumot, mielőtt feltöltené a szerverre.

Töltse fel a disztribúció tartalmát ide: /var/www/monitor (hogy belül legyen a public/, assets/, config.php stb.) — SFTP/SCP-n keresztül (FileZilla / WinSCP), vagy a helyi gépről a scp paranccsal:

scp -r ./monitor/* deploy@203.0.113.10:/var/www/monitor/
Ahhoz, hogy a vhostba azonnal bekerüljön az Ön domainje (ServerName), azt már a 01. lépésben átadják az automatikus beállítás parancsának: … | sudo bash -s -- monitor.example.com (vagy megadják a domaint a fiókban a „Panel domainje” mezőben). Ha nem adta át a domaint — a panel bármely hoszton és IP-címen válaszol, a ServerName értéket pedig a certbot írja be az SSL kiállításakor (06. lépés); semmit sem kell újratelepíteni.
Állítsa be a fájlok jogosultságait — ez kötelező lépés. Ha root alatt vagy SFTP-n keresztül töltötte fel, a fájlok a root tulajdonában vannak, és a webszerver (www-data) nem tudja olvasni őket — a panel üresen vagy 403-as hibával nyílik meg (a logban: .htaccess unreadable / directory not executable). Az alábbi parancs ezt javítja:
# Normalizáljuk a teljes webgyökér jogosultságait: a root által létrehozott # könyvtár nem elérhető a webszervernek (www-data) — enélkül a panel üres oldalt vagy 403-at ad. cd /var/www/monitor # A munkakönyvtárakat a chown ELŐTT hozzuk létre — különben az új könyvtárak root:root # maradnak, és chmod 750 esetén a webszerver (www-data) nem tud beléjük írni. sudo mkdir -p data/lynis data/logwatch tmp logs sudo chown -R www-data:www-data /var/www/monitor sudo find /var/www/monitor -type d -exec chmod 755 {} \; sudo find /var/www/monitor -type f -exec chmod 644 {} \; sudo chmod 640 /var/www/monitor/config.php sudo chmod 750 data tmp logs

Nyissa meg magának a fájlfeltöltést SFTP-n. A fenti parancs után minden fájl a www-data tulajdonában van, miközben a FileZilla / WinSCP a saját felhasználójával csatlakozik — a feltöltés ekkor SSH_FX_PERMISSION_DENIED (Permission denied) hibával áll le. Válasszon a két változat közül.

A változat — ACL csak a saját felhasználójának (ajánlott). Írási jogot csak Ön kap; a webszerver továbbra sem tudja felülírni a panel kódját:

sudo apt install -y acl # Írási jog a felhasználójának a teljes panelkönyvtárra: sudo setfacl -R -m u:deploy:rwX /var/www/monitor # Ugyanez alapértelmezésként — a később létrehozott fájlokra és mappákra: sudo setfacl -R -d -m u:deploy:rwX /var/www/monitor

B változat — a www-data csoporton keresztül. Egyszerűbb, de a panel fájljaira a webszerver is írási jogot kap: PHP-sebezhetőség esetén a kód lecserélhető lenne. A parancsok sorrendje számít — a config.php és a munkamappák zárása marad a végére:

sudo usermod -aG www-data deploy # Írási jog a csoportnak + setgid (a 2-es bit): az SFTP-n feltöltött fájlok # a www-data csoportban maradnak — különben a panel nem tudja felülírni őket. sudo find /var/www/monitor -type d -exec chmod 2775 {} \; sudo find /var/www/monitor -type f -exec chmod 664 {} \; sudo chmod 640 /var/www/monitor/config.php sudo chmod 2750 /var/www/monitor/data /var/www/monitor/tmp /var/www/monitor/logs
A B változat után csatlakozzon újra a FileZillában (Kiszolgáló → Bontás, majd lépjen be újra) — az új csoport csak új bejelentkezéskor lép életbe, addig továbbra sem lesz jogosultsága. Ellenőrzés: id deploy — a csoportok listájában meg kell jelennie a www-data csoportnak; ls -ld /var/www/monitor — jogok drwxrwsr-x, az x helyén álló s betű azt jelenti, hogy a setgid be van állítva.

04. Adatbázis

Hozzon létre egy adatbázist és egy felhasználót, majd importálja a sémát. Az adatbázis-blokkot egészben illessze be a terminálba (a sudo mysql root felhasználóként lép be unix-socketen keresztül — a root jelszava nem szükséges). A monitor_db és a monitor_user csak példaértékek, tetszőleges nevet megadhat; jegyezze meg az adatbázis nevét, a felhasználót és a jelszót — ezeket a következő lépésben beírja a config.php fájlba:

# 1. Adatbázis. A jelszót EGYSZER kell megadni a DBPASS-ban, és minden sorba behelyettesítődik. # A blokkot EGÉSZBEN illessze be a terminálba; a sudo mysql root felhasználóként lép be unix-socketen # (a root jelszava nem szükséges). NE használjon interaktív `sudo mysql -u root -p` parancsot # másolással — beillesztéskor az SQL-sorok a jelszókérésbe kerülnek és elvesznek. DBPASS='CHOOSE_A_PASSWORD' # ← csak ezt a sort módosítsa sudo mysql <<SQL CREATE DATABASE IF NOT EXISTS monitor_db CHARACTER SET utf8mb4; CREATE USER IF NOT EXISTS 'monitor_user'@'localhost' IDENTIFIED BY '$DBPASS'; GRANT ALL ON monitor_db.* TO 'monitor_user'@'localhost'; FLUSH PRIVILEGES; SQL # Ellenőrzés (a monitor_db-t kell megjelenítenie): mysql -u monitor_user -p"$DBPASS" -e "SHOW DATABASES;" # Ugyanezt a jelszót írja be a config.php → DB_PASS mezőbe.
A sémát nem kell importálni — a panel az első böngészős belépéskor maga hozza létre a táblákat és az admin fiókot (a database/db.sql alapján), ha az adatbázis üres.
A webszerver sudo-ját az automatikus beállítás már elvégezte — a modulok azonnal látják a rendszeradatokat. A sudo-t csak akkor kell külön beállítani, ha a PHP nem szokványos felhasználó alatt fut (nem www-data).

05. A config.php beállítása

A panel gyökerében lévő config.php (/var/www/monitor/config.php) az egyetlen fájl, amelyet kézzel kell szerkeszteni. A panel minden beállítása define() konstansként szerepel benne. Nyissa meg egy szerkesztőben:

sudo nano /var/www/monitor/config.php

Írja be a saját értékeit a kiemelt helyekre; a többit hagyja változatlanul:

// --- Adatbázis (a 04. lépésből) --- define('DB_HOST', 'localhost'); // hagyja define('DB_NAME', 'db_name'); // amit a 04. lépésben létrehozott define('DB_USER', 'user'); // amit a 04. lépésben létrehozott define('DB_PASS', 'db_password'); // amit a 04. lépésben megadott define('DB_CHARSET', 'utf8mb4'); // hagyja // --- Alkalmazás --- define('APP_URL', 'https://monitor.example.com'); // a panel címe, záró perjel nélkül define('TIMEZONE', 'Europe/Budapest'); // az Ön időzónája // --- Munkamenet ideje --- define('SESSION_LIFETIME', 28800); // tétlenség az újbóli belépésig, mp (28800 = 8 ó)

Mit kell módosítani:

  • DB_NAME, DB_USER, DB_PASS — pontosan ugyanaz az adatbázisnév, felhasználó és jelszó, amelyet az adatbázis létrehozásakor a 04. lépésben megadott (ha a példákat hagyta: monitor_db / monitor_user). A DB_HOST és DB_CHARSET értékét ne módosítsa.
  • APP_URL — a panel teljes címe https:// előtaggal, záró perjel nélkül és www nélkül. Egyeznie kell azzal a domainnel, amelyre a licencet aktiválja (07. lépés), különben a kulcsot elutasítja a rendszer.
  • TIMEZONE — az Ön időzónája (a lista: timedatectl list-timezones). Csak azt befolyásolja, hogyan jeleníti meg a panel a dátumokat; a cron-feladatok indítási idejét nem befolyásolja (ott a rendszer időzónája érvényes).
  • SESSION_LIFETIME — hány másodperc tétlenség után kéri a panel az újbóli belépést (alapértelmezetten 8 óra). Pl. 3600 = 1 óra, 86400 = egy nap.
  • A hibanaplózási blokkot (display_errors, log_errors, error_log) hagyja az alapértelmezetten.

Mentse el a fájlt (Ctrl+O, Enter, majd Ctrl+X), és indítsa újra a PHP-FPM-et — különben az OPcache miatt a módosítások nem lépnek életbe:

sudo systemctl restart php*-fpm
A config.php titkos fájl (tartalmazza az adatbázis jelszavát). A panel gyökerében található, amely egyben a webgyökér is, de védve van: 640 jogosultság (a 03. lépésben beállítva) és explicit tiltás a gyökér .htaccess fájljában. Ne töltse fel nyilvános tárolókba, és ne küldje el a támogatásnak valós jelszóval.
Az összes paraméter részletes ismertetése a GYIK-ben: „A config.php fájl — a panel összes beállítása”.

06. SSL kiállítása (HTTPS)

A vezérlőpult csak HTTPS-en keresztül működik. A bejelentkezési munkamenet védett cookie-t használ, a WebAuthn (2FA) pedig a szabvány szerint csak HTTPS-en működik. http:// protokollon nem tud bejelentkezni.

A certbot és az Apache-bővítmény már telepítve van az automatikus beállítás során. A domain DNS-ének már a szerverre kell mutatnia (02. lépés). Kiállítás egyetlen paranccsal:

sudo certbot --apache -d monitor.example.com
Mit kérdez a certbot:
  1. Enter email address — az Ön e-mail-címe (ide érkeznek a tanúsítvány lejáratáról szóló értesítések).
  2. Terms of Service … (Y)es/(N)oY.
  3. Share email with the EFF … (Y)es/(N)o — Ön dönti el.
Ezután a certbot magától kiállítja a tanúsítványt, beírja a <VirtualHost *:443> bejegyzést, beállítja a http→https átirányítást és az automatikus megújítást. A végén: Successfully enabled HTTPS.
Ha a kiállítás sikertelen — ellenőrizze, hogy a dig +short monitor.example.com visszaadja-e a szerver IP-címét, és nyitva vannak-e a 80/443 portok (sudo ufw allow 80,443/tcp).

A kiállítás után: a https://monitor.example.com lakat ikonnal nyílik meg, a http:// pedig https://-re irányít át.

07. Bejelentkezés és kezdeti beállítás

Nyissa meg a https://monitor.example.com címet, jelentkezzen be a admin / useradmin adatokkal, és haladjon végig az ellenőrzőlistán:

  1. Módosítsa az admin jelszavát — a menü „Felhasználók” szakaszában.
  2. Kapcsolja be a WebAuthn (2FA) hitelesítést — „WebAuthn kulcsok” → regisztráljon egy kulcsot/passkey-t (HTTPS szükséges). Regisztráljon egyből kettőt: ha az egyetlen kulcsát elveszíti, azzal nem tud majd bejelentkezni. Részletek.
  3. Korlátozza a hozzáférést IP alapján — „Beállítások” → „Hozzáférés korlátozása IP alapján” (bekapcsolás előtt írja be a saját IP-címét, különben kizárja magát).
  4. Adja meg a licencet — a fiókból származó ARCIVEO-… aktiválási kódot aktiválja a saját domainjére, majd illessze be a kulcsot a „Beállítások” → „Licenc” menüpontba. Részletek.
  5. Állítsa be az értesítéseket — Telegram és/vagy Email a „Beállítások” között. Részletek.
  6. Törölje a telepítőt public/start_db.php, ha megmaradt: ez engedélyezés nélkül újra tudja hozni az adatbázist. Amíg a fájl a panel gyökerében vagy a public/ mappában van, a panel piros szalaggal figyelmeztet rá.
Kész. A biztonsági eszközök már működnek — az irányítópult azonnal megmutatja állapotukat és a Biztonsági pontszámot. Az egyes eszközök leírása a GYIK oldalon található.
Arcivéo - Security Monitor © 2026