--- title: "Apache" date: 2025-11-08 weight: 3 feedback: true draft: false --- {{< notice "info" "Informatie">}} De instructies in dit artikel zijn uitsluitend voor de webserver, niet de site generator. {{< /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 ``` ## Apache ### Installatie Installeer Apache met het `apt` commando. ```bash sudo apt install apache2 ``` ### 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 Apache altijd start met de server. ```bash sudo systemctl enable --now apache2 ``` 2. Maak een nieuwe site configuratie op basis van de standaard instellingen. ```bash sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/voorbeeld.nl.conf ``` 3. Pas de inhoud met het programma `nano`. ```bash sudo nano /etc/apache2/sites-available/voorbeeld.nl.conf ``` ```apache ServerName voorbeeld.nl ServerAlias www.voorbeeld.nl DocumentRoot /var/www/voorbeeld.nl/public Options Indexes FollowSymLinks AllowOverride All Require all granted ErrorLog ${APACHE_LOG_DIR}/voorbeeld.nl-error.log CustomLog ${APACHE_LOG_DIR}/voorbeeld.nl-access.log combined ``` {{< notice "info" "Tip" >}} Je kan plakken in de terminal met CTRL + SHIFT + V {{< /notice >}} 4. Activeer de configuratie met het `a2ensite` commando. ```bash sudo a2ensite voorbeeld.nl.conf ``` 5. Controleer werking en herlaad Apache. ```bash sudo apache2ctl configtest sudo systemctl reload apache2 ``` ## CertBot ### Installatie Installeer CertBot met het `apt` commando. ```bash sudo apt install certbot python3-certbot-apache ``` ### Configuratie Genereer en implementeer een geldig certificaat met het volgende commando. ```bash sudo certbot --apache ``` Volg de stappen op met logische antwoorden, zoals het opgeven van jouw e-mailadres, selectie welke sites certificering moeten krijgen en of je HTTP automatisch naar HTTPS wilt laten doorsturen. {{< notice "info" "Tip" >}} Wil je liever je configuratie testen voordat je een certificaat ophaalt, gebruik dan de parameter `--dry-run`. ```bash sudo certbot --apache --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

Hallo wereld

``` 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 via HTTPS, met een geldig letsencrypt certificaat.