Jump to content

Drift/Nettsiden

From Programvareverkstedet
Revision as of 16:53, 17 August 2025 by Danio (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Nettsiden kjører for tiden på Maskiner/bekkalokk. Nettsiden er skrevet i PHP, og er laget av pvv-medlemmer, for pvv-medlemmer (og andre som kommer innom). PHP-biten blir prossesert av php-fpm, som får forespørslene sine gjennom nginx.

I backenden bruker vi Mariadb (MySQL) for å lagre diverse data som hendelser og prosjekter. Databasen som blir brukt heter www-data_nettside, med tilhørende bruker www-data_nettsi (sannsynligvis fra en tid hvor vi hadde begrensninger på navnelengde)

Det kan også være verdt å nevne at nginx har en liste med lenker som for det meste redirecter til diverse wiki sider, for å unngå døde lenker.

Autentisering

Nettsiden bruker sin egen kopi av SimpleSAMLphp for autentisering, som blir lastet ned som en vanlig dependency gjennom composer. Den brukes som klient for å snakke med SAML identity provideren (IDP) (som tilfeldigvis også er SimpleSAMLphp, men er satt opp ganske ulikt). Nettsiden er registrert med flere domener i identity provideren.

Oppdatere nettsiden i produksjon

Ettersom nettsiden blir servert fra en NixOS maskin, må man oppdatere innholdet i flake.lock-filen i NixOS konfigurasjonsfilene hver gang man skal sette nye endringer i produksjon. Det kan man gjøre på følgende måte

  1. Sørg for at nix er installert på PC-en og at flake support er skrudd på (alternativt bruk --experimental-features flagget).
  2. Klon NixOS konfigurasjonsfilene
  3. Kjør nix flake update pvv-nettsiden
  4. Lag en commit med nytt innhold i flake.lock og push til gitea eller lag en PR.
  5. Enten vent en natt så maskinen får bygget seg selv på nytt automatisk, eller utfør et manuelt gjenbygg.

Kildekode

Kildekoden for nettsiden finner du her: https://git.pvv.ntnu.no/Projects/nettsiden

Du finner også konfigurasjonen for nettsiden i NixOS konfigurasjonsfilene, og nettsiden sin NixOS modul.

Historie

Nettsiden har tidligere kjørt på Maskiner/Spikkjeposche, men ble flytta da vi oppgraderte til PHP 8.