Automatisk installation

Automatisk metode: ét script fra din konto klargør hele serveren (webstakken Apache + PHP, database, sikkerhedsværktøjer, cron). Derefter udruller du panelet, udsteder SSL og indtaster licensen. Virker på Ubuntu/Debian: på en frisk VPS opsættes alt fra bunden, på en allerede konfigureret server kun additivt (profilen “Konfigureret server”, trin 01). Alle kommandoer nedenfor er i rækkefølge — bare bladr fra top til bund. På en frisk VPS passer hvert eneste trin i træk; er serveren allerede konfigureret, eller kører der et hostingpanel på den, overlader scriptet med vilje en del af arbejdet til dig — hvad præcis det er, skriver det til sidst i sin kørsel (gennemgangen af outputtet står i trin 01).

Pladsholderværdier i kommandoerne skal du udskifte med dine egne: monitor.example.com — dit domæne; 203.0.113.10 — serverens rigtige IP; /var/www/monitor — panelets rod (hvor public/, assets/ og config.php ligger); vælg selv en databaseadgangskode.
Det fulde sæt (“Fuld beskyttelse”) er beregnet til en frisk VPS. På en ren Ubuntu/Debian opsætter det sikkerhedssystemet fra bunden — Fail2ban (jail.local), root-crontab, UFW-regler, Apache-konfig. Hvis serveren allerede er konfigureret (kørende panel, sites, mail, egne jails) — så vælg profilen “Konfigureret server”: den foretager kun additive ændringer og rører ikke din firewall, Fail2ban, mail, SSH eller sysctl. Registreres et hostingpanel, skifter scriptet selv til denne tilstand. Før første kørsel kan du slå tørkørsel til (afkrydsning i kontoen) — den viser, hvad der vil blive gjort, uden at ændre noget. På en produktionsserver bør du for en sikkerheds skyld tage et snapshot.

01. Kommando til automatisk opsætning fra kontoen

Kommandoen henter du på din konto my.arciveo.com → afsnittet “Serveropsætning” (tilgængelig efter køb af Arcivéo Security Monitor). Den er knyttet til din konto og indeholder et personligt token.

Scriptet forbereder hele serveren: webstakken (Apache + PHP), databasen, værktøjer til SSL, hele sættet af beskyttelsesværktøjer og cron-job (Lynis, SMART, debsums, Logwatch, daglig rapport, opdatering af ipsum).

1) Vælg beskyttelsesniveau (på kontoen, før du kopierer kommandoen):

  • Fuld beskyttelse (anbefales) — UFW (firewall), Fail2ban, CrowdSec + bouncer, ipsum (blokliste over IP), Suricata (IDS/IPS), Falco, ModSecurity + OWASP CRS (WAF), PSAD, mod_evasive (anti-DoS), AIDE (filintegritet), debsums, ClamAV + maldet (antivirus), Auditd, AppArmor, Monit, Lynis (audit), Logwatch, automatiske sikkerhedsopdateringer.
  • Letvægts — til VPS med lidt RAM: et basissæt uden tunge komponenter.
  • Konfigureret server (hostingpanel) — til en allerede kørende server med panel (HestiaCP m.fl.), websteder og mail: kun additive ændringer (efterinstallation af værktøjer, cron, sudo-regler), mens firewall, Fail2ban, mail, SSH og sysctl forbliver, som de er. På en server med panel vælger scriptet selv denne tilstand.
Tørkørsel. På kontoen kan du sætte flueben ved “Tørkørsel” — så viser kommandoen kun, hvad scriptet vil installere og ændre, og afslutter uden at røre noget. Nyttigt på en allerede konfigureret server: først en tørkørsel, derefter en rigtig kørsel uden flueben.

2) Kør på serveren som root kommandoen fra kontoen — den ser sådan ud:

curl -fsSL "https://my.arciveo.com/install.php?token=YOUR_TOKEN" | sudo bash
Hold kommandoen hemmelig — den er knyttet til din konto. Linket har begrænset gyldighed; hvis det er udløbet, klik på “Hent nyt link” på kontoen.
Efter den automatiske opsætning er webserveren Apache + PHP-FPM, og sikkerhedsværktøjerne og cron-jobbene er allerede installeret og kører “ud af boksen”.

3) Læs outputtet til sidst — dér står det, som er efterladt til dig. Scriptet slutter af med en blok af kontroller og en liste “Næste — installation af panelet”. En del af trinnene udfører det med vilje ikke: hvilke det er, afhænger af den valgte profil og af, hvad det fandt på serveren. Sammenhold med listen nedenfor — du skal kun udføre de punkter, hvis linjer faktisk dukkede op i dit output.

  • Control panel detected (…) — webstedet oprettes med hostingpanelets egne midler, og scriptet laver ingen vhost. Trin 03, grenen “Server med hostingpanel”.
  • No vhost created (no domain given) — profilen “Konfigureret server” uden domæne: en vhost uden navn ville blive standardwebstedet og opfange dine egne sites, så den blev ikke oprettet. Trin 03, grenen “Opret vhost manuelt”.
  • sudo rules NOT written — scriptet kunne ikke afgøre, hvilken konto panelet kører under. Det er en helt almindelig situation: panelets filer uploades først efter den automatiske opsætning, så der var endnu intet at bestemme det ud fra. Uden disse regler ser modulerne ingen systemdata. Trin 04, blokken “sudo til webserveren”.
  • ! Nginx does not read .htaccess — der står en Nginx foran Apache, og forbuddet kunne ikke skrives ind i dens konfig automatisk. Gør det ubetinget: ellers leveres data/, keys/, database/ og config.php udad uden om .htaccess. Trin 03, blokken “Hvis der står en Nginx foran Apache”.
  • UFW installed but inactive — firewallen er installeret, men slået fra: på en konfigureret server slår scriptet den ikke til selv for ikke at afskære din adgang. Slå den til selv, og husk at tillade din SSH-port:
    sudo ufw allow OpenSSH # ikke-standard SSH-port: sudo ufw allow 2222/tcp sudo ufw allow 80,443/tcp sudo ufw enable
  • Fail2ban installed but not running — start den: sudo systemctl enable --now fail2ban.
  • Database server present … but not running — start databaseserveren inden trin 04: sudo systemctl enable --now mariadb (eller mysql — alt efter hvad der er installeret).
  • Certbot skipped — issue SSL in … — certifikatet udstedes med Let's Encrypt-kontakten i hostingpanelet; trin 06 har du ikke brug for.
Er alt i orden i kontrolblokken, er den sidste linje All checks passed. Punkter med ! kræver opmærksomhed; detaljerne skrives til loggen, hvis sti scriptet udskriver allersidst (Log: …).

02. Domæne og DNS

For at åbne dashboardet på en adresse som monitor.example.com og få gratis SSL skal domænet pege på serveren. I DNS-kontrolpanelet (hos registratoren eller hostingudbyderen) opretter du en A-post:

Type: A Navn: monitor (underdomæne → monitor.example.com) eller @ (domænerod → example.com) Værdi: 203.0.113.10 ← serverens IP TTL: 3600

Efter et par minutter (nogle gange op til en time) skal du tjekke, at domænet peger på serveren:

dig +short monitor.example.com # skal returnere din IP # eller, hvis dig ikke findes: getent hosts monitor.example.com
SSL-certifikatet (trin 06) udstedes kun til et domæne — derfor skal DNS pege på serveren før certifikatet udstedes.

03. Upload panelfilerne

Det normale tilfælde (frisk VPS). Autokonfigurationen har allerede oprettet panelkataloget /var/www/monitor og konfigureret Apache-sitet (DocumentRoot til panelroden, PHP-FPM, AllowOverride for .htaccess). I scriptets output er det linjen vhost … → DocumentRoot …. Du behøver ikke oprette katalog og vhost separat — upload blot filerne og sæt rettighederne.
To tilfælde, hvor der IKKE er oprettet en vhost — scriptet melder det direkte til sidst i sin kørsel. Udfør så først den relevante gren nedenfor, og upload først derefter filerne.

Grenen “Server med hostingpanel” (i outputtet: Control panel detected (…)). På sådan en server styres webstederne af panelet, og scriptet opretter med vilje ikke sin egen vhost — den ville blive overskrevet, første gang panelet genopbyggede sine konfigurationer. Fremgangsmåden er:

  1. Opret et webdomæne i hostingpanelet (HestiaCP m.fl.) — dets DocumentRoot bliver, som den er.
  2. Upload distributionen i sin helhed til public_html for dette domæne: ved siden af index.php, api/ og assets/ skal også de interne config.php, includes/, data/, tmp/, logs/, keys/, cron/ og database/ ligge. Der er intet, der skal flyttes uden for webroden: de interne mapper er lukket af .htaccess-filen fra distributionen, og under Nginx af det forbud, scriptet skrev ind i domænets konfig.
  3. SSL udstedes med Let's Encrypt-kontakten i selve panelet — spring trin 06 over.
  4. Derefter — rettigheder (længere nede i dette trin), database (trin 04) og config.php (trin 05). Udskift stierne i kommandoerne med /home/konto/web/domæne/public_html og ejeren med dette domænes bruger i stedet for www-data.

Grenen “Opret vhost manuelt” (i outputtet: No vhost created (no domain given)). Det sker kun på profilen “Konfigureret server”, når domænet ikke blev angivet. Det nemmeste er simpelthen at køre kommandoen fra kontoen igen, denne gang med domænet:

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

En gentagen kørsel er sikker: det, der allerede er gjort, bliver ikke gentaget. Skal vhosten alligevel oprettes i hånden — her er præcis den konfig, installationsprogrammet skriver:

sudo mkdir -p /var/www/monitor # PHP-FPM-socket bestemmes automatisk — PHP-versionen er forskellig fra server til server. 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 er her obligatorisk. En vhost uden navn bliver Apaches standardwebsted og begynder at svare for andre domæner på den samme server. Af samme grund må du ikke slå 000-default.conf fra på en konfigureret server: det websted kan være lavet om til nogens produktionssite — på en frisk VPS fjerner installationsprogrammet det selv, her skal du ikke gøre det.
Hvis der står en Nginx foran Apache (i outputtet: ! Nginx does not read .htaccess). Nginx leverer statiske filer direkte fra disken og læser ikke .htaccess — de interne mapper vil være åbne udadtil, selv om Apache lukker dem korrekt. Scriptet har på forhånd forberedt en fil med forbud; den skal inkluderes i server{}-blokken for dit websted, hvorefter Nginx genindlæses:
include /etc/nginx/snippets/arciveo-deny.conf;
sudo nginx -t && sudo systemctl reload nginx # Kontrol: skal returnere 403 og ikke filens indhold curl -sI https://monitor.example.com/config.php | head -1
Panelfilerne (distributionsarkivet) hentes efter køb på kontoen my.arciveo.com → “Downloads”. Pak arkivet ud, før du uploader det til serveren.

Upload indholdet af distributionen til /var/www/monitor (så public/, assets/, config.php osv. ligger indeni) — via SFTP/SCP (FileZilla / WinSCP) eller med kommandoen scp fra din lokale computer:

scp -r ./monitor/* deploy@203.0.113.10:/var/www/monitor/
For at dit domæne (ServerName) straks bliver skrevet ind i vhost, angives det i autokonfigurationskommandoen allerede i trin 01: … | sudo bash -s -- monitor.example.com (eller angiv domænet i feltet “Paneldomæne” på kontoen). Hvis domænet ikke blev angivet — svarer panelet på enhver host og via IP, og ServerName skrives af certbot ved udstedelse af SSL (trin 06); der er ikke brug for at geninstallere noget.
Sæt rettigheder på filerne — det er et obligatorisk trin. Hvis du uploadede som root eller via SFTP, tilhører filerne root, og webserveren (www-data) kan ikke læse dem — panelet åbner tomt eller med fejl 403 (i loggen: .htaccess unreadable / directory not executable). Kommandoen nedenfor retter det:
# Normaliser rettighederne for hele webrooten: kataloget oprettet af root er utilgængeligt # for webserveren (www-data) — uden dette leverer panelet en tom side eller 403. cd /var/www/monitor # Arbejdsmapperne opretter vi FØR chown — ellers forbliver de nye kataloger root:root # og ved chmod 750 kan webserveren (www-data) ikke skrive 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

Åbn upload via SFTP for dig selv. Efter kommandoen ovenfor tilhører alle filer www-data, mens FileZilla / WinSCP forbinder som din egen bruger — uploaden fejler så med SSH_FX_PERMISSION_DENIED (Permission denied). Vælg en af de to muligheder.

Mulighed A — en ACL kun til din bruger (anbefales). Kun du får skriverettigheder; webserveren kan fortsat ikke overskrive panelets kode:

sudo apt install -y acl # Skriverettighed til din bruger på hele panelmappen: sudo setfacl -R -m u:deploy:rwX /var/www/monitor # Samme regel som standard — for filer og mapper, der oprettes senere: sudo setfacl -R -d -m u:deploy:rwX /var/www/monitor

Mulighed B — via gruppen www-data. Enklere, men webserveren får også skriverettighed til panelets filer: ved en sårbarhed i PHP ville koden kunne udskiftes. Rækkefølgen af kommandoerne betyder noget — config.php og arbejdsmapperne lukkes til sidst:

sudo usermod -aG www-data deploy # Skriverettighed til gruppen + setgid (bit 2): filer uploadet via SFTP # forbliver i gruppen www-data — ellers kan panelet ikke overskrive 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 mulighed B — forbind igen i FileZilla (Server → Afbryd forbindelsen, log derefter ind igen): den nye gruppe træder først i kraft ved et nyt login, indtil da har du stadig ingen rettigheder. Kontrol: id deploy — på gruppelisten skal www-data dukke op; ls -ld /var/www/monitor — rettigheder drwxrwsr-x, bogstavet s i stedet for x betyder, at setgid er sat.

04. Database

Opret databasen og brugeren, og importér derefter skemaet. Blokken med databasen indsættes i terminalen i sin helhed (sudo mysql logger ind som root via unix-socket — root-adgangskode kræves ikke). monitor_db og monitor_user er eksempelnavne, du kan vælge dine egne; husk databasenavn, bruger og adgangskode — dem skriver du ind i config.php i næste trin:

# 1. Database. Databasenavn, bruger og adgangskode angives ÉN gang nedenfor og indsættes i alle linjer. # Blokken indsættes i terminalen I SIN HELHED; sudo mysql logger ind som root via unix-socket # (root-adgangskode kræves ikke). Brug IKKE interaktiv `sudo mysql -u root -p` # med copy-paste — ved indsætning ryger SQL-linjerne ind i adgangskodeprompten og går tabt. DBNAME='monitor_db' # ← databasenavn, kan beholdes DBUSER='monitor_user' # ← databasebruger, kan beholdes DBPASS='CHOOSE_A_PASSWORD' # ← adgangskode, vælg din egen 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 # Kontrol (skal vise $DBNAME): mysql -u "$DBUSER" -p"$DBPASS" -e "SHOW DATABASES;" # Skriv de samme tre værdier i config.php → DB_NAME, DB_USER, DB_PASS.
Normalt behøver du ikke importere skemaet — panelet opretter selv tabellerne og admin-kontoen ved første besøg i browseren (fra database/db.sql), hvis databasen er tom.

Blev tabellerne ikke oprettet (panelet viser en databaseforbindelsesfejl eller en tom skærm i stedet for loginformularen) — så importér skemaet manuelt. Kommandoen køres i panelets rod, og værdierne tages fra blokken ovenfor:

# Import af skemaet: cd /var/www/monitor && mysql -u "$DBUSER" -p"$DBPASS" "$DBNAME" < database/db.sql # Kontrol — der skal vises en liste over tabeller: mysql -u "$DBUSER" -p"$DBPASS" "$DBNAME" -e "SHOW TABLES;"
Er variablerne $DBNAME / $DBUSER / $DBPASS allerede “glemt” (ny terminalsession) — så indsæt værdierne manuelt i kommandoen, eller sæt dem igen med de samme tre linjer fra blokken ovenfor.
sudo til webserveren. Normalt er reglerne allerede skrevet af den automatiske opsætning, og modulerne ser systemdata med det samme. Men stod linjen sudo rules NOT written i scriptets output — så var der intet at bestemme panelets konto ud fra (filerne var endnu ikke uploadet), og reglerne blev ikke oprettet. Uden dem forbliver afsnit som firewall, Fail2ban og CrowdSec tomme. Nu, hvor filerne er på plads, kører du kommandoen fra kontoen en gang til og angiver kontoen eksplicit:
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 udskifter du med den bruger, dit websteds PHP kører under (på et hostingpanel er det som regel domænets ejer). Du kan finde den sådan her:
ps -o user= -C php-fpm8.3 | sort -u # indsæt din egen version # eller: ps aux | grep -m3 '[p]hp-fpm'
Kontrol efter den nye kørsel: filen /etc/sudoers.d/monitor findes, og der står linjer i den med din bruger.

05. Konfiguration af config.php

config.php i roden af panelet (/var/www/monitor/config.php) er den eneste fil, du skal redigere manuelt. Alle panelets indstillinger er defineret her som define()-konstanter. Åbn den i en editor:

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

Indsæt dine egne værdier på de fremhævede steder; lad resten være som det er:

// --- Database (fra trin 04) --- define('DB_HOST', 'localhost'); // bevar define('DB_NAME', 'db_name'); // det du oprettede i trin 04 define('DB_USER', 'user'); // det du oprettede i trin 04 define('DB_PASS', 'db_password'); // det du angav i trin 04 define('DB_CHARSET', 'utf8mb4'); // bevar // --- Applikation --- define('APP_URL', 'https://monitor.example.com'); // panelets adresse, uden skråstreg til sidst define('TIMEZONE', 'Europe/Copenhagen'); // din tidszone // --- Sessionens varighed --- define('SESSION_LIFETIME', 28800); // inaktivitet før nyt login, sek. (28800 = 8 t)

Hvad der skal ændres:

  • DB_NAME, DB_USER, DB_PASS — nøjagtig samme databasenavn, bruger og adgangskode, som du angav, da du oprettede databasen i trin 04 (hvis du beholdt eksemplerne — monitor_db / monitor_user). Rør ikke ved DB_HOST og DB_CHARSET.
  • APP_URL — panelets fulde adresse med https://, uden skråstreg til sidst og uden www. Den skal svare til det domæne, du aktiverer licensen på (trin 07), ellers afvises nøglen.
  • TIMEZONE — din tidszone (liste — timedatectl list-timezones). Påvirker kun, hvordan panelet viser datoer; det påvirker ikke tidspunktet for cron-job (der gælder systemets tidszone).
  • SESSION_LIFETIME — efter hvor mange sekunders inaktivitet panelet beder dig logge ind igen (standard er 8 timer). F.eks. 3600 = 1 time, 86400 = et døgn.
  • Blokken til fejllogning (display_errors, log_errors, error_log) — behold standardværdierne.

Gem filen (Ctrl+O, Enter, derefter Ctrl+X) og genstart PHP-FPM — ellers træder ændringerne ikke i kraft på grund af OPcache:

sudo systemctl restart php*-fpm
config.php er en hemmelig fil (den indeholder databasens adgangskode). Den ligger i panelets rod, som også er webroden, men er beskyttet: rettigheder 640 (sat i trin 03) og et eksplicit forbud i den øverste .htaccess. Læg den ikke ud i offentlige repositories, og send den ikke til supporten med den rigtige adgangskode.
En detaljeret gennemgang af alle parametre — i FAQ: “Filen config.php — alle panelets indstillinger”.

06. Udsted SSL (HTTPS)

Dashboardet fungerer kun via HTTPS. Loginsessionen bruger en sikker cookie, og WebAuthn (2FA) fungerer efter standarden kun via HTTPS. Via http:// kan du ikke logge ind.
På en server med hostingpanel er dette trin ikke nødvendigt (i scriptets output: Certbot skipped — issue SSL in …). Certifikatet udstedes med Let's Encrypt-kontakten på webdomænet i selve panelet — så står panelet også for fornyelsen.

certbot og pluginet til Apache er allerede installeret af autokonfigurationen. Domænets DNS skal allerede pege på serveren (trin 02). Udstedelse med én kommando:

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

Skal panelet også kunne åbnes med www. — så angiv begge navne i én kommando, ellers viser browseren en certifikatadvarsel på den anden adresse:

sudo certbot --apache -d monitor.example.com -d www.monitor.example.com
Tilføj kun det andet navn, hvis der også findes en A-post for det, som peger på denne server (trin 02). Ellers kan Let's Encrypt ikke verificere det og udsteder slet ikke certifikatet — heller ikke for hoveddomænet.
Hvad certbot spørger om:
  1. Enter email address — din e-mail (dertil sendes påmindelser om, at certifikatet udløber).
  2. Terms of Service … (Y)es/(N)o — Y.
  3. Share email with the EFF … (Y)es/(N)o — efter eget valg.
Derefter udsteder certbot selv certifikatet, tilføjer <VirtualHost *:443>, opsætter viderestilling http→https og automatisk fornyelse. Til sidst — Successfully enabled HTTPS.
Hvis udstedelsen fejler — kontrollér, at dig +short monitor.example.com returnerer serverens IP, og at portene 80/443 er åbne (sudo ufw allow 80,443/tcp).

Efter udstedelsen: https://monitor.example.com åbnes med hængelås, og http:// viderestiller til https://.

07. Login og førstegangsopsætning

Åbn https://monitor.example.com, log ind som admin / useradmin, og gennemgå tjeklisten:

  1. Skift admin-adgangskode — afsnittet “Brugere” i menuen.
  2. Aktivér WebAuthn (2FA) — “WebAuthn-nøgler” → registrér nøgle/passkey (kræver HTTPS). Registrér to med det samme: hvis du mister din eneste nøgle, kan du ikke logge ind med den. Læs mere.
  3. Begræns adgang efter IP — “Indstillinger” → “Adgangsbegrænsning efter IP” (indtast din egen IP før aktivering, ellers lukker du dig selv ude).
  4. Indtast licens — aktivér aktiveringskoden ARCIVEO-… fra din konto på dit domæne, og indsæt nøglen i “Indstillinger” → “Licens”. Læs mere.
  5. Opsæt notifikationer — Telegram og/eller Email i “Indstillinger”. Læs mere.
  6. Slet installationsprogrammet public/start_db.php, hvis det stadig findes: det gør det muligt at genskabe databasen uden godkendelse. Så længe filen ligger i panelets rod eller i public/, advarer panelet om den med et rødt banner.
  7. Kør de første kontroller manuelt — ellers står en del af afsnittene tomme indtil i nat (se blokken nedenfor).
Hvorfor “Lynis-audit” og “Logwatch” er tomme fra start. Autokonfigurationen har installeret værktøjerne og oprettet cron-jobbene, men har ikke kørt selve kontrollerne — de går i gang efter tidsplanen: Lynis kl. 03:00, Logwatch kl. 06:00, debsums kl. 04:30, ClamAV kl. 01:30. Indtil da viser afsnittene helt ærligt, at der endnu ikke er nogen rapporter. For ikke at vente et døgn kan du køre dem én gang manuelt:
# Lynis-audit — den første rapport (nogle få minutter): sudo /usr/local/bin/lynis-scan.sh # Logwatch-rapport for det seneste døgn: sudo /usr/local/bin/logwatch_daily.sh # Pakkeintegritet (debsums) — tager lang tid på en stor server: sudo /usr/local/bin/debsums-scan.sh
Lynis kan også startes direkte fra panelet — knappen “Kør audit” på siden “Lynis-audit”: den kører det samme script i baggrunden og opdaterer selv rapporten. Derefter kører alt efter tidsplanen, og du behøver ikke starte noget manuelt mere.
Den første antivirusscanning (sudo /usr/local/bin/clamav-scan.sh) belaster disk og processor hårdt og kan tage en time eller mere — på en produktionsserver er det bedre at vente på den natlige kørsel kl. 01:30. Afsnittene “Diske (SMART)”, “Ydelse” og “Sikkerhedsopdateringer” fyldes af sig selv: henholdsvis hvert 30. minut, hvert 5. minut og en gang i timen.
Færdig. Opslagsværk for hvert værktøj finder du i FAQ.
Skal du have endnu et websted med sit eget domæne på denne server — se FAQ: “Et andet websted på denne server (endnu et domæne)”.