Ik heb recent mijn site opnieuw gemaakt. Hiervoor maakte ik altijd gebruik van een “Static site generator”, een script dat markdown bestanden omzetten naar HTML. Omdat ik nu WordPress gebruik is het nuttig dat ik kijk naar het optimaliseren van de performantie van mijn site.
Categorie archieven: Devops
Dynamische login banners in Linux
Ik was een aantal servers aan het herinstalleren met Debian Trixie, en ik dacht dat het wel leuk was als ik een dynamische login banner maakte die wat nuttige informatie toont na het inloggen.
Zet het volgende in /etc/update-motd.d/20-sysinfo
#!/bin/bash
echo "----------------------------------------"
echo "System Information as of: $(date)"
echo "Hostname: $(hostname)"
echo "Uptime : $(uptime -p)"
echo "Load : $(cat /proc/loadavg)"
echo "Memory : $(free -h | awk '/Mem:/ { print $3 " / " $2 }')"
echo "Disk : $(df -h / | awk '/\// { print $3 " / " $2 }')"
echo "IP Addr : $(hostname -I | awk '{ print $1 }')"
echo "Users : $(who | wc -l) logged in"
echo "----------------------------------------"
En maak het vervolgens uitvoerbaar (chmod +x /etc/update-motd.d/20-sysinfo
)
Als je nu inlogt, zou je systeeminformatie moeten zien.
Cachen met Apache en mod_cache
Een van de eenvoudigste manieren om de performantie van een drukke website te verbeteren is om caching toe te voegen. Er zijn verschillende manieren waarmee dit kan gebeuren: Je kan objecten cachen in code (met Memcached en Redis), of je kan de responses cachen met Varnish, Nginx of in dit geval met Apache’s mod_cache. Ik raad dit op zich niet aan in productie, maar omdat ik Apache gebruik als webserver leek het me een leuk experiment, zonder veel extra configuratie te moeten toevoegen.
Automatische HTTPS met Apache
HTTPS is de dag van vandaag een must voor een website. Er zijn tools om certificaten automatisch aan te vragen (certbot etc), en webservers die gekend zijn om dit automatisch te doen (zoals Caddy), maar wist je dat je met Apache ook geen nood hebt voor Certbot? Met mod_md kan je apache automatisch HTTPS certificaten laten aanvragen via ACME (hetzelfde systeem dat Certbot en de caddy server gebruiken).
Debian herinstalleren over SSH
Ik wou onlangs mijn nuc herinstalleren, maar omdat er geen scherm is waar mijn nuc staat (hij draait momenteel als headless server), besloot ik om te experimenteren met de Debian installer over SSH. Tijdens het installeren moest ik wel even mijn Nuc gaan halen en aan een scherm hangen (omdat ik een typo gemaakt had), maar ik ben er wel in geslaagd om Debian volledig over SSH te installeren. In deze post ga ik over het proces dat ik gebruikt heb om dit te doen.
Hot-plugging CPU/RAM in proxmox
Proxmox heeft de mogelijkheid om CPU en Ram te hot-pluggen. Hiermee kan je de hoeveelheid wijzigen, zonder de VM te moeten herstarten. Om dit te doen moeten we wel enkele aanpassingen maken aan onze VM’s.
Server monitoring met prometheus en grafana
Het monitoren van servers is een cruciaal element om alles soepel draaiende te houden. Ik gebruik hiervoor Prometheus en grafana om een overzicht te hebben op het resourcegebruik. In deze post licht ik toe hoe ik Prometheus en Grafana heb geconfigureerd.
Een Proxmox cluster maken
Proxmox is een platform dat je toelaat om virtuele machines te beheren met een webinterface. Het heeft veel functies zoals High-availablility met automatische failover, en clustering. In deze post zal ik toelichten hoe je clustering met HA kunt toepassen.
Lees verder
Cloudinit basics
Cloudinit is een manier om virtuele machines (in bijvoorbeeld Proxmox) op te zetten met enkele standaardwaarden zoals gebruikers, ssh-keys, standaardpakketten of bepaalde commando’s dat moeten uitgevoerd worden. In deze post zal ik de basis toelichten.
Proxmox templates maken
Ik gebruik proxmox in mijn homelab om VM’s te draaien maar standaard moet je elke VM installeren vanaf een iso. Gelukkig kan je templates maken en ze met cloud init opzetten. In deze post toon ik hoe ik mijn images maak.