--- title: "WordPress" date: 2025-11-09 weight: 3 feedback: true draft: false --- WordPress is een veelgebruikte applicatie voor het bouwen van websites en blogs. In deze handleiding installeren we WordPress op een Debian server, uitgaand van het feit dat er al een werkende webserver aanwezig is met Apache. {{< notice "info" "Informatie" >}} Deze handleiding gaat uit van een Debian server met een basis Apache installatie zoals beschreven in het bovenliggende artikel **Apache**. {{< /notice >}} ## Benodigdheden - Een server met een Debian Linux installatie - Een domeinnaam - DNS ingesteld naar het IP-adres van de server - Een werkende webserver (Apache) die verzoeken voor jouw domein verwerkt - 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 ``` ## PHP en database installeren WordPress heeft PHP en een database nodig. In dit voorbeeld gebruiken we MariaDB als database. 1. Installeer PHP en de benodigde modules. ```bash sudo apt install php libapache2-mod-php php-mysql php-xml php-gd php-curl php-mbstring php-zip ``` 2. Installeer MariaDB server. ```bash sudo apt install mariadb-server ``` 3. Beveilig de MariaDB installatie (optioneel, maar aanbevolen). ```bash sudo mysql_secure_installation ``` 4. Maak een database en gebruiker voor WordPress. ```bash sudo mysql ``` Voer daarna in de MariaDB prompt de volgende opdrachten uit (pas wachtwoord en namen aan): ```sql CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'sterk-wachtwoord'; GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost'; FLUSH PRIVILEGES; EXIT; ``` ## WordPress bestanden voorbereiden We plaatsen WordPress in `/var/www/voorbeeld.nl/public`, zodat dit overeenkomt met de standaard webroot uit andere artikelen. 1. Download en pak WordPress uit. ```bash cd /tmp curl -O https://wordpress.org/latest.tar.gz tar xzf latest.tar.gz ``` 2. Maak de doelmap aan en kopieer de bestanden. ```bash sudo mkdir -p /var/www/voorbeeld.nl/public sudo cp -r /tmp/wordpress/* /var/www/voorbeeld.nl/public/ ``` 3. Maak een kopie van het configuratiebestand. ```bash cd /var/www/voorbeeld.nl/public sudo cp wp-config-sample.php wp-config.php ``` 4. Pas de database-instellingen aan in `wp-config.php`. ```bash sudo nano /var/www/voorbeeld.nl/public/wp-config.php ``` Vul bij de databasegegevens: ```php define( 'DB_NAME', 'wordpress' ); define( 'DB_USER', 'wp_user' ); define( 'DB_PASSWORD', 'sterk-wachtwoord' ); define( 'DB_HOST', 'localhost' ); ``` {{< notice "info" "Tip" >}} Genereer de unieke beveiligingssleutels via de officiƫle WordPress salt generator en plak deze in `wp-config.php` in plaats van de standaard waardes. {{< /notice >}} 5. Stel de juiste eigenaar en rechten in. ```bash sudo chown -R www-data:www-data /var/www/voorbeeld.nl sudo find /var/www/voorbeeld.nl -type d -exec chmod 750 {} \; sudo find /var/www/voorbeeld.nl -type f -exec chmod 640 {} \; ``` ### Apache configuratie {{< notice "info" "Informatie" >}} Verander in de code **voorbeeld** naar jouw domeinnaam, zonder `https://` of `www` tenzij letterlijk aangegeven zoals **voorbeeld.nl**. {{< /notice >}} 1. Open de bestaande site-configuratie voor jouw domein. ```bash sudo nano /etc/apache2/sites-available/voorbeeld.nl.conf ``` 2. Zorg ervoor dat de configuratie er ongeveer als volgt uitziet: ```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 ``` 3. Zorg dat de benodigde modules voor WordPress actief zijn. ```bash sudo a2enmod rewrite sudo systemctl reload apache2 ``` 4. Controleer de Apache configuratie en herlaad de service. ```bash sudo apache2ctl configtest sudo systemctl reload apache2 ``` ### CertBot voor Apache Installeer CertBot met de Apache plugin (als dit nog niet eerder gedaan is). ```bash sudo apt install certbot python3-certbot-apache ``` Vraag een certificaat aan voor jouw domein. ```bash sudo certbot --apache ``` Volg de stappen op met logische antwoorden, zoals het opgeven van jouw e-mailadres, de 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 >}} ## WordPress installatie afronden 1. Open de browser en ga naar jouw domein, bijvoorbeeld: - `http://voorbeeld.nl` of - `https://voorbeeld.nl` (na het instellen van letsencrypt) 2. Volg de stappen van de WordPress installatie: - Kies de taal - Vul de sitetitel in - Maak een beheerdersaccount aan - Bevestig en log in op het WordPress dashboard Je WordPress site is nu actief en bereikbaar via het door jou ingestelde domein als je Apache als webserver gebruikt.