Het com­bi­ne­ren van Apache met WordPress werkt vaak zonder dat er updates of wij­zi­gin­gen aan de webserver nodig zijn. In sommige gevallen moet de ser­ver­toe­pas­sing echter worden bij­ge­werkt of ge­con­fi­gu­reerd om WordPress te kunnen uitvoeren. Leer hoe u Apache voor WordPress in­stal­leert en con­fi­gu­reert.

Wat zijn de vereisten voor Apache voor WordPress?

  • Een server met Linux
  • Be­heer­ders­rech­ten (root of sudo)

Hoe u uw Apache-versie kunt con­tro­le­ren

U kunt uw versie van Apache vinden met behulp van de volgende commando’s:

  • Ubuntu en Debian: sudo apache2 -v
  • CentOS, Fedora en RHEL: sudo httpd -v

Als u de be­tref­fen­de opdracht op uw Linux-systeem uitvoert, krijgt u in­for­ma­tie over uw Apache-server, inclusief het ver­sie­num­mer.

Afbeelding: Apache: Find out which version you have in the Ubuntu terminal
Find out which version you have in the Ubuntu terminal.

In het bo­ven­staan­de voorbeeld draait de Ubuntu-server Apache versie 2.4.52.

Hoe Apache bij te werken

De huidige versie van WordPress vereist Apache versie 2.4 of hoger. Zo kunt u ervoor zorgen dat de webserver com­pa­ti­bel is met de gebruikte PHP-editie (7.4+). Het zorgt er ook voor dat WordPress kan te­rug­val­len op de mod_rewrite. In onze digitale hand­lei­ding leest u hoe u PHP kunt in­stal­le­ren.

Opmerking

Het updaten van Apache van versie 2.2 naar 2.4 kan problemen ver­oor­za­ken met oudere web­soft­wa­re­pak­ket­ten. Lees de volgende lijst met wij­zi­gin­gen zorg­vul­dig door om er zeker van te zijn dat uw we­bap­pli­ca­tie niet wordt beïnvloed voordat u Apache upgradet.

Ubuntu en Debian

Op nieuwere Ubuntu- en Debian-systemen, waaronder Ubuntu 22.04, in­stal­leert u de nieuwste versie van Apache door eerst de pak­ket­be­heer­der bij te werken met de volgende opdracht:

sudo apt update
bash

De volgende stap is om de klassieke Apache2-in­stal­la­tie­op­dracht te gebruiken om de upgrade uit te voeren:

sudo apt install apache2
bash

CentOS, Fedora en RHEL

Op nieuwere CentOS- en RHEL/Fedora-dis­tri­bu­ties, waaronder CentOS 7, kunt u Apache bijwerken met behulp van het commando:

sudo yum update
bash
Opmerking

Als het commando niet werkt, moet u mogelijk eerst de EPEL-pak­ket­tool (Extra Packages for En­ter­pri­se Linux) in­stal­le­ren en con­fi­gu­re­ren. Op de officiële website van Red Hat vindt u een EPEL-in­stal­la­tie­hand­lei­ding voor RHEL en CentOS.

Hoe mod_rewrite te in­stal­le­ren

WordPress gebruikt Apache’s mod_rewrite rewrite-engine om URL’s door te sturen en te wijzigen.

mod_rewrite is standaard ge­ïn­stal­leerd op CentOS- en Red Hat-systemen. Om deze module op Ubuntu en Debian te in­stal­le­ren, gebruikt u de volgende opdracht:

sudo a2enmod rewrite
bash

Na de in­stal­la­tie moet u de Apache-services opnieuw opstarten met behulp van deze opdracht:

sudo systemctl restart apache2
bash

Ver­vol­gens regel je URL-her­schrij­vin­gen via een .htaccess -bestand.

Hoe mod_rewrite in Apache in­scha­ke­len

In sommige gevallen moet u Apache con­fi­gu­re­ren om mod_rewrite te kunnen uitvoeren. Hiervoor moet het Apache-con­fi­gu­ra­tie­be­stand dien­over­een­kom­stig worden aangepast. Het spe­ci­fie­ke bestand is af­han­ke­lijk van de web­hos­ting­con­fi­gu­ra­tie van uw server. Standaard is het be­lang­rijk­ste Apache-con­fi­gu­ra­tie­be­stand voor het primaire domein van uw server:

  • RHEL, Fedora en CentOS: /etc/httpd/conf/httpd.conf
  • Ubuntu en Debian: /etc/apache2/apache2.conf

Er kunnen ook af­zon­der­lij­ke Apache-con­fi­gu­ra­tie­be­stan­den voor elk af­zon­der­lijk domein zijn. Deze zijn meestal te vinden op:

  • RHEL, Fedora en CentOS: /etc/httpd/conf.d/[your domain name].conf
  • Ubuntu en Debian: /etc/apache2/sites-available/[your domain name].conf

Zodra u de locatie van het con­fi­gu­ra­tie­be­stand hebt gevonden, opent u het met een wil­le­keu­ri­ge tekst­edi­tor (be­heer­ders­rech­ten) en zoekt u naar het volgende:

AllowOverride None
text
Afbeelding: Apache configuration file: Activate mod_rewrite
Apache con­fi­gu­ra­ti­on file with mod_rewrite module turned off

Vervang nu de ver­mel­ding door het volgende:

AllowOverride All
Order allow,deny
Allow from all
text

Sla het bestand op en sluit het af, start ver­vol­gens Apache opnieuw op met het commando:

sudo systemctl restart apache2
bash
Ga naar hoofdmenu