HTML ApS · lab.htmlaps.dk

Velkommen, Christian

Din nye server står klar. Webserver, database og et komplet udviklingsmiljø er sat op og kører — du kan gå i gang med det samme.

Alle tjenester kører HTTPS aktiv

Hvad der er installeret

Versionsnumrene herunder aflæses direkte fra de kørende tjenester, hver gang siden hentes.

  • nginx

    1.26.3

    Webserver. Leverer HTML, CSS, JavaScript og billeder, og sender PHP videre til PHP-FPM.

  • PHP

    8.3.32

    Serverside-sprog. Kører gennem PHP-FPM med OPcache slået til.

  • MariaDB

    10.11.18

    Database. Fuldt MySQL-kompatibel. Databasen appdb er klar til brug.

  • Node.js

    22.23.1

    JavaScript-runtime til byggeværktøjer, pakkehåndtering og scripts.

  • Playwright

    1.62.1

    Browserautomatisering. Bruges til at teste sider i en rigtig browser.

Claude arbejder med på serveren

Claude Code er installeret direkte på maskinen og kan skrive kode, rette konfiguration, køre kommandoer og teste resultatet i en rigtig browser via Playwright — uden at du skal skifte mellem værktøjer.

Du starter en session ved at logge ind over SSH og skrive claude. Forbindelsen holdes åben i 24 timer, så en lang session ikke bliver afbrudt undervejs.

Sådan kommer du i gang

  1. Læg dine filer i webroot. Alt i /var/www/default/public serveres på lab.htmlaps.dk. Denne side er blot et udgangspunkt — overskriv den roligt.
  2. Brug databasen. Databasen appdb er oprettet med en bruger, der kun har adgang til netop den. Oplysningerne ligger i /etc/webapp/db.php, uden for webroot.
  3. Test i en browser. Playwright er klar i /srv/playwright og kan køre dine sider igennem Chromium og Firefox.
  4. HTTPS er allerede på plads. Certifikatet er udstedt af Let's Encrypt og fornyes automatisk. Al trafik på HTTP omdirigeres til HTTPS, så du behøver ikke tænke over det.

Sikkerhed

Ingen af tjenesterne kører som root — heller ikke deres masterprocesser. nginx binder port 80 med rettigheden CAP_NET_BIND_SERVICE i stedet for at være privilegeret, PHP kører som webapp, og databasen som mysql. De tre kan hver især ikke røre hinandens filer.