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.
