Automatisk installation

Automatiskt sätt: ett enda skript från kundportalen förbereder hela servern (webbstack Apache + PHP, databas, säkerhetsverktyg, cron). Sedan återstår att distribuera panelen, utfärda SSL och ange licensen. Fungerar på Ubuntu/Debian: på en ny VPS ställs allt in från grunden, på en redan konfigurerad server – endast additivt (profilen ”Konfigurerad server”, steg 01). Alla kommandon nedan följer i ordning, bläddra bara uppifrån och ned. På en ny VPS passar varje steg i tur och ordning; om servern redan är konfigurerad eller har en hostingpanel lämnar skriptet medvetet en del av arbetet till dig — exakt vad skriver det ut i slutet av sin körning (genomgång av utskriften finns i steg 01).

Platshållarvärden i kommandona ersätter du med dina egna: monitor.example.com – din domän; 203.0.113.10 – serverns verkliga IP; /var/www/monitor – panelens rot (där public/, assets/, config.php ligger); hitta på ett eget lösenord för databasen.
Den fullständiga uppsättningen (”Fullständigt skydd”) är avsedd för en ny VPS. På ett rent Ubuntu/Debian ställer den in säkerhetssystemet från grunden – Fail2ban (jail.local), root-crontab, UFW-regler, Apache-konfig. Om servern redan är konfigurerad (fungerande panel, webbplatser, e-post, egna jails) – välj profilen ”Konfigurerad server”: den gör endast additiva ändringar och rör inte din brandvägg, Fail2ban, e-post, SSH eller sysctl. Om en hostingpanel upptäcks växlar skriptet till detta läge automatiskt. Före första körningen kan du aktivera torrkörning (kryssruta i portalen) – den visar vad som kommer att göras utan att ändra något. På en produktionsserver bör du för säkerhets skull ta en ögonblicksbild (snapshot).

01. Kommando för automatisk konfiguration från portalen

Kommandot hämtar du i din kundportal my.arciveo.com → avsnittet ”Serverkonfiguration” (tillgängligt efter köp av Arcivéo Security Monitor). Det är kopplat till ditt konto och innehåller en personlig token.

Skriptet förbereder hela servern: webbstack (Apache + PHP), databas, verktyg för SSL, en komplett uppsättning skyddsverktyg och cron-jobb (Lynis, SMART, debsums, Logwatch, daglig rapport, uppdatering av ipsum).

1) Välj skyddsnivå (i portalen, innan du kopierar kommandot):

  • Fullständigt skydd (rekommenderas) — UFW (brandvägg), Fail2ban, CrowdSec + bouncer, ipsum (blocklista för IP), Suricata (IDS/IPS), Falco, ModSecurity + OWASP CRS (WAF), PSAD, mod_evasive (anti-DoS), AIDE (filintegritet), debsums, ClamAV + maldet (antivirus), Auditd, AppArmor, Monit, Lynis (granskning), Logwatch, automatiska säkerhetsuppdateringar.
  • Förenklat — för VPS med lite RAM: en grunduppsättning utan tunga komponenter.
  • Konfigurerad server (hostingpanel) — för en redan igång server med panel (HestiaCP m.fl.), webbplatser och e-post: endast tillägg (installation av verktyg, cron, sudo-regler), medan brandvägg, Fail2ban, e-post, SSH och sysctl lämnas orörda. På en server med panel väljer skriptet detta läge automatiskt.
Testkörning. I portalen kan du kryssa i ”Testkörning” — då visar kommandot bara vad skriptet skulle installera och ändra och avslutas utan att röra något. Användbart på en redan konfigurerad server: kör testet först, sedan den riktiga körningen utan kryss.

2) Kör på servern som root kommandot från portalen — det ser ut så här:

curl -fsSL "https://my.arciveo.com/install.php?token=YOUR_TOKEN" | sudo bash
Håll kommandot hemligt — det är kopplat till ditt konto. Länken har begränsad giltighetstid; om den har gått ut klickar du på ”Hämta ny länk” i portalen.
Efter den automatiska konfigurationen är webbservern Apache + PHP-FPM, och säkerhetsverktygen och cron-jobben är redan installerade och fungerar direkt.

3) Läs utskriften i slutet — där står det vad som återstår för dig. Skriptet avslutar körningen med ett block av kontroller och en lista ”Nästa steg — installation av panelen”. En del steg utför det medvetet inte: vilka beror på vald profil och på vad det hittade på servern. Stäm av med listan nedan — du behöver bara utföra de punkter vars rader dök upp i din egen utskrift.

  • Control panel detected (…) — webbplatsen skapas med hostingpanelens egna verktyg, skriptet gör ingen vhost. Steg 03, grenen ”Server med hostingpanel”.
  • No vhost created (no domain given) — profilen ”Konfigurerad server” utan domän: en vhost utan namn skulle bli standardwebbplats och fånga upp dina egna webbplatser, därför skapades den inte. Steg 03, grenen ”Skapa vhost för hand”.
  • sudo rules NOT written — skriptet kunde inte avgöra vilket konto panelen körs under. Det är en helt vanlig situation: panelens filer laddas upp först efter autokonfigurationen, så det fanns ännu inget att utgå från. Utan dessa regler ser modulerna inga systemdata. Steg 04, blocket ”sudo för webbservern”.
  • ! Nginx does not read .htaccess — framför Apache står Nginx, och förbudet gick inte att skriva in i dess konfig automatiskt. Gör det ovillkorligen: annars lämnas data/, keys/, database/ och config.php ut utåt förbi .htaccess. Steg 03, blocket ”Om Nginx står framför Apache”.
  • UFW installed but inactive — brandväggen är installerad men avstängd: på en konfigurerad server aktiverar skriptet den inte självt, för att inte stänga ute dig. Aktivera den själv och tillåt ovillkorligen din SSH-port:
    sudo ufw allow OpenSSH # icke-standardport för SSH: sudo ufw allow 2222/tcp sudo ufw allow 80,443/tcp sudo ufw enable
  • Fail2ban installed but not running — starta den: sudo systemctl enable --now fail2ban.
  • Database server present … but not running — starta databasservern före steg 04: sudo systemctl enable --now mariadb (eller mysql — beroende på vad som är installerat).
  • Certbot skipped — issue SSL in … — certifikatet utfärdas med Let's Encrypt-omkopplaren i hostingpanelen; steg 06 behöver du inte.
Om allt är i sin ordning i kontrollblocket är sista raden All checks passed. Punkter med ! kräver uppmärksamhet; detaljerna skrivs till loggen, vars sökväg skriptet skriver ut allra sist (Log: …).

02. Domän och DNS

För att öppna panelen på en adress som monitor.example.com och få gratis SSL måste domänen peka mot servern. Skapa en A-post i DNS-panelen (hos registraren eller webbhotellet):

Typ: A Namn: monitor (underdomän → monitor.example.com) eller @ (domänroten → example.com) Värde: 203.0.113.10 ← din servers IP TTL: 3600

Efter några minuter (ibland upp till en timme) kontrollerar du att domänen pekar mot servern:

dig +short monitor.example.com # ska returnera din IP # eller, om dig saknas: getent hosts monitor.example.com
SSL-certifikatet (steg 06) utfärdas endast för en domän – därför måste DNS peka mot servern innan certifikatet utfärdas.

03. Ladda upp panelfilerna

Vanligt fall (ny VPS). Autokonfigurationen har redan skapat panelkatalogen /var/www/monitor och konfigurerat Apache-webbplatsen (DocumentRoot till panelens rot, PHP-FPM, AllowOverride för .htaccess). I skriptets utskrift är det raden vhost … → DocumentRoot …. Du behöver inte skapa katalog och vhost separat — ladda bara upp filerna och sätt rättigheterna.
Två fall då vhost INTE skapas — skriptet meddelar det uttryckligen i slutet av körningen. Utför då först rätt gren nedan, och ladda upp filerna först därefter.

Grenen ”Server med hostingpanel” (i utskriften: Control panel detected (…)). På en sådan server styr panelen över webbplatserna, och skriptet skapar medvetet ingen egen vhost — den skulle skrivas över vid panelens första ombyggnad av konfigurationerna. Gör så här:

  1. Lägg upp en webbdomän i hostingpanelen (HestiaCP m.fl.) — dess DocumentRoot lämnas som den är.
  2. Ladda upp distributionen i sin helhet till public_html för den domänen: bredvid index.php, api/, assets/ ska även de interna config.php, includes/, data/, tmp/, logs/, keys/, cron/, database/ ligga. Inget behöver flyttas ovanför webbroten: de interna mapparna är stängda av .htaccess från distributionen, och under Nginx av det förbud som skriptet skrev in i domänens konfig.
  3. SSL utfärdas med Let's Encrypt-omkopplaren i själva panelen — hoppa över steg 06.
  4. Sedan följer rättigheter (längre ned i det här steget), databasen (steg 04) och config.php (steg 05). Byt ut sökvägarna i kommandona mot /home/konto/web/domän/public_html, och ägaren mot den domänens användare i stället för www-data.

Grenen ”Skapa vhost för hand” (i utskriften: No vhost created (no domain given)). Det inträffar bara med profilen ”Konfigurerad server”, när ingen domän angavs. Enklast är att helt enkelt köra kommandot från portalen igen och ange domänen:

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

Att köra igen är ofarligt: det som redan är gjort dupliceras inte. Om du ändå vill skapa vhost för hand — här är samma konfig som installationsprogrammet skriver:

sudo mkdir -p /var/www/monitor # PHP-FPM-socketen bestäms automatiskt — PHP-versionen skiljer sig mellan servrar. 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 är obligatoriskt här. En vhost utan namn blir Apaches standardwebbplats och börjar svara för andra domäner på samma server. Av samma skäl ska du inte stänga av 000-default.conf på en konfigurerad server: den webbplatsen kan ha gjorts om till någons produktionssajt — på en ny VPS tar installationsprogrammet bort den själv, här ska du inte göra det.
Om Nginx står framför Apache (i utskriften: ! Nginx does not read .htaccess). Nginx lämnar ut statiska filer direkt från disken och läser inte .htaccess — de interna mapparna blir då öppna utåt, trots att Apache stänger dem korrekt. Skriptet har i förväg förberett en fil med förbud; den ska inkluderas i server{}-blocket för din webbplats, varefter Nginx laddas om:
include /etc/nginx/snippets/arciveo-deny.conf;
sudo nginx -t && sudo systemctl reload nginx # Kontroll: ska returnera 403, inte filens innehåll curl -sI https://monitor.example.com/config.php | head -1
Panelfilerna (distributionsarkivet) laddas ned efter köp i kundportalen my.arciveo.com → ”Nedladdningar”. Packa upp arkivet innan du laddar upp det till servern.

Ladda upp distributionens innehåll till /var/www/monitor (så att public/, assets/, config.php osv. hamnar inuti) — via SFTP/SCP (FileZilla / WinSCP) eller med kommandot scp från din lokala dator:

scp -r ./monitor/* deploy@203.0.113.10:/var/www/monitor/
För att din domän (ServerName) ska skrivas in i vhost direkt anger du den i autokonfigurationskommandot redan i steg 01: … | sudo bash -s -- monitor.example.com (eller anger domänen i fältet ”Paneldomän” i kundportalen). Om domänen inte angavs svarar panelen på vilken host som helst och via IP, och ServerName skrivs in av certbot när SSL utfärdas (steg 06); inget behöver installeras om.
Sätt rättigheterna på filerna — detta är ett obligatoriskt steg. Om du laddade upp som root eller via SFTP ägs filerna av root, och webbservern (www-data) kan inte läsa dem — panelen öppnas tom eller med fel 403 (i loggen: .htaccess unreadable / directory not executable). Kommandot nedan åtgärdar detta:
# Normalisera rättigheterna för hela webbroten: en katalog som skapats av root är otillgänglig # för webbservern (www-data) — utan detta visar panelen en tom sida eller 403. cd /var/www/monitor # Skapa arbetsmapparna FÖRE chown — annars förblir de nya katalogerna root:root # och med chmod 750 kan webbservern (www-data) inte skriva i dem. 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

Öppna uppladdning via SFTP för dig själv. Efter kommandot ovan ägs alla filer av www-data, medan FileZilla / WinSCP ansluter som din egen användare — uppladdningen misslyckas då med SSH_FX_PERMISSION_DENIED (Permission denied). Välj ett av de två alternativen.

Alternativ A — en ACL enbart för din användare (rekommenderas). Skrivrättigheter får bara du; webbservern kan fortfarande inte skriva över panelens kod:

sudo apt install -y acl # Skrivrättighet för din användare till hela panelkatalogen: sudo setfacl -R -m u:deploy:rwX /var/www/monitor # Samma regel som standard — för filer och mappar som skapas senare: sudo setfacl -R -d -m u:deploy:rwX /var/www/monitor

Alternativ B — via gruppen www-data. Enklare, men även webbservern får skrivrättighet till panelens filer: vid en sårbarhet i PHP skulle koden kunna bytas ut. Ordningen på kommandona spelar roll — config.php och arbetsmapparna stängs sist:

sudo usermod -aG www-data deploy # Skrivrätt för gruppen + setgid (biten 2): filer som laddas upp via SFTP # stannar kvar i gruppen www-data — annars kan panelen inte skriva över dem. 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
Efter alternativ B — anslut på nytt i FileZilla (Server → Koppla från, logga sedan in igen): den nya gruppen börjar gälla först vid en ny inloggning, dessförinnan har du fortfarande inga rättigheter. Kontroll: id deploy — i grupplistan ska www-data dyka upp; ls -ld /var/www/monitor — rättigheter drwxrwsr-x, bokstaven s i stället för x betyder att setgid är satt.

04. Databas

Skapa en databas och en användare, importera sedan schemat. Databasblocket klistras in i terminalen i sin helhet (sudo mysql loggar in som root via unix-socket — root-lösenord behövs inte). monitor_db och monitor_user är exempelnamn, du kan välja egna; kom ihåg databasnamn, användare och lösenord — du anger dem i config.php i nästa steg:

# 1. Databas. Databasnamn, användare och lösenord anges EN gång nedan och infogas i alla rader. # Blocket klistras in i terminalen I SIN HELHET; sudo mysql loggar in som root via unix-socket # (root-lösenord behövs inte). Använd INTE interaktiv `sudo mysql -u root -p` # med kopiera-klistra — vid inklistring hamnar SQL-raderna i lösenordsfrågan och försvinner. DBNAME='monitor_db' # ← databasnamn, kan behållas DBUSER='monitor_user' # ← databasanvändare, kan behållas DBPASS='CHOOSE_A_PASSWORD' # ← lösenord, välj ett eget 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 # Kontroll (ska visa $DBNAME): mysql -u "$DBUSER" -p"$DBPASS" -e "SHOW DATABASES;" # Ange samma tre värden i config.php → DB_NAME, DB_USER, DB_PASS.
Vanligtvis behöver schemat inte importeras — panelen skapar själv tabellerna och kontot admin vid första besöket i webbläsaren (från database/db.sql), om databasen är tom.

Om tabellerna inte skapades (panelen visar ett fel vid anslutning till databasen eller en tom skärm i stället för inloggningsformuläret) — importera schemat för hand. Kommandot körs i panelens rot, värdena hämtas från blocket ovan:

# Import av schemat: cd /var/www/monitor && mysql -u "$DBUSER" -p"$DBPASS" "$DBNAME" < database/db.sql # Kontroll — en lista över tabeller ska visas: mysql -u "$DBUSER" -p"$DBPASS" "$DBNAME" -e "SHOW TABLES;"
Om variablerna $DBNAME / $DBUSER / $DBPASS redan har ”glömts bort” (ny terminalsession) — sätt in värdena i kommandot för hand eller ange dem på nytt med samma tre rader från blocket ovan.
sudo för webbservern. Vanligtvis är reglerna redan skrivna av autokonfigurationen, och modulerna ser systemdata direkt. Men om raden sudo rules NOT written fanns i skriptets utskrift — då fanns det inget att avgöra panelens konto utifrån (filerna var ännu inte uppladdade), och reglerna skapades inte. Utan dem förblir avsnitt som brandvägg, Fail2ban och CrowdSec tomma. Nu när filerna är på plats kör du kommandot från portalen en gång till och anger kontot uttryckligen:
curl -fsSL "https://my.arciveo.com/install.php?token=YOUR_TOKEN&profile=existing" | sudo ARCIVEO_USER=www-data bash -s -- monitor.example.com
Ersätt www-data med den användare som din webbplats PHP körs under (på en hostingpanel är det oftast domänens ägare). Du ser den så här:
ps -o user= -C php-fpm8.3 | sort -u # ange din egen version # eller: ps aux | grep -m3 '[p]hp-fpm'
Kontroll efter omkörningen: filen /etc/sudoers.d/monitor finns och innehåller rader med din användare.

05. Konfigurera config.php

config.php i panelens rot (/var/www/monitor/config.php) är den enda filen du behöver redigera för hand. Alla panelinställningar anges i den som define()-konstanter. Öppna den i en redigerare:

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

Fyll i dina egna värden i de markerade fälten; låt resten vara som det är:

// --- Databas (från steg 04) --- define('DB_HOST', 'localhost'); // lämna som det är define('DB_NAME', 'db_name'); // det du skapade i steg 04 define('DB_USER', 'user'); // det du skapade i steg 04 define('DB_PASS', 'db_password'); // det du angav i steg 04 define('DB_CHARSET', 'utf8mb4'); // lämna som det är // --- Applikation --- define('APP_URL', 'https://monitor.example.com'); // panelens adress, utan avslutande snedstreck define('TIMEZONE', 'Europe/Stockholm'); // din tidszon // --- Sessionstid --- define('SESSION_LIFETIME', 28800); // inaktivitet före ny inloggning, sek (28800 = 8 h)

Vad du ska ändra:

  • DB_NAME, DB_USER, DB_PASS — exakt samma databasnamn, användare och lösenord som du angav när du skapade databasen i steg 04 (om du behöll exemplen — monitor_db / monitor_user). Rör inte DB_HOST och DB_CHARSET.
  • APP_URL — panelens fullständiga adress med https://, utan avslutande snedstreck och utan www. Måste stämma överens med domänen som du aktiverar licensen på (steg 07), annars avvisas nyckeln.
  • TIMEZONE — din tidszon (lista — timedatectl list-timezones). Påverkar bara hur panelen visar datum; det påverkar inte när cron-jobb körs (där gäller systemets tidszon).
  • SESSION_LIFETIME — efter hur många sekunders inaktivitet panelen ber om ny inloggning (standard 8 timmar). T.ex. 3600 = 1 timme, 86400 = ett dygn.
  • Blocket för fellogg (display_errors, log_errors, error_log) — lämna som standard.

Spara filen (Ctrl+O, Enter, sedan Ctrl+X) och starta om PHP-FPM — annars tillämpas inte ändringarna på grund av OPcache:

sudo systemctl restart php*-fpm
config.php är en hemlig fil (den innehåller databasens lösenord). Den ligger i panelens rot, som också är webbroten, men är skyddad: rättigheter 640 (satta i steg 03) och ett uttryckligt förbud i .htaccess i roten. Lägg inte upp den i publika arkiv och skicka den inte till supporten med det riktiga lösenordet.
En detaljerad genomgång av alla parametrar finns i FAQ: ”Filen config.php — alla panelinställningar”.

06. Utfärda SSL (HTTPS)

Panelen fungerar endast via HTTPS. Inloggningssessionen använder en säker cookie, och WebAuthn (2FA) fungerar enligt standarden bara över HTTPS. Via http:// kan du inte logga in.
På en server med hostingpanel behövs det här steget inte (i skriptets utskrift: Certbot skipped — issue SSL in …). Certifikatet utfärdas med Let's Encrypt-omkopplaren på webbdomänen i själva panelen — då sköter panelen även förnyelsen.

certbot och Apache-insticksprogrammet är redan installerade av autokonfigurationen. Domänens DNS ska redan peka på servern (steg 02). Utfärda med ett kommando:

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

Om panelen även ska kunna öppnas med www. — ange båda namnen i ett och samma kommando, annars visar webbläsaren en certifikatvarning på den andra adressen:

sudo certbot --apache -d monitor.example.com -d www.monitor.example.com
Lägg bara till det andra namnet om det också har en A-post som pekar mot den här servern (steg 02). Annars kan Let's Encrypt inte verifiera det och utfärdar inte certifikatet alls — inte heller för huvuddomänen.
Vad certbot frågar om:
  1. Enter email address — din e-post (dit kommer aviseringar om att certifikatet går ut).
  2. Terms of Service … (Y)es/(N)o — Y.
  3. Share email with the EFF … (Y)es/(N)o — efter eget val.
Sedan utfärdar certbot själv certifikatet, lägger till <VirtualHost *:443>, ställer in omdirigering http→https och automatisk förnyelse. Till sist — Successfully enabled HTTPS.
Om utfärdandet misslyckas — kontrollera att dig +short monitor.example.com returnerar serverns IP och att portarna 80/443 är öppna (sudo ufw allow 80,443/tcp).

Efter utfärdandet: https://monitor.example.com öppnas med hänglås, http:// omdirigerar till https://.

07. Inloggning och första konfiguration

Öppna https://monitor.example.com, logga in med admin / useradmin och gå igenom checklistan:

  1. Byt admin-lösenord — avsnittet ”Användare” i menyn.
  2. Aktivera WebAuthn (2FA) — ”WebAuthn-nycklar” → registrera nyckel/passkey (kräver HTTPS). Registrera två direkt: om du tappar din enda nyckel går det inte att logga in med den. Läs mer.
  3. Begränsa åtkomst per IP — ”Inställningar” → ”Åtkomstbegränsning per IP” (ange din egen IP innan du aktiverar, annars stänger du ute dig själv).
  4. Ange licens — aktivera aktiveringskoden ARCIVEO-… från kundportalen för din domän och klistra in nyckeln under ”Inställningar” → ”Licens”. Läs mer.
  5. Konfigurera aviseringar — Telegram och/eller e-post under ”Inställningar”. Läs mer.
  6. Ta bort installationsprogrammet public/start_db.php om det finns kvar: det gör att databasen kan återskapas utan inloggning. Så länge filen ligger i panelens rot eller i public/ varnar panelen om den med en röd banner.
  7. Kör de första kontrollerna för hand — annars är en del avsnitt tomma fram till natten (se blocket nedan).
Varför ”Lynis-granskning” och ”Logwatch” är tomma från början. Autokonfigurationen installerade verktygen och lade upp cron-jobben, men körde inte själva kontrollerna — de går enligt schema: Lynis kl. 03:00, Logwatch kl. 06:00, debsums kl. 04:30, ClamAV kl. 01:30. Fram till dess visar avsnitten ärligt att det ännu inte finns några rapporter. För att slippa vänta ett dygn kör du dem en gång för hand:
# Lynis-granskning — första rapporten (några minuter): sudo /usr/local/bin/lynis-scan.sh # Logwatch-rapport för det senaste dygnet: sudo /usr/local/bin/logwatch_daily.sh # Paketintegritet (debsums) — tar lång tid på en stor server: sudo /usr/local/bin/debsums-scan.sh
Lynis kan även startas direkt från panelen — knappen ”Starta granskning” på sidan ”Lynis-granskning”: den kör samma skript i bakgrunden och uppdaterar rapporten själv. Därefter går allt enligt schema, du behöver inte starta något för hand igen.
Den första antivirusskanningen (sudo /usr/local/bin/clamav-scan.sh) belastar disk och processor kraftigt och kan pågå en timme eller mer — på en produktionsserver är det bättre att invänta nattkörningen kl. 01:30. Avsnitten ”Diskar (SMART)”, ”Prestanda” och ”Säkerhetsuppdateringar” fylls på av sig själva: var 30:e minut, var 5:e minut respektive en gång i timmen.
Klart. Referens för varje verktyg finns i FAQ.
Behöver du ytterligare en webbplats med egen domän på den här servern — se FAQ: ”En andra webbplats på den här servern (ytterligare en domän)”.