Automatická instalace

Automatický způsob: jeden skript z účtu připraví celý server (webový stack Apache + PHP, databáze, bezpečnostní nástroje, cron). Dále už jen nasadíte panel, vydáte SSL a zadáte licenci. Funguje na Ubuntu/Debian: na čistém VPS nastaví vše od nuly, na již nakonfigurovaném serveru pouze aditivně (profil „Nakonfigurovaný server“, krok 01). Všechny příkazy níže jsou v pořadí, stačí listovat shora dolů. Na čistém VPS se hodí každý krok popořadě; pokud je server již nakonfigurovaný nebo je na něm hostingový panel, část práce skript záměrně nechává na vás — co přesně, napíše na konci své práce (rozbor výstupu najdete v kroku 01).

Zástupné hodnoty v příkazech nahraďte svými: monitor.example.com — váš doménový; 203.0.113.10 — skutečná IP adresa serveru; /var/www/monitor — kořen panelu (kde leží public/, assets/, config.php); heslo k databázi si zvolte vlastní.
Kompletní sada („Kompletní ochrana“) je určena pro čistý VPS. Na čisté Ubuntu/Debian nastaví bezpečnostní systém od nuly — Fail2ban (jail.local), root-crontab, pravidla UFW, konfiguraci Apache. Pokud je server již nakonfigurovaný (funkční panel, weby, pošta, vlastní jaily) — zvolte profil „Nakonfigurovaný server“: provede pouze aditivní změny a nesáhne na váš firewall, Fail2ban, poštu, SSH ani sysctl. Při zjištění hostingového panelu se skript do tohoto režimu přepne sám. Před prvním spuštěním můžete zapnout zkušební běh (zaškrtávátko v účtu) — ukáže, co se provede, aniž by cokoli změnil. Na provozním serveru si pro jistotu udělejte snímek (snapshot).

01. Příkaz automatického nastavení z účtu

Příkaz získáte ve svém účtu my.arciveo.com → sekce „Nastavení serveru“ (dostupná po pořízení Arcivéo Security Monitor). Je vázán na váš účet a obsahuje osobní token.

Skript připraví celý server: webový stack (Apache + PHP), databázi, nástroje pro SSL, kompletní sadu ochranných prostředků a cron úlohy (Lynis, SMART, debsums, Logwatch, denní report, aktualizace ipsum).

1) Vyberte úroveň ochrany (v účtu, před zkopírováním příkazu):

  • Plná ochrana (doporučeno) — UFW (firewall), Fail2ban, CrowdSec + bouncer, ipsum (blokovací seznam IP), Suricata (IDS/IPS), Falco, ModSecurity + OWASP CRS (WAF), PSAD, mod_evasive (anti-DoS), AIDE (integrita souborů), debsums, ClamAV + maldet (antivirus), Auditd, AppArmor, Monit, Lynis (audit), Logwatch, automatické bezpečnostní aktualizace.
  • Odlehčená — pro VPS s malou pamětí RAM: základní sada bez náročných komponent.
  • Nastavený server (hostingový panel) — pro již běžící server s panelem (HestiaCP apod.), weby a poštou: pouze aditivní změny (doinstalace nástrojů, cron, sudo pravidla), zatímco firewall, Fail2ban, pošta, SSH a sysctl zůstávají beze změny. Na serveru s panelem skript tento režim vybírá sám.
Zkušební běh. V účtu lze zaškrtnout „Zkušební běh“ — příkaz pak jen ukáže, co skript nainstaluje a změní, a skončí, aniž by cokoli změnil. Užitečné na již nastaveném serveru: nejprve běh, poté skutečné spuštění bez zaškrtnutí.

2) Spusťte na serveru pod root příkaz z účtu — vypadá takto:

curl -fsSL "https://my.arciveo.com/install.php?token=YOUR_TOKEN" | sudo bash
Příkaz držte v tajnosti — je vázán na váš účet. Odkaz má omezenou platnost; pokud vypršel, klikněte v účtu na „Získat nový odkaz“.
Po automatickém nastavení je webový server Apache + PHP-FPM a bezpečnostní nástroje i cron úlohy jsou již nainstalovány a fungují „hned po instalaci“.

3) Přečtěte si výstup na konci — je v něm napsáno, co zůstalo na vás. Skript končí blokem kontrol a seznamem „Dále — instalace panelu“. Část kroků záměrně neprovádí: co přesně, závisí na zvoleném profilu a na tom, co na serveru našel. Porovnejte se seznamem níže — provést je potřeba jen ty body, jejichž řádky se objevily ve vašem výstupu.

  • Control panel detected (…) — web se vytváří prostředky samotného hostingového panelu, vhost skript nevytváří. Krok 03, větev „Server s hostingovým panelem“.
  • No vhost created (no domain given) — profil „Nakonfigurovaný server“ bez domény: vhost bez jména by se stal výchozím webem a přebíral by vaše vlastní weby, proto vytvořen nebyl. Krok 03, větev „Vytvořit vhost ručně“.
  • sudo rules NOT written — skript nedokázal určit, pod jakým účtem panel běží. Je to běžná situace: soubory panelu se nahrávají až po automatickém nastavení, takže nebylo podle čeho určovat. Bez těchto pravidel moduly systémová data neuvidí. Krok 04, blok „sudo pro webový server“.
  • ! Nginx does not read .htaccess — před Apache stojí Nginx a zapsat zákaz do jeho konfigurace automaticky se nepodařilo. Udělejte to bezpodmínečně: jinak se data/, keys/, database/ a config.php vydávají ven mimo .htaccess. Krok 03, blok „Pokud před Apache stojí Nginx“.
  • UFW installed but inactive — firewall je nainstalovaný, ale vypnutý: na nakonfigurovaném serveru jej skript sám nezapíná, aby vám neodřízl přístup. Zapněte jej sami a bezpodmínečně povolte svůj SSH port:
    sudo ufw allow OpenSSH # nestandardní port SSH: sudo ufw allow 2222/tcp sudo ufw allow 80,443/tcp sudo ufw enable
  • Fail2ban installed but not running — spusťte: sudo systemctl enable --now fail2ban.
  • Database server present … but not running — spusťte databázový server před krokem 04: sudo systemctl enable --now mariadb (nebo mysql — podle toho, co je nainstalováno).
  • Certbot skipped — issue SSL in … — certifikát se vydává přepínačem Let's Encrypt v hostingovém panelu; krok 06 nepotřebujete.
Pokud je v bloku kontrol vše v pořádku, poslední řádek je All checks passed. Body s ! vyžadují pozornost; podrobnosti se zapisují do logu, jehož cestu skript vypíše úplně na konci (Log: …).

02. Doména a DNS

Chcete-li otevírat panel na adrese jako monitor.example.com a získat bezplatný SSL, musí doména směřovat na server. V ovládacím panelu DNS (u registrátora nebo hostera) vytvořte A-záznam:

Typ: A Jméno: monitor (subdoména → monitor.example.com) nebo @ (kořen domény → example.com) Hodnota: 203.0.113.10 ← IP vašeho serveru TTL: 3600

Za několik minut (někdy až hodinu) ověřte, že doména směřuje na server:

dig +short monitor.example.com # měl by vrátit vaši IP # nebo, pokud dig není: getent hosts monitor.example.com
SSL certifikát (krok 06) se vydává pouze na doménu – proto musí DNS směřovat na server před vydáním certifikátu.

03. Nahrání souborů panelu

Běžný případ (čistý VPS). Automatické nastavení již vytvořilo adresář panelu /var/www/monitor a nastavilo web Apache (DocumentRoot na kořen panelu, PHP-FPM, AllowOverride pro .htaccess). Ve výstupu skriptu je to řádek vhost … → DocumentRoot …. Adresář ani vhost není třeba vytvářet zvlášť — stačí nahrát soubory a nastavit oprávnění.
Dva případy, kdy vhost vytvořen NENÍ — skript to na konci své práce výslovně oznámí. Pak nejprve proveďte příslušnou větev níže a teprve poté nahrávejte soubory.

Větev „Server s hostingovým panelem“ (ve výstupu: Control panel detected (…)). Weby na takovém serveru spravuje panel a vlastní vhost skript záměrně nevytváří — byl by přepsán při první přestavbě konfigurací panelem. Postup je následující:

  1. Založte webovou doménu v hostingovém panelu (HestiaCP apod.) — jeho DocumentRoot zůstává beze změny.
  2. Nahrajte distribuci celou do public_html této domény: vedle index.php, api/, assets/ musí ležet i služební config.php, includes/, data/, tmp/, logs/, keys/, cron/, database/. Nic nad webový kořen vynášet netřeba: služební složky jsou chráněny souborem .htaccess z distribuce a pod Nginxem zákazem, který skript zapsal do konfigurace domény.
  3. SSL se vydává přepínačem Let's Encrypt přímo v panelu — krok 06 přeskočte.
  4. Dále — oprávnění (níže v tomto kroku), databáze (krok 04) a config.php (krok 05). Cesty v příkazech nahraďte za /home/účet/web/doména/public_html a vlastníka za uživatele této domény místo www-data.

Větev „Vytvořit vhost ručně“ (ve výstupu: No vhost created (no domain given)). To nastává pouze u profilu „Nakonfigurovaný server“, když nebyla předána doména. Nejjednodušší je jednoduše znovu spustit příkaz z účtu a doménu uvést:

curl -fsSL "https://my.arciveo.com/install.php?token=YOUR_TOKEN&profile=existing" | sudo bash -s -- monitor.example.com

Opakované spuštění je bezpečné: již provedené se nezdvojuje. Pokud však potřebujete vhost vytvořit ručně — zde je tatáž konfigurace, jakou zapisuje instalátor:

sudo mkdir -p /var/www/monitor # Soket PHP-FPM zjišťujeme automaticky — verze PHP se na serverech liší. PHPSOCK=$(ls -1 /run/php/php*-fpm.sock 2>/dev/null | head -1) sudo tee /etc/apache2/sites-available/arciveo-monitor.conf > /dev/null <<'EOF' <VirtualHost *:80> ServerName monitor.example.com DocumentRoot /var/www/monitor <Directory /var/www/monitor> Options -Indexes +FollowSymLinks AllowOverride All Require all granted </Directory> <FilesMatch "\.php$"> SetHandler "proxy:unix:__PHPSOCK__|fcgi://localhost" </FilesMatch> ErrorLog ${APACHE_LOG_DIR}/arciveo-monitor_error.log CustomLog ${APACHE_LOG_DIR}/arciveo-monitor_requests.log combined </VirtualHost> EOF sudo sed -i "s#__PHPSOCK__#${PHPSOCK}#" /etc/apache2/sites-available/arciveo-monitor.conf sudo a2ensite arciveo-monitor.conf sudo apache2ctl configtest sudo systemctl reload apache2
ServerName je zde povinný. Vhost bez jména se stává výchozím webem Apache a začne odpovídat za cizí domény na témže serveru. Ze stejného důvodu nevypínejte 000-default.conf na nakonfigurovaném serveru: tento web mohl být předělán na něčí provozní — na čistém VPS jej instalátor odstraňuje sám, zde to dělat netřeba.
Pokud před Apache stojí Nginx (ve výstupu: ! Nginx does not read .htaccess). Nginx vydává statické soubory přímo z disku a .htaccess nečte — služební složky by zůstaly otevřené ven, přestože je Apache korektně uzavírá. Skript předem připravil soubor se zákazy; je potřeba jej připojit v bloku server{} vašeho webu a Nginx znovu načíst:
include /etc/nginx/snippets/arciveo-deny.conf;
sudo nginx -t && sudo systemctl reload nginx # Kontrola: má vrátit 403, nikoli obsah souboru curl -sI https://monitor.example.com/config.php | head -1
Soubory panelu (archiv distribuce) se stahují po zakoupení v účtu my.arciveo.com → „Ke stažení“. Před nahráním na server archiv rozbalte.

Nahrajte obsah distribuce do /var/www/monitor (aby uvnitř byly public/, assets/, config.php atd.) — přes SFTP/SCP (FileZilla / WinSCP) nebo příkazem scp z lokálního počítače:

scp -r ./monitor/* deploy@203.0.113.10:/var/www/monitor/
Aby se do vhostu rovnou zapsala vaše doména (ServerName), předává se do příkazu automatického nastavení už v kroku 01: … | sudo bash -s -- monitor.example.com (nebo se doména uvede v poli „Doména panelu“ v účtu). Pokud doménu nepředáte — panel odpovídá na libovolný host i na IP a ServerName zapíše certbot při vydání SSL (krok 06); nic není třeba přeinstalovávat.
Nastavte oprávnění souborů — to je povinný krok. Pokud jste nahrávali pod root nebo přes SFTP, soubory patří uživateli root a webový server (www-data) je nedokáže přečíst — panel se otevře prázdný nebo s chybou 403 (v logu: .htaccess unreadable / directory not executable). Příkaz níže to opraví:
# Normalizujeme oprávnění celého webrootu: adresář vytvořený rootem je pro # webový server (www-data) nedostupný — bez toho panel vrací prázdnou stránku nebo 403. cd /var/www/monitor # Pracovní složky vytváříme PŘED chown — jinak nové adresáře zůstanou root:root # a při chmod 750 do nich webový server (www-data) nezapíše. 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

Zpřístupněte si nahrávání souborů přes SFTP. Po příkazu výše patří všechny soubory uživateli www-data, zatímco FileZilla / WinSCP se připojují pod vaším vlastním uživatelem — nahrávání pak selže s SSH_FX_PERMISSION_DENIED (Permission denied). Vyberte jednu ze dvou variant.

Varianta A — ACL jen pro vašeho uživatele (doporučeno). Právo zápisu získáte pouze vy; webový server stále nemůže přepsat kód panelu:

sudo apt install -y acl # Právo zápisu pro vašeho uživatele na celý adresář panelu: sudo setfacl -R -m u:deploy:rwX /var/www/monitor # Stejné pravidlo jako výchozí — pro soubory a složky vytvořené později: sudo setfacl -R -d -m u:deploy:rwX /var/www/monitor

Varianta B — přes skupinu www-data. Jednodušší, ale právo zápisu k souborům panelu získá i webový server: při zranitelnosti v PHP by šlo kód vyměnit. Na pořadí příkazů záleží — config.php a pracovní složky se zavírají jako poslední:

sudo usermod -aG www-data deploy # Zápis pro skupinu + setgid (bit 2): soubory nahrané přes SFTP zůstávají # ve skupině www-data — jinak je panel nedokáže přepsat. 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
Po variantě B se ve FileZille připojte znovu (Server → Odpojit, poté se znovu přihlaste) — nová skupina se projeví až při novém přihlášení, do té doby oprávnění stále nebudete mít. Kontrola: id deploy — v seznamu skupin se musí objevit www-data; ls -ld /var/www/monitor — oprávnění drwxrwsr-x, písmeno s místo x znamená, že setgid je nastaven.

04. Databáze

Vytvořte databázi a uživatele a poté naimportujte schéma. Blok s databází vložte do terminálu celý (sudo mysql se přihlásí jako root přes unixový soket — heslo roota není potřeba). monitor_db a monitor_user jsou příkladové názvy, můžete zvolit libovolné vlastní; zapamatujte si název databáze, uživatele a heslo — zadáte je v dalším kroku do config.php:

# 1. Databáze. Název databáze, uživatel a heslo se nastavují JEDNOU níže a doplní se do všech řádků. # Blok se do terminálu vkládá CELÝ; sudo mysql se přihlásí jako root přes unixový soket # (heslo roota není potřeba). NEPOUŽÍVEJTE interaktivní `sudo mysql -u root -p` # s vkládáním — při vložení odejdou SQL řádky do dotazu na heslo a ztratí se. DBNAME='monitor_db' # ← název databáze, lze ponechat DBUSER='monitor_user' # ← uživatel databáze, lze ponechat DBPASS='CHOOSE_A_PASSWORD' # ← heslo, zvolte vlastní sudo mysql <<SQL CREATE DATABASE IF NOT EXISTS $DBNAME CHARACTER SET utf8mb4; CREATE USER IF NOT EXISTS '$DBUSER'@'localhost' IDENTIFIED BY '$DBPASS'; GRANT ALL ON $DBNAME.* TO '$DBUSER'@'localhost'; FLUSH PRIVILEGES; SQL # Kontrola (měla by zobrazit $DBNAME): mysql -u "$DBUSER" -p"$DBPASS" -e "SHOW DATABASES;" # Tyto tři hodnoty vepište do config.php → DB_NAME, DB_USER, DB_PASS.
Obvykle není potřeba schéma importovat — panel si tabulky a účet admin vytvoří sám při prvním otevření v prohlížeči (z database/db.sql), pokud je databáze prázdná.

Pokud se tabulky nevytvořily (panel hlásí chybu připojení k databázi nebo místo přihlašovacího formuláře zobrazuje prázdnou obrazovku) — naimportujte schéma ručně. Příkaz se spouští v kořeni panelu, hodnoty se berou z bloku výše:

# Import schématu: cd /var/www/monitor && mysql -u "$DBUSER" -p"$DBPASS" "$DBNAME" < database/db.sql # Kontrola — má se objevit seznam tabulek: mysql -u "$DBUSER" -p"$DBPASS" "$DBNAME" -e "SHOW TABLES;"
Pokud se proměnné $DBNAME / $DBUSER / $DBPASS už „zapomněly“ (nová relace terminálu) — doplňte hodnoty do příkazu ručně nebo je znovu nastavte týmiž třemi řádky z bloku výše.
sudo pro webový server. Obvykle jsou pravidla už zapsána automatickým nastavením a moduly vidí systémová data ihned. Pokud však byl ve výstupu skriptu řádek sudo rules NOT written — nebylo podle čeho účet panelu určit (soubory ještě nebyly nahrány) a pravidla vytvořena nejsou. Bez nich zůstanou sekce jako firewall, Fail2ban a CrowdSec prázdné. Nyní, když jsou soubory na místě, spusťte příkaz z účtu ještě jednou a účet uveďte výslovně:
curl -fsSL "https://my.arciveo.com/install.php?token=YOUR_TOKEN&profile=existing" | sudo ARCIVEO_USER=www-data bash -s -- monitor.example.com
www-data nahraďte uživatelem, pod kterým běží PHP vašeho webu (na hostingovém panelu je to obvykle vlastník domény). Zjistíte jej takto:
ps -o user= -C php-fpm8.3 | sort -u # verzi doplňte svou # nebo: ps aux | grep -m3 '[p]hp-fpm'
Kontrola po opětovném spuštění: soubor /etc/sudoers.d/monitor existuje a jsou v něm řádky s vaším uživatelem.

05. Nastavení config.php

config.php v kořeni panelu (/var/www/monitor/config.php) je jediný soubor, který je potřeba upravit ručně. Veškerá nastavení panelu jsou v něm zadaná konstantami define(). Otevřete jej v editoru:

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

Doplňte své hodnoty do zvýrazněných míst; ostatní ponechte beze změny:

// --- Databáze (z kroku 04) --- define('DB_HOST', 'localhost'); // ponechat define('DB_NAME', 'db_name'); // co jste vytvořili v kroku 04 define('DB_USER', 'user'); // co jste vytvořili v kroku 04 define('DB_PASS', 'db_password'); // co jste zadali v kroku 04 define('DB_CHARSET', 'utf8mb4'); // ponechat // --- Aplikace --- define('APP_URL', 'https://monitor.example.com'); // adresa panelu, bez lomítka na konci define('TIMEZONE', 'Europe/Prague'); // vaše časové pásmo // --- Doba trvání relace --- define('SESSION_LIFETIME', 28800); // nečinnost do opětovného přihlášení, s (28800 = 8 h)

Co měnit:

  • DB_NAME, DB_USER, DB_PASS — přesně stejný název databáze, uživatel a heslo, jaké jste zadali při vytváření DB v kroku 04 (pokud jste ponechali příklady — monitor_db / monitor_user). DB_HOST a DB_CHARSET neměňte.
  • APP_URL — úplná adresa panelu s https://, bez lomítka na konci a bez www. Musí se shodovat s doménou, na kterou licenci aktivujete (krok 07), jinak bude klíč odmítnut.
  • TIMEZONE — vaše časové pásmo (seznam — timedatectl list-timezones). Ovlivňuje pouze to, jak panel zobrazuje data; čas spouštění cron-úloh neovlivňuje (tam platí pásmo systému).
  • SESSION_LIFETIME — po kolika sekundách nečinnosti si panel vyžádá opětovné přihlášení (výchozí je 8 hodin). Např. 3600 = 1 hodina, 86400 = den.
  • Blok logování chyb (display_errors, log_errors, error_log) — ponechte ve výchozím stavu.

Uložte soubor (Ctrl+O, Enter, poté Ctrl+X) a restartujte PHP-FPM — jinak se kvůli OPcache změny neprojeví:

sudo systemctl restart php*-fpm
config.php je tajný soubor (je v něm heslo k DB). Leží v kořeni panelu, který je zároveň webovým kořenem, ale je chráněný: práva 640 (nastavená v kroku 03) a výslovný zákaz v kořenovém .htaccess. Nezveřejňujte jej ve veřejných repozitářích a nepředávejte podpoře se skutečným heslem.
Podrobný rozbor všech parametrů najdete ve FAQ: „Soubor config.php — všechna nastavení panelu“.

06. Vydání SSL (HTTPS)

Panel funguje pouze přes HTTPS. Přihlašovací relace používá zabezpečené cookie a WebAuthn (2FA) podle standardu funguje jen na HTTPS. Přes http:// se nepřihlásíte.
Na serveru s hostingovým panelem tento krok není potřeba (ve výstupu skriptu: Certbot skipped — issue SSL in …). Certifikát se vydává přepínačem Let's Encrypt na webové doméně přímo v panelu — o jeho obnovu se pak stará také panel.

certbot a plugin pro Apache už automatická konfigurace nainstalovala. DNS domény už musí směřovat na server (krok 02). Vydání jedním příkazem:

sudo certbot --apache -d monitor.example.com

Pokud se má panel otevírat i s www. — uveďte obě jména v jednom příkazu, jinak prohlížeč na druhé adrese zobrazí varování o certifikátu:

sudo certbot --apache -d monitor.example.com -d www.monitor.example.com
Druhé jméno přidávejte pouze tehdy, pokud na ně také existuje A-záznam směřující na tento server (krok 02). Jinak jej Let's Encrypt nedokáže ověřit a nevydá certifikát jako celek — včetně hlavní domény.
Na co se certbot zeptá:
  1. Enter email address — váš e-mail (přijdou tam upozornění na vypršení certifikátu).
  2. Terms of Service … (Y)es/(N)o — Y.
  3. Share email with the EFF … (Y)es/(N)o — dle vašeho uvážení.
Dále certbot sám vydá certifikát, zapíše <VirtualHost *:443>, nastaví přesměrování http→https a automatické obnovení. Na konci — Successfully enabled HTTPS.
Pokud vydání selže — zkontrolujte, že dig +short monitor.example.com vrací IP serveru a jsou otevřené porty 80/443 (sudo ufw allow 80,443/tcp).

Po vydání: https://monitor.example.com se otevírá se zámkem, http:// přesměrovává na https://.

07. Přihlášení a prvotní nastavení

Otevřete https://monitor.example.com, přihlaste se admin / useradmin a projděte kontrolní seznam:

  1. Změňte heslo admin — sekce „Uživatelé“ v menu.
  2. Zapněte WebAuthn (2FA) — „Klíče WebAuthn“ → zaregistrujte klíč/passkey (vyžaduje HTTPS). Zaregistrujte rovnou dva: při ztrátě jediného klíče přes něj přihlášení nebude možné. Více informací.
  3. Omezte přístup podle IP — „Nastavení“ → „Omezení přístupu podle IP“ (před zapnutím zadejte svou IP, jinak si zablokujete přístup).
  4. Zadejte licenci — aktivační kód ARCIVEO-… z účtu aktivujte na svou doménu a klíč vložte do „Nastavení“ → „Licence“. Více informací.
  5. Nastavte oznámení — Telegram a/nebo Email v „Nastavení“. Více informací.
  6. Smažte instalátor public/start_db.php, pokud zůstal: umožňuje bez přihlášení znovu vytvořit databázi. Dokud soubor leží v kořeni panelu nebo v public/, panel na něj upozorňuje červeným bannerem.
  7. Spusťte první kontroly ručně — jinak bude část sekcí až do noci prázdná (viz blok níže).
Proč jsou „Audit Lynis“ a „Logwatch“ zpočátku prázdné. Automatické nastavení nainstalovalo nástroje a založilo cron úlohy, ale samotné kontroly nespouštělo — proběhnou podle rozvrhu: Lynis ve 03:00, Logwatch v 06:00, debsums ve 04:30, ClamAV v 01:30. Do té doby sekce poctivě ukazují, že reporty ještě nejsou. Abyste nečekali celý den, spusťte je jednou ručně:
# Audit Lynis — první report (několik minut): sudo /usr/local/bin/lynis-scan.sh # Report Logwatch za den: sudo /usr/local/bin/logwatch_daily.sh # Integrita balíčků (debsums) — na velkém serveru trvá dlouho: sudo /usr/local/bin/debsums-scan.sh
Lynis lze spustit i přímo z panelu — tlačítkem „Spustit audit“ na stránce „Audit Lynis“: provede tentýž skript na pozadí a report sám aktualizuje. Dále už vše běží podle rozvrhu, ručně spouštět není třeba.
První antivirový sken (sudo /usr/local/bin/clamav-scan.sh) silně zatěžuje disk i procesor a může trvat hodinu i více — na provozním serveru je lepší počkat na noční spuštění v 01:30. Sekce „Disky (SMART)“, „Výkon“ a „Bezpečnostní aktualizace“ se naplní samy: každých 30 minut, 5 minut a jednou za hodinu.
Hotovo. Přehled ke každému nástroji najdete v FAQ.
Potřebujete na tomto serveru provozovat ještě jeden web s vlastní doménou — viz FAQ: „Druhý web na tomto serveru (další doména)“.