Nginx webserver updaten in DirectAdmin
Zo zet je nginx op DirectAdmin op de versie die je wilt, bouw je hem opnieuw met CustomBuild en controleer je dat alles daarna nog werkt. De versienummers op deze pagina komen rechtstreeks van nginx.org en zijn dus altijd actueel.
Actueel op nginx.org
Deze pagina kijkt elke zes uur op nginx.org/en/download.html. Mainline krijgt als eerste nieuwe functies en reparaties; stable krijgt alleen nog grote reparaties. Wij draaien mainline: daar komen beveiligingsreparaties het eerst in, en HTTP/3 werkt er het best.
Stap 1: systeem en CustomBuild bijwerken
Werk eerst het besturingssysteem en CustomBuild zelf bij, en kijk welke versies er nu staan. da build is de opdracht van DirectAdmin 1.6x en nieuwer; het oude ./build in de map custombuild werkt nog, maar hoeft niet meer.
dnf -y update da build update da build versions | grep -iA1 nginx nginx -v
da build versions eindigt met een foutcode als er een update klaarstaat. Gebruik je het in een script met set -e of pipefail, zet er dan || true achter, anders stopt je script daar stil.
Stap 2: de versie kiezen
Een versienummer zet je niet met da build set: dat werkt alleen op de opties uit options.conf, en een versie staat daar niet tussen. Je krijgt dan nginx_version is not a valid option. Een vaste versie zet je in custom_versions.txt in de map custombuild, in de vorm nginx:<versie>. Kies hieronder een versie of typ er zelf een; het commando past zich meteen aan.
Dat is geen volledig versienummer. Gebruik drie getallen met punten, zoals de knoppen hierboven.
cd /usr/local/directadmin/custombuild touch custom_versions.txt sed -i '/^nginx:/d' custom_versions.txt echo "nginx:1.31.8" >> custom_versions.txt cat custom_versions.txt
Kies je wat CustomBuild zelf kent, dan gaat de vaste versie er juist uit en bouwt CustomBuild de versie uit zijn eigen lijst (versions.txt). Die loopt soms een paar dagen achter op nginx.org. De sed-regel raakt alleen de regel die met nginx: begint, zodat vastgezette versies van andere software blijven staan; met > custom_versions.txt zou je die allemaal wissen.
Stap 3: nginx opnieuw bouwen
CustomBuild haalt de broncode zelf op bij nginx.org (je ziet downloading 'https://nginx.org/download/nginx-<versie>.tar.gz' voorbijkomen) en zet hem in custombuild/cache/. Zelf iets downloaden hoeft dus niet. Het bouwen duurt een paar minuten; de sites blijven bereikbaar tot nginx aan het eind opnieuw start.
da build nginx nginx -t && systemctl reload nginx
Heb je ook de sjablonen of de nginx-instellingen van DirectAdmin aangepast? Dan moeten de configuratiebestanden opnieuw worden geschreven. Let op: da build rewrite_confs herstart nginx hard, ook als de nieuwe configuratie een fout bevat. Dan ligt nginx eruit. Laat DirectAdmin daarom eerst alleen de bestanden schrijven, test, en herlaad pas daarna.
echo "action=rewrite&value=nginx" >> /usr/local/directadmin/data/task.queue sleep 70 nginx -t && systemctl reload nginx
Stap 4: controleren
nginx -v nginx -t systemctl is-active nginx da build versions | grep -iA1 nginx curl -sI --http2 https://$(hostname -f) | head -1
nginx -v laat zien welke versie nu draait en nginx -t of de configuratie klopt. Zolang er een vaste versie in custom_versions.txt staat, toont da build versions die als "nieuwste" en niet wat er werkelijk bij nginx.org ligt. Kijk daarom voor de echte stand op deze pagina of op nginx.org. Gebruik je HTTP/3, test dan ook even met http3check.net.
Terug naar de vorige versie
Gedraagt de nieuwe versie zich vreemd? Zet de vorige versie terug in custom_versions.txt en bouw opnieuw. Welke versie er eerst stond, zie je in het logboek van CustomBuild.
grep -i "nginx .* installed" /usr/local/directadmin/custombuild/custombuild.log | tail -5 cd /usr/local/directadmin/custombuild sed -i '/^nginx:/d' custom_versions.txt echo "nginx:<vorige versie>" >> custom_versions.txt da build nginx nginx -t && systemctl reload nginx
Veelgemaakte fouten
- Een versie die niet bestaat. Een tikfout in het versienummer geeft een downloadfout (404). Kies de versie uit de lijst hierboven.
- De vaste versie vergeten. Staat er nog een oude
nginx:-regel incustom_versions.txt, dan blijft CustomBuild die versie bouwen, ook nada build update. - Eigen nginx-instellingen in het verkeerde bestand. Wijzigingen in de gegenereerde
nginx.confvan een gebruiker zijn bij de volgende herschrijving weg. Blijvende aanpassingen horen incustombuild/custom/nginx/conf/, in eigen sjablonen onderdata/templates/custom/, of per domein in de Custom HTTPD Configurations. ssl_stapling onin een oud sjabloon. Let's Encrypt levert geen OCSP meer, enssl_staplinggaat niet samen metssl_certificate_compression. Zet stapling uit voordat je compressie aanzet, anders weigertnginx -tde configuratie.
Door Theo Lodewijk · 13 februari 2026, bijgewerkt 24 oktober 2026
nginx -t voordat je herlaadt.Hulp nodig met DirectAdmin, Rspamd of mail filtering?
Loopt een update vast, of wil je hulp bij het inrichten van een DirectAdmin-server? Neem contact op.