NGINX
ESC

- Snel overzicht
  - Komt u in aanmerking?
  - Wat kost een mantelzorgwoning?
- Zoek uw gemeente
  - Drenthe
    - Aa en Hunze
    - Assen
  - Flevoland
  - Friesland
  - Gelderland
  - Groningen
  - Limburg
  - Noord-Brabant
  - Noord-Holland
  - Overijssel
  - Utrecht
  - Zuid-Holland
- Vergunning & wetgeving
  - NGINX
    - NextCloud (NGINX)
  - Docker
    - NextCloud (Docker)
  - Apache
    - NextCloud (Apache)
    - WordPress
- Voor bewoners
  - NGINX
    - NextCloud (NGINX)
  - Docker
    - NextCloud (Docker)
  - Apache
    - NextCloud (Apache)
    - WordPress
- Voor mantelzorgers
  - NGINX
    - NextCloud (NGINX)
  - Docker
    - NextCloud (Docker)
  - Apache
    - NextCloud (Apache)
    - WordPress

# NGINX

Informatie

De instructies in dit artikel zijn uitsluitend voor de webserver NGINX, niet de software die hierop geïnstalleerd gaat worden.

## Benodigdheden

- Een server met een Debian Linux installatie
- Een domeinnaam
- DNS ingesteld naar het IP-adres van de server
- Rechten als `su` of `sudo` om opdrachten als root uit te voeren.

## Voorbereiding

Zorg dat het systeem up-to-date is voordat je begint met installeren.

1. Log in met SSH.

    ssh gebruiker@server

2. Gebruik het `apt` commando om het systeem te updaten.

    sudo apt update && sudo apt upgrade

## NGINX

### Installatie

Installeer NGINX met het `apt` commando.

    sudo apt install nginx

### Configuratie

Informatie

Verander in de code voorbeeld naar jouw domeinnaam, zonder `https://` of `www` tenzij letterlijk aangegeven zoals voorbeeld.nl

1. Zorg dat NGINX altijd start met de server.

    sudo systemctl enable --now nginx

2. Kopieer de standaard site configuratie.

    sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/voorbeeld.nl

3. Pas de inhoud met het programma `nano`.

    sudo nano /etc/nginx/sites-available/voorbeeld.nl

    server {
        server_name voorbeeld.nl www.voorbeeld.nl;

        root /var/www/voorbeeld.nl/public/;
        index index.html;

        location / {
                try_files $uri $uri/ =404;
        }

        listen 80;
        listen [::]:80;

    }

Tip

Je kan plakken in de terminal met CTRL + SHIFT + V

4. Activeer de configuratie door een link te maken met het `ln` commando.

    sudo ln -s /etc/nginx/sites-available/voorbeeld.nl \
               /etc/nginx/sites-enabled/voorbeeld.nl

5. Controleer werking en herlaad NGINX.

    sudo nginx -t
    sudo systemctl reload nginx

## CertBot

### Installatie

Installeer CertBot met het `apt` commando.

    sudo apt install certbot python3-certbot-nginx

### Configuratie

Genereer en implementeer een geldig certificaat met het volgende commando.

    sudo certbot --nginx

Volg de stappen op met logische antwoorden, zoals het opgeven van jouw e-mailadres en selectie welke sites certificering moeten krijgen.

Tip

Wil je liever je configuratie testen voordat je een certificaat ophaalt, gebruik dan de parameter `--dry-run`.

    sudo certbot --nginx --dry-run

## Website activeren

1. Maak een index.html bestand. En geef deze een vorm van vulling, zoals voorbeeld hieronder.

    sudo mkdir -p /var/www/voorbeeld.nl/public
    sudo nano /var/www/voorbeeld.nl/public/index.html

    <html>
      <body>
        <h1>Hallo wereld</h1>
      </body>
    </html>

2. Wijs de omgeving toe aan de `www-data` gebruiker en groep, stel schrijfrechten in.

    sudo chown www-data:www-data /var/www/voorbeeld.nl -R
    sudo chmod -R g+rwX /var/www/voorbeeld.nl

3. Open de browser en ga naar je website toe, je zou nu de inhoud van de index.html moeten kunnen zien.

Deze website gebruikt uitsluitend noodzakelijke cookies en vervallen 2 dagen na laatste bezoek.