121 lines
3.2 KiB
Markdown
121 lines
3.2 KiB
Markdown
---
|
|
title: "NGINX"
|
|
date: 2025-11-08
|
|
weight: 1
|
|
feedback: true
|
|
draft: false
|
|
---
|
|
|
|
{{< notice "info" "Informatie">}}
|
|
De instructies in dit artikel zijn uitsluitend voor de webserver NGINX, niet de software die hierop geïnstalleerd gaat worden.
|
|
{{< /notice >}}
|
|
|
|
## 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.
|
|
```bash
|
|
ssh gebruiker@server
|
|
```
|
|
2. Gebruik het `apt` commando om het systeem te updaten.
|
|
```bash
|
|
sudo apt update && sudo apt upgrade
|
|
```
|
|
## NGINX
|
|
### Installatie
|
|
Installeer NGINX met het `apt` commando.
|
|
```bash
|
|
sudo apt install nginx
|
|
```
|
|
|
|
### Configuratie
|
|
{{< notice "info" "Informatie" >}}
|
|
Verander in de code **voorbeeld** naar jouw domeinnaam, zonder `https://` of `www` tenzij letterlijk aangegeven zoals **voorbeeld.nl**
|
|
{{< /notice >}}
|
|
|
|
1. Zorg dat NGINX altijd start met de server.
|
|
```bash
|
|
sudo systemctl enable --now nginx
|
|
```
|
|
2. Kopieer de standaard site configuratie.
|
|
```bash
|
|
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/voorbeeld.nl
|
|
```
|
|
3. Pas de inhoud met het programma `nano`.
|
|
```bash
|
|
sudo nano /etc/nginx/sites-available/voorbeeld.nl
|
|
```
|
|
```nginx
|
|
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;
|
|
|
|
}
|
|
```
|
|
{{< notice "info" "Tip" >}}
|
|
Je kan plakken in de terminal met CTRL + SHIFT + V
|
|
{{< /notice >}}
|
|
4. Activeer de configuratie door een link te maken met het `ln` commando.
|
|
```bash
|
|
sudo ln -s /etc/nginx/sites-available/voorbeeld.nl \
|
|
/etc/nginx/sites-enabled/voorbeeld.nl
|
|
```
|
|
5. Controleer werking en herlaad NGINX.
|
|
```bash
|
|
sudo nginx -t
|
|
sudo systemctl reload nginx
|
|
```
|
|
|
|
## CertBot
|
|
### Installatie
|
|
Installeer CertBot met het `apt` commando.
|
|
|
|
```bash
|
|
sudo apt install certbot python3-certbot-nginx
|
|
```
|
|
### Configuratie
|
|
Genereer en implementeer een geldig certificaat met het volgende commando.
|
|
```bash
|
|
sudo certbot --nginx
|
|
```
|
|
Volg de stappen op met logische antwoorden, zoals het opgeven van jouw e-mailadres en selectie welke sites certificering moeten krijgen.
|
|
{{< notice "info" "Tip" >}}
|
|
Wil je liever je configuratie testen voordat je een certificaat ophaalt, gebruik dan de parameter `--dry-run`.
|
|
```
|
|
sudo certbot --nginx --dry-run
|
|
```
|
|
{{< /notice >}}
|
|
|
|
## Website activeren
|
|
1. Maak een index.html bestand. En geef deze een vorm van vulling, zoals voorbeeld hieronder.
|
|
```bash
|
|
sudo mkdir -p /var/www/voorbeeld.nl/public
|
|
sudo nano /var/www/voorbeeld.nl/public/index.html
|
|
```
|
|
```html
|
|
<html>
|
|
<body>
|
|
<h1>Hallo wereld</h1>
|
|
</body>
|
|
</html>
|
|
```
|
|
2. Wijs de omgeving toe aan de `www-data` gebruiker en groep, stel schrijfrechten in.
|
|
```bash
|
|
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. |