122 lines
3.3 KiB
Markdown
122 lines
3.3 KiB
Markdown
---
|
|
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
|
|
<VirtualHost *:80>
|
|
ServerName voorbeeld.nl
|
|
ServerAlias www.voorbeeld.nl
|
|
|
|
DocumentRoot /var/www/voorbeeld.nl/public
|
|
|
|
<Directory /var/www/voorbeeld.nl/public>
|
|
Options Indexes FollowSymLinks
|
|
AllowOverride All
|
|
Require all granted
|
|
</Directory>
|
|
|
|
ErrorLog ${APACHE_LOG_DIR}/voorbeeld.nl-error.log
|
|
CustomLog ${APACHE_LOG_DIR}/voorbeeld.nl-access.log combined
|
|
</VirtualHost>
|
|
```
|
|
{{< 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
|
|
<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 via HTTPS, met een geldig letsencrypt certificaat. |