initial commit

This commit is contained in:
Jon Vanvik 2026-06-12 11:17:07 +02:00
commit 72a78b55fb
9 changed files with 2984 additions and 0 deletions

View file

@ -0,0 +1,100 @@
NetOps To-Do — Installasjon på Apache
======================================
KRAV
----
- Apache 2.4+ med mod_php ELLER php-fpm (PHP 7.4+ holder, 8.x anbefales)
- mod_rewrite aktivert (for .htaccess-reglene)
- AllowOverride All (eller minst AllowOverride AuthConfig Limit FileInfo)
i <Directory>-blokken som peker på denne mappa.
INSTALLASJON (3 steg)
---------------------
1. Kopier alt innholdet i denne mappa inn på webserveren, f.eks:
/var/www/netops-todo/
Strukturen skal være:
netops-todo/
├── index.php
├── api.php
├── seed.json
├── .htaccess
└── data/
└── .htaccess (nekter direkte web-tilgang)
2. Sett filrettigheter slik at Apache-brukeren kan skrive i data/:
chown -R www-data:www-data /var/www/netops-todo/data
chmod 750 /var/www/netops-todo/data
(bytt www-data med din Apache-bruker hvis den heter noe annet —
'httpd' på RHEL, 'apache' på CentOS, osv.)
3. Sett opp autentisering. Enkleste variant med Basic Auth:
sudo htpasswd -c /etc/apache2/netops.htpasswd jon
sudo htpasswd /etc/apache2/netops.htpasswd kari # flere brukere
Rediger deretter .htaccess i rot-mappa og fjern kommentar-tegnene på
blokk (1). Pek AuthUserFile til riktig path.
Restart/reload Apache: systemctl reload apache2
KONFIGURASJON AV APACHE VHOST
------------------------------
Hvis du kjører bak en reverse proxy (f.eks. nginx foran Apache),
sørg for at Apache får brukernavnet. Eksempel på vhost-snippet:
<Directory /var/www/netops-todo>
AllowOverride All
Require all granted
</Directory>
Hvis autentisering skjer i ytre proxy, send brukernavnet videre:
# i nginx-proxy: proxy_set_header X-Remote-User $remote_user;
# PHP leser automatisk HTTP_X_REMOTE_USER.
FØRSTE GANG DU ÅPNER SIDEN
--------------------------
Databasen (data/tasks.json) er tom. Siden viser en knapp
"Last inn eksempel-data" som fyller på med 16 typiske NetOps-oppgaver
for å demonstrere funksjonaliteten. Du kan slette alt og starte med
blank liste når som helst — bruk Eksporter/Importer for å ta backup.
BRUKERE OG EIERSKAP
-------------------
- Påloggingsbrukernavnet (fra Apache/proxy) vises som chip i header.
- Hver oppgave har et "Eier"-felt (owner) som kan settes til hvilket
som helst brukernavn, eller være tomt (utildelt).
- Ved ny oppgave settes eier automatisk til deg selv (kan endres).
- "Ta eierskap"-knapp (👤) på utildelte oppgaver.
- Filter: "Meg" / "Utildelt" / bruker-spesifikk / alle.
- Hver endring logges med createdBy/updatedBy/completedBy.
BACKUP
------
Alt ligger i data/tasks.json. Backup kan være en enkel cronjobb:
0 2 * * * cp /var/www/netops-todo/data/tasks.json \
/var/backups/netops-todo-$(date +\%F).json
Eller bruk "Eksporter"-knappen i UI for en manuell kopi.
FEILSØKING
----------
- "Uventet svar fra server" i toast → api.php ble ikke parset som PHP.
Sjekk at mod_php / php-fpm er aktivt og at Apache gjenkjenner .php.
- 403 Forbidden på data/tasks.json → det er riktig! Data-mappa er
sperret for direkte web-tilgang.
- "Kunne ikke opprette data-mappe" → Apache-brukeren mangler
skriverettigheter. Se steg 2 over.
- Brukernavn viser "anon" → autentisering er ikke satt opp, eller
proxy-en sender ikke REMOTE_USER videre.