Hoe WordPress met Nginx op Debian 12 of 11 te installeren

WordPress is een krachtig en veelgebruikt contentmanagementsysteem (CMS) waarmee gebruikers eenvoudig websites kunnen maken en beheren. In combinatie met de LEMP-stack (Linux, NGINX, MariaDB, PHP) wordt WordPress een robuust en krachtig platform voor webontwikkeling. De LEMP-stack staat bekend om zijn efficiëntie, snelheid en schaalbaarheid, waardoor hij ideaal is voor het hosten van WordPress-websites. De belangrijkste kenmerken van WordPress zijn onder meer een intuïtieve interface, een uitgebreid plug-in-ecosysteem, aanpasbare thema’s en krachtige community-ondersteuning.

Volg deze stappen om WordPress op Debian 12 of 11 met NGINX, MariaDB en PHP te installeren. Deze handleiding behandelt de installatie van de LEMP-stack, de installatie van WordPress en essentiële configuraties om uw site soepel te laten werken.

Installeer LEMP voor WordPress

Update Debian voordat LEMP Stack wordt geïnstalleerd

Voordat u WordPress installeert, moet u uw Debian-systeem bijwerken om mogelijke conflicten te voorkomen. Open uw terminal en voer het volgende uit:

sudo apt update && sudo apt upgrade

Met deze opdracht worden beschikbare pakketten bijgewerkt en wordt uw systeem geüpgraded.

Installeer de benodigde pakketten

Zelfs als je een aantal essentiële pakketten voor WordPress hebt, controleer dan nog eens of je er geen hebt gemist. Voer de volgende opdracht uit:

sudo apt install curl git wget unzip zip

Met deze opdracht worden de benodigde pakketten voor WordPress geïnstalleerd of bevestigd.

Installeer Nginx – Deel 1 van LEMP-installatie

Om een ​​LEMP-stack in te stellen, moet u Nginx installeren. Voer deze opdracht uit:

sudo apt install nginx

Controleer na de installatie of Nginx actief is:

systemctl status nginx

Als de Nginx-service niet actief is, kunt u deze in beweging zetten met de volgende opdracht:

sudo systemctl enable nginx --now

Deze opdracht zorgt ervoor dat Nginx start bij elke herstart van de server, wat essentieel is voor een functionele LEMP-stack.

Opmerking: het is het beste om de nieuwste hoofdversie van Nginx te gebruiken om uw WordPress-prestaties te optimaliseren. Je kunt de gids volgen op Nginx Mainline installeren op Debian Linux om de nieuwste versie te installeren. Deze versie biedt extra functies en verbeteringen om de snelheid en algehele prestaties van uw website te verbeteren.

UFW-firewall instellen voor Nginx

Het configureren van de UFW-firewall met uw Nginx-server is cruciaal voor de veiligheid en om externe toegang tot standaard webpoorten mogelijk te maken. Het goede nieuws is dat Nginx profielen biedt die het UFW-installatieproces vereenvoudigen.

UFW installeren:

Als u UFW nog niet op uw Debian-systeem hebt geïnstalleerd, voer dan de onderstaande opdracht uit:

sudo apt install ufw

UFW activeren:

Eenmaal geïnstalleerd, is het tijd om UFW te activeren. Standaard blokkeert UFW alle inkomende verbindingen en staat alle uitgaande verbindingen toe. Activeer de firewall met:

sudo ufw enable

Nginx-profielen bekijken:

Voer het volgende uit om de Nginx-profielen te controleren die beschikbaar zijn voor UFW:

sudo ufw app list

Uit de uitvoer zul je merken dat:

  • Nginx werkt op poort 80 (HTTP)
  • Nginx Secure werkt op poort 443 (HTTPS)
  • Nginx Full omvat beide poorten

UFW configureren voor Nginx:

Als u zowel HTTP- als HTTPS-toegang wilt inschakelen, kiest u voor het Nginx Full-profiel:

sudo ufw allow 'Nginx Full'

Uw vereisten kunnen echter verschillen:

Voor alleen HTTPS-toegang kiest u het Nginx Secure-profiel:

sudo ufw allow 'Nginx Secure'

Alleen HTTP-toegang, gebruik het Nginx HTTP-profiel:

sudo ufw allow 'Nginx HTTP'

U kunt andere UFW-regels maken om uw server en LEMP-installatie met WordPress te beveiligen, en u moet tijd investeren in het vergrendelen van uw server als deze aan het publiek wordt blootgesteld.

Installeer MariaDB – Deel 2 van LEMP-installatie

MariaDB, bekend om zijn verbeterde prestaties ten opzichte van MySQL, is de databasecomponent in de LEMP-stack. Als je een specifieke versie van MariaDB uit de officiële repository's van MariaDB.org wilt installeren, raadpleeg dan de handleidingen op MariaDB installeren op Debian. Dit kan uw WordPress-prestaties verder optimaliseren.

Om MariaDB te installeren, voer je het volgende uit:

sudo apt install mariadb-server mariadb-client

Controleer na de installatie de status van MariaDB:

systemctl status mariadb

Met deze opdracht worden de servicestatus van MariaDB en eventuele fouten weergegeven.

Als MariaDB niet actief is, start u deze met:

sudo systemctl enable mariadb --now

Dit zorgt ervoor dat MariaDB start bij elke systeemherstart, wat essentieel is voor een stabiele LEMP-stack en WordPress-installatie.

Beveilig MariaDB met beveiligingsscript

Voor gegevensbescherming moet u uw MariaDB-installatie beveiligen. Nieuwe MariaDB-installaties kunnen lakse beveiligingsstandaarden hebben, waardoor ze worden blootgesteld aan bedreigingen. Het mysql_secure_installation-script kan echter de verdediging van uw database versterken.

Voer het beveiligingsscript uit:

sudo mysql_secure_installation

Dit script leidt u door verschillende beveiligingsconfiguraties:

  • Het root-wachtwoord instellen of kiezen voor de unix_socket voor preventie van ongeautoriseerde toegang.
  • Anonieme gebruikersaccounts verwijderen om databasetoegang te beperken tot geautoriseerde gebruikers.
  • Beperking van inloggen op afstand voor rootgebruikersaccounts.
  • Het verwijderen van de testdatabase om ongeautoriseerde toegang en mogelijke datalekken te voorkomen.

Beantwoord elke vraag aandachtig; deze instellingen hebben een grote invloed op de beveiliging van uw database. Na het voltooien van de stappen zou uw MariaDB-installatie veilig en operationeel moeten zijn.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Deze beveiligingsmaatregelen zorgen ervoor dat uw MariaDB-installatie veilig is en beschermd tegen bedreigingen.

Installeer PHP, PHP-FPM – Deel 3 van LEMP-installatie

Voor een volledige LEMP-stack moet u PHP installeren. PHP fungeert als de brug tussen Nginx en MariaDB, gefaciliteerd door PHP-FPM en andere essentiële modules voor WordPress.

Let op: Als je een specifieke PHP-versie wilt die is afgestemd op jouw behoeften, raadpleeg dan onze handleiding voor het installeren van PHP op Debian. Nieuwe gebruikers van Linux moeten voorlopig de standaard gebruiken voordat ze aangepaste versies installeren.

Voer de volgende opdracht uit om PHP, PHP-FPM en de vereiste modules te installeren:

sudo apt install php php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-imagick php-ldap php-intl

Controleer na de installatie de status van de PHP-service, die vergelijkbaar is met wat u deed voor MariaDB en Nginx. Voor dit voorbeeld gebruiken we PHP 7.4:

systemctl status php7.4-fpm

De uitvoer zou er als volgt uit moeten zien:

Opmerking: De PHP-FPM-versie varieert bij elke stabiele release van Debian. Als u niet zeker bent over uw versie, voert u het programma uit php -v Er achter komen.

Pre-installatieconfiguratie voor WordPress met LEMP

Maak een WordPress-directorystructuur

Om WordPress op uw Debian LEMP-stack te installeren, kunt u beide doen downloaden de nieuwste versie van de officiële WordPress.org-downloadpagina of gebruik de volgende opdracht om deze rechtstreeks te downloaden:

wget https://wordpress.org/latest.zip

Eenmaal gedownload, pak je het archief uit naar de map /var/www/html met behulp van de volgende opdracht:

sudo unzip latest.zip -d /var/www/html/

Zorg er vervolgens voor dat WordPress de juiste schrijfrechten heeft door de rechten van de directory-eigenaar in te stellen op de webservergebruiker.

Dit kan gedaan worden met het volgende commando:

sudo chown -R www-data:www-data /var/www/html/wordpress/

Nadat u de machtiging voor de mapeigenaar hebt ingesteld, moet u de juiste machtigingen voor de WordPress-mappen en -bestanden instellen met behulp van de volgende opdrachten:

Voor mappen:

sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;

En voor bestanden:

sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;

Door de juiste map- en bestandsrechten in te stellen, zorgt u ervoor dat uw WordPress-installatie veilig is en correct functioneert.

Maak een database voor WordPress

Om WordPress op uw Debian LEMP-stack uit te voeren, moet u een database aanmaken met behulp van MariaDB. Open de MariaDB-shell als root met behulp van de volgende opdracht:

sudo mariadb -u root

Eenmaal in de MariaDB-shell maakt u een nieuwe database met behulp van de volgende opdracht:

CREATE DATABASE WORDPRESSDB;

Maak vervolgens een nieuw gebruikersaccount voor WordPress met de volgende opdracht:

CREATE USER 'WPUSER'@localhost IDENTIFIED BY 'PASSWORD';

Opmerking: Vervang “WPUSER” en “PASSWORD” door uw gewenste gebruikersnaam en wachtwoord.

Wijs ten slotte de nieuw aangemaakte gebruikersaccounttoegang tot de WordPress-websitedatabase alleen toe met behulp van de volgende opdracht:

GRANT ALL PRIVILEGES ON WORDPRESSDB.* TO WPUSER@localhost IDENTIFIED BY 'PASSWORD';

Nadat u het gebruikersaccount hebt aangemaakt, wist u de rechten om ervoor te zorgen dat de nieuwe wijzigingen van kracht worden met de volgende opdracht:

FLUSH PRIVILEGES;

Sluit ten slotte de MariaDB-shell af door het volgende te typen:

EXIT;

Stel WordPress-configuratiebestanden in

Het instellen van de WordPress-configuratiebestanden is een essentiële stap in het installatieproces. Dit omvat het hernoemen van het voorbeeldbestand wp-config.php en het invoeren van de benodigde configuratiegegevens.

Navigeer naar de WordPress-map met behulp van de volgende opdracht:

cd /var/www/html/wordpress/

Kopieer de wp-config-sample.php naar wp-config.php met behulp van de volgende opdracht:

sudo cp wp-config-sample.php wp-config.php

Gebruik een teksteditor om het zojuist gekopieerde wp-config.php-bestand te openen:

sudo nano wp-config.php

Voer vervolgens indien nodig de databasenaam, het gebruikersaccount met een wachtwoord en het host-IP-adres in.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */ 

define( 'DB_NAME', 'WORDPRESSDB' );                 <--------------- change this

/* MySQL database username */ 

define( 'DB_USER', 'WPUSER );                               <--------------- change this

/* MySQL database password */

define( 'DB_PASSWORD', 'PASSWORD' );             <--------------- change this

/* MySQL hostname, change the IP here if external DB set up */ 

define( 'DB_HOST', 'localhost' );

/* Database Charset to use in creating database tables. */

define( 'DB_CHARSET', 'utf8' );

/* The Database Collate type. Don't change this if in doubt. */

define( 'DB_COLLATE', '' );

Naast deze instellingen kunt u ook het volgende aan het wp-config.php-bestand toevoegen om het WordPress-beheer te verbeteren:

/** ## Save files direct method ## */
define( 'FS_METHOD', 'direct' );

/** ## Increase memory limit, 256MB is recommended ## */
define('WP_MEMORY_LIMIT', '256M');

De geheugenlimiet van uw dedicated server of VPS kan variëren, afhankelijk van de capaciteit van uw systeem. U kunt de geheugenlimiet van 256 MB in kleine stappen verhogen of verlagen, zoals 128 MB, 256 MB, 512 MB, enz.

Opmerking: Het is belangrijk op te merken dat het wordt aanbevolen om slechts kleine aanpassingen aan de geheugenlimiet aan te brengen voor optimale prestaties en stabiliteit.

Implementatie van WordPress Security Salt-sleutels

Het verbeteren van de beveiliging van uw WordPress-installatie is van het grootste belang, en een effectieve manier om dit te bereiken is door het instellen van WordPress-beveiligingszoutsleutels. Deze sleutels fungeren als een verbeterd beveiligingsschild, waardoor uw WordPress-site wordt versterkt tegen potentiële bedreigingen en de gebruikersauthenticatie en gegevensversleuteling worden versterkt.

Beveiligingszoutsleutels genereren

Om uw security salt-sleutels te maken, navigeert u naar de WordPress geheime sleutel-API: https://api.wordpress.org/secret-key/1.1/salt/. Zodra u deze sleutels heeft gegenereerd, is het essentieel om de tijdelijke aanduidingsregels in uw wp-config.php-bestand te vervangen door uw unieke sleutels. Deze stap versterkt de gebruikersauthenticatie en gegevenscodering.

Opmerking: gebruik de voorbeeldregels die hier of elders worden gegeven niet, aangezien deze ter illustratie zijn. Het gebruik van vooraf ingestelde salt-sleutels kan uw site blootstellen aan kwetsbaarheden. Genereer altijd afzonderlijke sleutels voor elke WordPress-installatie om optimale beveiliging te garanderen.

Beveiligingszoutsleutels integreren

Om de nieuw gegenereerde security salt-sleutels in uw wp-config.php-bestand in te sluiten, opent u het bestand in een teksteditor:

sudo nano /var/www/html/wordpress/wp-config.php

Identificeer nu de regels in het wp-config.php-bestand die overeenkomen met de voorbeeldsleutels. Eenmaal gevonden, vervangt u elke voorbeeldsleutel in het wp-config.php-bestand door uw nieuw gegenereerde sleutels. Nadat u de noodzakelijke vervangingen heeft uitgevoerd, moet u ervoor zorgen dat u het bestand opslaat en sluit.

Als u de nano-editor gebruikt, slaat u deze op door op “CTRL+X” te drukken, gevolgd door “Y”.

Nginx-serverblokconfiguratie voor WordPress LEMP-installatie

Het correct instellen van het Nginx-serverblok is essentieel voor een naadloze WordPress-installatie via de webgebruikersinterface. Het is essentieel om de “try_files $uri $uri/ /index.php?$args;” te verkrijgen directief recht. Het weglaten van de “?$args” kan de REST API van WordPress verstoren. Om mogelijke problemen tijdens de installatie te voorkomen, dient u deze instructies nauwkeurig op te volgen.

Maak een nieuw serverconfiguratiebestand voor uw WordPress-installatie op Nginx. Vervang “example.com” door uw daadwerkelijke domeinnaam in de volgende opdracht:

sudo nano /etc/nginx/sites-available/example.com.conf

Om Nginx met PHP te laten werken, moet je de “location ~ .php$” opnemen in het configuratiebestand van het serverblok. Hier is een voorbeeldconfiguratie die u als referentie kunt gebruiken.

Zorg ervoor dat u het rootpad en de domeinnamen aanpast aan uw configuratie:

server {
  listen 80;
  listen [::]:80;
  server_name www.example.com example.com;
  root /var/www/html/wordpress;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php?$args;
  }

  location ~* /wp-sitemap.*\.xml {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  client_max_body_size 100M;

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 128k;
    fastcgi_intercept_errors on;
  }

  gzip on;
  gzip_comp_level 6;
  gzip_min_length 1000;
  gzip_proxied any;
  gzip_disable "msie6";
  gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;

  location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
    expires 90d;
    access_log off;
  }

  location ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
    add_header Access-Control-Allow-Origin "*";
    expires 90d;
    access_log off;
  }

  location ~ /\.ht {
    access_log off;
    log_not_found off;
    deny all;
  }
}

Denk eraan dat u het Nginx-configuratiebestand dienovereenkomstig moet aanpassen als u een andere PHP- of PHP-FPM-versie hebt geïnstalleerd of als uw Debian-versie standaard een andere PHP-versie gebruikt.

Voor PHP-FPM 8.2 wijzigt u bijvoorbeeld de regel fastcgi_pass unix:/run/php/php8.1-fpm.sock; naar fastcgi_pass unix:/run/php/php8.2-fpm.sock;. Voor een soepele functionaliteit is het essentieel dat de versie in de configuratie overeenkomt met die op uw systeem.

Het WordPress Nginx-serverblok begrijpen

Voor degenen die nieuw zijn bij het instellen van Nginx en WordPress, hier is een overzicht van het voorbeeld van het serverblok:

Basis serverinstellingen:

  • Deze instellingen definiëren de fundamentele aspecten van het serverblok, zoals het IP-adres, de poort waarop Nginx kan luisteren en servernamen.
  • De rootrichtlijn verwijst naar de primaire map die de websitebestanden bevat.
  • De indexrichtlijn instrueert Nginx over het identificeren van indexbestanden bij het bedienen van de site.

Locatie instellingen:

  • Deze instellingen omvatten verschillende locatieblokken die bepalen hoe Nginx verzoeken voor verschillende URL's verwerkt.
  • Het initiële locatieblok beheert verzoeken aan de hoofd-URL van de site, met behulp van de try_files-richtlijn.
  • Het daaropvolgende locatieblok verwerkt verzoeken specifiek voor het WordPress sitemap.xml-bestand.

PHP-verwerkingsinstellingen:

  • Deze instellingen bepalen hoe Nginx PHP-bestanden verwerkt.
  • De fastcgi_pass-instructie verwijst naar de locatie van het PHP-FPM-socketbestand.
  • De fastcgi_param richtlijn wijst de waarde van de parameter SCRIPT_FILENAME toe aan de locatie van het aangevraagde PHP-bestand.
  • De include-richtlijnen halen aanvullende configuratiebestanden op voor de FastCGI-module.
  • Richtlijnen zoals fastcgi_buffer_size en fastcgi_buffers geven de buffergrootte aan voor gegevensoverdracht tussen Nginx en PHP-FPM.
  • De fastcgi_intercept_errors richtlijn stelt Nginx in staat om PHP-fouten vast te leggen en te beheren.

Gzip-compressie-instellingen:

  • Deze instellingen configureren de Gzip-compressie, waardoor de bestandsgrootte die aan de client wordt geleverd, wordt verkleind.
  • De gzip-richtlijn activeert Gzip-compressie.
  • Richtlijnen zoals gzip_comp_level en gzip_min_length bepalen respectievelijk het compressieniveau en de minimale bestandsgrootte voor compressie.
  • De gzip_proxied richtlijn identificeert welke verzoektypen compressie ondergaan.
  • De gzip_types richtlijn somt de MIME-typen op die in aanmerking komen voor compressie.

Instellingen voor bestandscache:

  • Deze instellingen optimaliseren de caching voor statische bestanden, waardoor de snelheid van de website wordt verbeterd.
  • Het initiële locatieblok bepaalt de vervalduur voor activa- en mediabestanden.
  • Het daaropvolgende locatieblok stelt de vervaldatum voor lettertype- en SVG-bestanden in.
  • Richtlijnen zoals access_log en log_not_found regelen het loggen van verzoeken.
  • De add_header-richtlijn voegt de Access-Control-Allow-Origin-header toe, waardoor het laden van lettertypen en SVG vanuit externe domeinen mogelijk wordt.

.htaccess-bestand blokkeren:

  • Deze instelling beperkt de toegang tot bestanden die beginnen met .ht, doorgaans gevoelige serverconfiguratiebestanden.

Het Nginx-serverblok instellen met een symbolische link

Om de Nginx-serverblokconfiguratie af te ronden, moet u het configuratiebestand activeren vanuit de map “sites-available”. Dit wordt bereikt door een symbolische link te maken naar de map “sites-enabled”.

Voer de onderstaande opdracht uit en zorg ervoor dat u “example.com.conf” vervangt door de naam van uw configuratiebestand:

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Deze opdracht brengt een symbolische link tot stand tussen de mappen, waardoor Nginx toegang krijgt tot het configuratiebestand. Nadat u dit hebt ingesteld, valideert u de configuratie met:

sudo nginx -t

Als de test geen fouten retourneert, start u Nginx opnieuw op om de wijzigingen in het serverblok toe te passen:

sudo systemctl restart nginx

Nu deze stappen zijn voltooid, zou uw WordPress-site nu toegankelijk moeten zijn via Nginx.

PHP.ini configureren voor optimale WordPress-prestaties

Het afstemmen van uw PHP-instellingen is cruciaal voor het behalen van de beste prestaties met WordPress. Om mediabestanden efficiënt te verwerken in WordPress, kunt u overwegen de maximale uploadgrootte, berichtgrootte en geheugenlimiet te verhogen. Mogelijk moet u ook de maximale uitvoeringstijd en invoervariabelen aanpassen om mogelijke problemen te voorkomen.

Gebruik de terminal om toegang te krijgen tot uw php.ini-bestand. Houd er rekening mee dat de locatie van het bestand kan verschillen, afhankelijk van uw PHP-versie:

sudo nano /etc/php/8.0/fpm/php.ini
sudo nano /etc/php/8.1/fpm/php.ini
sudo nano /etc/php/8.2/fpm/php.ini
sudo nano /etc/php/8.3/fpm/php.ini

Om de PHP-instellingen aan te passen, zoekt en past u de volgende regels in uw php.ini-bestand aan:

##increase this to the maximum file size you want to upload, recommended 50 to 100MB## 
 upload_max_filesize = 100M

##increase this to the maximum post size you want to allow, recommended 50 to 100MB##
 post_max_size = 100M

##increase this to the maximum execution time, recommended 150 to 300 seconds##
 max_execution_time = 300

##increase this to the maximum GET/POST/COOKIE input variables, recommended 5000 to 10000##
max_input_vars = 5000

##increase this to the maximum memory limit, recommended 256MB or 512MB. Note that you should ensure your system has enough RAM before raising this.##
memory_limit = 256M

Na het wijzigen van uw PHP-instellingen is het van cruciaal belang dat u de PHP-FPM-server opnieuw opstart. Dit zorgt ervoor dat de nieuwe configuraties actief zijn, waardoor uw WordPress-site optimaal kan functioneren.

Verhoog de maximale lichaamsgrootte van de Nginx Server Client

Om grotere bestandsuploads op uw WordPress-site mogelijk te maken, moet u het Nginx-serverblok aanpassen. Dit zorgt ervoor dat Nginx grotere HTTP-verzoeklichamen kan verwerken, wat essentieel is bij het omgaan met omvangrijke bestandsuploads.

Het Nginx-serverblok aanpassen

Open uw serverblokconfiguratiebestand en voeg de volgende regel in:

##set to the maximum upload size you set in upload_max_filesize.##
client_max_body_size – <size>

Zorg ervoor dat de waarde voor client_max_body_size overeenkomt met de upload_max_filesize die u in uw PHP-instellingen heeft geconfigureerd.

PHP-FPM opnieuw opstarten

Na het aanpassen van de PHP-instellingen voor optimale WordPress-prestaties, inclusief uploadgrootte, berichtgrootte en geheugenlimiet, is het van cruciaal belang om de PHP-FPM-server opnieuw op te starten om de wijzigingen door te voeren. Het exacte commando om de server opnieuw op te starten is afhankelijk van uw PHP-versie. Als u niet zeker bent over uw PHP-versie, raadpleeg dan de documentatie van uw systeem.

Gebruik voor verschillende PHP-versies de bijbehorende opdrachten om PHP-FPM opnieuw te starten:

sudo systemctl restart php8.0-fpm
sudo systemctl restart php8.1-fpm
sudo systemctl restart php8.2-fpm
sudo systemctl restart php8.3-fpm

Installeer WordPress Frontend

Nadat u de backend-installatie en -configuratie hebt afgerond, is het tijd om de WordPress-frontend op uw domein te lanceren. Start de installatie door naar uw domein te gaan, voorafgegaan door "https://" of "http://". U kunt ook rechtstreeks naar "https://www.yoursite.com/wp-admin/install.php" gaan.

Deze URL verwijst u naar de front-end installatiewizard.

Stap 1: Selecteer WordPress-taal

Selecteer de gewenste taal en klik "Doorgaan."

Stap 2: Maak een beheerdersgebruiker voor WordPress

Vervolgens komt u op een pagina terecht waar u wordt gevraagd de titel van uw site, gebruikersnaam, wachtwoord en het e-mailadres van de hoofdbeheerder voor de WordPress-site in te voeren.

Kies om veiligheidsredenen een robuust wachtwoord en geef een geldig e-mailadres op. Houd er rekening mee dat u later andere instellingen kunt wijzigen in het WordPress-instellingenpaneel.

Voor degenen die hun site ontwikkelen en deze privé willen houden voor zoekmachines zoals Google of Bing, is er een optie om “zoekmachines sterk te ontmoedigen om te indexeren.”

Stap 3: Ga verder en klik op de WordPress-knop installeren

Nadat u uw gegevens en voorkeuren heeft ingevuld, klikt u op de “WordPress installeren” knop. Bij een succesvolle installatie wordt u doorgestuurd naar de inlogpagina.

Stap 4: Ga verder met inloggen op de WordPress-beheerderspagina

Voer uw inloggegevens in en druk op ‘Inloggen’. Deze actie leidt u naar het WordPress-dashboard, waar u uw website kunt maken of importeren.

Stap 5: Bekijk en pas de WordPress site aan via WordPress Admin

Het WordPress-dashboard is uw commandocentrum. Hier kunt u nieuwe berichten opstellen, pagina's ontwerpen, thema's en plug-ins beheren en het uiterlijk, de inhoud en de werking van uw site aanpassen.

Dankzij de gebruiksvriendelijke interface kunt u met het dashboard snel uw website opzetten, zodat u met minimale inspanning een boeiende en professionele site kunt ontwerpen.

Aanvullende tips voor WordPress met Nginx

WordPress en Nginx beveiligen met Let's Encrypt SSL-certificaat

Het verbeteren van de beveiliging van uw webserver is van het grootste belang, en een effectieve manier om dit te bereiken is door Nginx op HTTPS te draaien met behulp van een SSL-certificaat. Let's Encrypt biedt een gratis, geautomatiseerde en open certificeringsinstantie, waardoor het instellen van SSL-certificaten voor uw Nginx-server eenvoudiger wordt.

Certbot installeren

Begin met het installeren van het certbot-pakket met de opdracht:

sudo apt install python3-certbot-nginx

Het SSL-certificaat genereren

Nadat u het certbot-pakket heeft geïnstalleerd, genereert u uw SSL-certificaat met het volgende:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

Certbot zal u tijdens dit proces vragen om uw e-mailadres en domeinnaam in te voeren. Je hebt ook de mogelijkheid om e-mails van de EFF te ontvangen. Bepaal of u zich wilt aanmelden op basis van uw voorkeuren.

Na installatie van het certificaat verandert de URL van uw website van HTTP naar HTTPS. Bezoekers die toegang krijgen tot de oude HTTP-URL, worden automatisch doorgestuurd naar de nieuwe HTTPS-URL. Deze configuratie zorgt voor HTTPS 301-omleidingen, een Strict-Transport-Security-header en OCSP-nieten voor eersteklas beveiliging.

Automatische certificaatvernieuwing instellen

Om uw SSL-certificaat geldig te houden, stelt u een cron-taak in voor automatische verlenging. Certbot biedt hiervoor een script aan. Voer een drooglooptest uit voordat u de installatie voltooit:

sudo certbot renew --dry-run

Ga naar de crontab-configuratie, voer het volgende in:

sudo crontab -e

Om uw SSL-certificaat automatisch te verlengen, plant u het met behulp van een cron-job met de volgende opdracht:

00 00 */1 * * /usr/sbin/certbot-auto renew

Er wordt geprobeerd het certificaat elke dag om middernacht te vernieuwen.

PHP-sessiefouten oplossen

Heeft u problemen met het opslaan van sessies, vooral bij het gebruik van bepaalde plug-ins? De oorzaak van het probleem kan liggen in onjuiste gebruikersrechten in de map /var/lib/php/sessions/. Maar maak je geen zorgen; u kunt dit aanpakken met een eenvoudig commando.

Directory-machtigingen aanpassen

Voer de onderstaande opdracht uit om de juiste machtigingen in te stellen:

sudo chown -R www-data:www-data /var/lib/php/sessions/

Met deze opdracht wordt de www-data-gebruiker en -groep ingesteld als de eigenaren van de sessiemap. Als gevolg hiervan kan WordPress sessiegegevens zonder problemen schrijven. Deze aanpassing is essentieel voor de naadloze werking van uw WordPress-site, vooral als u plug-ins gebruikt die geautomatiseerde taken uitvoeren, zoals posten op sociale media.

Het aanpakken van PHP-sessiefouten is de sleutel tot het verbeteren van de prestaties van uw website en het verbeteren van de gebruikerservaring.

HTTPS-omleidingslus in WordPress oplossen

Als uw WordPress-site na het activeren van HTTPS vast komt te zitten in een omleidingslus, komt dit waarschijnlijk doordat WordPress blijft proberen om te leiden naar de veilige HTTPS-versie, maar de lus wordt nooit voltooid. Om dit aan te pakken, kunt u uw wp-config.php-bestand aanpassen met specifieke coderegels.

Het wp-config.php-bestand wijzigen

Voeg de volgende regels in uw wp-config.php in:

define('FORCE_SSL_ADMIN', true);

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
    $_SERVER['HTTPS'] = 'on';
}

Hier is een overzicht van wat elke regel doet:

  • De eerste regel stelt de constante FORCE_SSL_ADMIN in op true, zodat alle beheerderspagina's HTTPS gebruiken.
  • De daaropvolgende code controleert of de HTTP_X_FORWARDED_PROTO-header de term ‘https’ bevat. Als er een overeenkomst wordt gevonden, wordt de HTTPS-servervariabele aangeduid als 'aan'. Deze actie informeert WordPress dat de verbinding veilig is.

Door deze regels in uw wp-config.php-bestand te integreren, zou u zich moeten kunnen losmaken van de HTTPS-omleidingslus en ervoor kunnen zorgen dat uw WordPress-site soepel werkt met de nieuwe beveiligde verbinding.

Redirect-lus voor domeinnamen repareren

Een omleidingslus op uw WordPress-site kan soms voortkomen uit een discrepantie tussen de domeinnaam die is opgegeven in uw wp-config.php-bestand en de domeinnaam van uw website. Om dit op te lossen, moet u de domeinnaam verifiëren en eventueel aanpassen in de configuratie.

Het wp-config.php-bestand controleren

Inspecteer de volgende regels in uw wp-config.php:

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Als de domeinnaam niet overeenkomt met het domein van uw website, corrigeert u deze dienovereenkomstig.

Conclusie

Als WordPress met succes op uw Debian-systeem is geïnstalleerd met behulp van de LEMP-stack, kunt u profiteren van de krachtige functies en robuuste prestaties. Update uw WordPress-installatie en componenten van de LEMP-stack regelmatig om optimale beveiliging en functionaliteit te garanderen. Geniet van de flexibiliteit en uitgebreide mogelijkheden die WordPress en de LEMP-stack bieden voor het maken en beheren van uw website.

Joshua James
Volg mij
Laatste berichten van Joshua James (alles zien)

Plaats een reactie