Logo van White Birch Technologies
White Birch Technologies - Tutorial

NGINX, MySQL installeren op Ubuntu 20.04 LTS voor WordPress Hosting

Leer in deze stapsgewijze tutorial hoe u NGINX, MySQL op Ubuntu 20.04 LTS voor WordPress-hosting installeert en configureert. Perfect voor Linux-gebruikers die een WordPress-website willen hosten
Afbeelding NGINX logo

Inhoudsopgave

Introductie

Welkom bij onze tutorial over het installeren van NGINX, MySQL op Ubuntu 20.04 LTS om een ​​WordPress-website te hosten! In deze handleiding leert u hoe u een krachtige, betrouwbare webserver en databaseserver opzet om uw WordPress-website te hosten. We leiden je stap voor stap door het proces, zodat je alles hebt wat je nodig hebt om je website in een mum van tijd aan de praat te krijgen.

Benodigdheden

Hier zijn de vereisten die je nodig hebt om de tutorial te starten over het installeren van NGINX, MySQL op Ubuntu 20.04 LTS om een ​​WordPress-website te hosten:

  • Een machine met Ubuntu 20.04 LTS. U kunt Ubuntu op een fysieke machine installeren of een virtuele machine gebruiken.
  • Een gebruikersaccount met sudo-privileges.
  • Een basiskennis van de Linux-opdrachtregel.
  • Een domeinnaam en DNS-records die naar uw server verwijzen.
  • Een geldig SSL-certificaat (optioneel, maar aanbevolen).

U kunt via een van onze partners netcup, een Linux systeem aanschaffen voor een laag maandelijkse prijs, perfect om deze tutorial mee te volgen:

Reclame netcup
Webhosting, domeinen, servers, root-servers

Zorg ervoor dat u aan al deze vereisten voldoet voordat u met de zelfstudie begint. Als u hulp nodig heeft bij een van deze stappen, kunt u de documentatie raadplegen of hulp zoeken bij een gekwalificeerde professional.

Stap 1 - Een domein registreren

Voordat u uw WordPress-website kunt hosten, moet u een domeinnaam registreren. Uw domeinnaam is het adres dat bezoekers zullen gebruiken om toegang te krijgen tot uw website, dus het is een belangrijk onderdeel van uw online aanwezigheid. Er zijn veel bedrijven die domeinregistratieservices aanbieden en u kunt meestal kiezen uit verschillende topniveaudomeinen (TLD’s), zoals .com, .net of .org.

Bij het kiezen van een domeinnaam zijn er een aantal zaken waar je op moet letten:

  • Kies een domeinnaam die gemakkelijk te onthouden en te spellen is.
  • Vermijd indien mogelijk het gebruik van koppeltekens of cijfers.
  • Zorg ervoor dat de domeinnaam relevant is voor uw website.
  • Controleer of de domeinnaam beschikbaar is voordat u deze registreert.

Nadat u een domeinnaam heeft gekozen, moet u deze registreren bij een domeinregistreerder. Dit proces omvat meestal het invullen van een registratieformulier en het betalen van een vergoeding. Sommige domeinregistreerders bieden ook aanvullende diensten aan, zoals privacybescherming of DNS-hosting. Zorg ervoor dat u de kleine lettertjes leest voordat u uw domein registreert, aangezien de algemene voorwaarden per registrar kunnen verschillen.

Stap 2 - DNS-records instellen

Om straks uw ​​WordPress website te benaderen, moet u de vereiste DNS-records toevoegen aan de DNS-configuratie van uw domein. U moet met name een “A-record” toevoegen dat verwijst naar het IP-adres van uw server en een “CNAME-record” dat verwijst naar uw “www-subdomein”. Als het IP-adres van uw server bijvoorbeeld “123.456.789.000” is en uw domeinnaam “voorbeeld.nl” is, moet uw DNS-configuratie de volgende records bevatten:

  • A-record waar het domein “voorbeeld.nl” wijst naar “123.456.789.000”.
  • CNAME-record waar het sub-domein “www” wijst naar “voorbeeld.nl”

U moet deze records toevoegen aan de DNS-configuratie van uw domein met behulp van de hulpprogramma’s van uw domeinregistrar of DNS-hostingprovider. Neem contact op met uw provider voor specifieke instructies over het toevoegen van DNS-records. Nadat u de vereiste records heeft toegevoegd, kan het enige tijd duren voordat de wijzigingen op internet zijn doorgevoerd. U kunt een tool zoals “dig” of “nslookup” gebruiken om de status van uw DNS-records te controleren en te bevestigen dat ze correct zijn. Zodra uw DNS-records correct zijn ingesteld, zou u toegang moeten hebben tot uw WordPress-site met uw domeinnaam en HTTPS.

Hier is een voorbeeld hoe White Birch Technologies de A-record en CNAME-record heeft ingesteld, u kunt hetzelfde doen door ons domein naam te vervangen met uw domein naam:

Voorbeeld 1: A-Record Instellen via Cloudflare

Uitleg instellen a-record cloudflare

Voorbeeld 2: CNAME-Record Instellen via Cloudflare

Stap 3 - Firewall configureren

Het beveiligen van uw server is een belangrijk aspect van het hosten van een website. Een manier om dit te doen is door een firewall te configureren om inkomend en uitgaand netwerkverkeer te controleren. In deze sectie laten we u zien hoe u de ufw-opdracht gebruikt om firewallregels in te stellen voor uw NGINX-webserver.

De eerste stap bij het configureren van een firewall is het instellen van het standaardbeleid om inkomend verkeer te weigeren en uitgaand verkeer toe te staan. Dit zorgt ervoor dat al het verkeer dat niet expliciet is toegestaan ​​door uw firewallregels wordt geblokkeerd. Om het standaardbeleid in te stellen, kunt u de volgende opdrachten gebruiken:

				
					ufw default deny incoming
ufw default allow outgoing
				
			

Vervolgens moet u extra firewall regels toevoegen om verkeer op specifieke poorten toe te staan. De volgende regels staan ​​inkomend en uitgaand verkeer toe op poorten 80 en 443 voor HTTP- en HTTPS-verkeer, evenals inkomend en uitgaand verkeer op poorten 22, 53 en 123 voor respectievelijk SSH-, DNS- en NTP-verkeer.

				
					ufw allow in 80/tcp comment "NGINX Managed - Sta inkomende HTTP verkeer toe"
ufw allow in 443/tcp comment "NGINX Managed - Sta inkomende HTTPS verkeer toe"
ufw allow out 80/tcp comment "NGINX Managed - Sta uitgaande HTTP verkeer toe"
ufw allow out 443/tcp comment "NGINX Managed - Sta uitgaande HTTPS verkeer toe"
ufw allow in 22/tcp comment "LINUX Managed - Sta inkomende SSH verkeer toe"
ufw allow in 53/tcp comment "LINUX Managed - Sta inkomende DNS verkeer toe"
ufw allow in 123/udp comment "LINUX Managed - Sta inkomende NTP verkeer toe"
ufw allow out 53/tcp comment "LINUX Managed - Sta uitgaande DNS verkeer toe"
				
			

Het is vermeldenswaard dat de opmerkingen binnen de firewallregels optioneel zijn, maar ze zijn nuttig om firewallregels beter beheersbaar en leesbaarder te maken. Nadat u uw firewallregels hebt toegevoegd, kunt u de commando ‘ufw status‘ gebruiken om de status van uw firewall te controleren en te bevestigen dat uw regels van kracht zijn. Als u klaar bent kunt u het volgende commando gebruiken om uw firewall regels te activeren:

				
					ufw status verbose # Status van de firewall bekijken.
ufw enable # Activeren van de firewall.
ufw reload # Herladen van de firewall.
				
			

Het is belangrijk om in gedachten te houden dat deze configuratie slechts een voorbeeld is voor een eenvoudige webserver. Mogelijk moet u de regels aanpassen aan uw specifieke behoeften. Vergeet niet om altijd uw firewallregels te testen voordat u ze in een productieomgeving implementeert en zorg ervoor dat uw firewall up-to-date is met de nieuwste beveiligingspatches. Meer informatie over firewall regels kunt u hier vinden: hier

Stap 4 - NGINX Installeren

Er zijn twee belangrijke manieren om NGINX op Ubuntu te installeren: installeren vanaf de bron of installeren vanuit de officiële Ubuntu-repository.

Het installeren van NGINX vanaf de bron omvat het downloaden van de broncode, het compileren ervan en het installeren op uw systeem. Deze methode zorgt voor meer maatwerk en de nieuwste versie van NGINX. Het vereist echter ook wat meer technische kennis en kan tijdrovend zijn. Bovendien moet u updates en upgrades van de software handmatig afhandelen.

De tweede optie, die we voor deze tutorial zullen gebruiken, is om NGINX te installeren vanuit de officiële Ubuntu-repository. Deze methode is eenvoudiger en vereist minder technische kennis. De pakketbeheerder (apt) zal alle afhankelijkheden en upgrades voor u afhandelen. Bovendien heb je toegang tot dezelfde versie van NGINX als die in de officiële Ubuntu-repository. Het is echter mogelijk dat u geen toegang heeft tot de nieuwste versie van NGINX en minder controle hebt over het installatieproces.

Voor deze tutorial gebruiken we de tweede optie, NGINX installeren vanuit de officiële Ubuntu-repository, omdat dit de eenvoudigste manier is om aan de slag te gaan en het door velen veel wordt gebruikt. Deze methode is gemakkelijk te volgen en zorgt ervoor dat je een stabiele versie van NGINX hebt geïnstalleerd.

				
					sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install nginx
				
			

Met de bovenstaande commando’s wordt de nieuwste stabiele versie van NGINX geïnstalleerd vanuit de officiële Ubuntu-repository. De eerste opdracht werkt de pakketlijst bij en de tweede opdracht installeert NGINX.

U kunt ook controleren of de NGINX service actief is en deze tijdens het opstarten inschakelen met de volgende opdrachten:

				
					sudo systemctl status nginx
sudo systemctl enable nginx
				
			

Het is belangrijk op te merken dat als u NGINX liever vanaf de bron installeert, u een andere reeks stappen moet volgen waarbij u de broncode downloadt, compileert en op uw systeem installeert. Als u vanaf de bron installeert, moet u ook handmatig updates en upgrades afhandelen.

Houd er rekening mee dat de bovenstaande opdrachten ervan uitgaan dat u beheerdersrechten hebt op de computer waarop u NGINX installeert. Zorg er ook altijd voor dat uw software up-to-date blijft door regelmatig updates uit te voeren met de opdracht ‘sudo apt update‘ en ‘sudo apt upgrade‘. Hieronder kunt u zien dat wij met de bovenstaande commando’s onze NGINX webserver konden installeren:

Afbeelding code om NGINX te installeren

Stap 5 - MySQL Installeren

MySQL is een populair open-source relationeel databasebeheersysteem dat kan worden gebruikt om de gegevens voor uw WordPress-website op te slaan en te beheren. In deze zelfstudie laten we u zien hoe u MySQL op Ubuntu 20.04 LTS installeert en een gebruiker voor uw WordPress-website maakt.

Om MySQL op Ubuntu 20.04 LTS te installeren, opent u een terminal en voert u de volgende opdrachten uit:

				
					sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install mysql-server
				
			

Hiermee wordt de nieuwste stabiele versie van MySQL geïnstalleerd vanuit de officiële Ubuntu-repository. De eerste opdracht werkt de pakketlijst bij en de tweede opdracht installeert MySQL.

Zodra de installatie is voltooid, kunt u de status van de MySQL-service controleren en MySQL inschakelen om te starten bij het opstarten met de volgende opdrachten:

				
					sudo systemctl status mysql
sudo systemctl enable mysql
				
			

Na het installeren van MySQL is het belangrijk om het te beveiligen door de opdracht ‘mysql_secure_installation uit te voeren. Deze opdracht helpt je bij het instellen van een root-wachtwoord, het verwijderen van anonieme gebruikers en het weigeren van root-login op afstand. Gebruik het volgende commando om het beveiligings proces van MySQL te starten:

				
					sudo mysql_secure_installation
				
			

Stap 6 - PHP en PHP-FPM Installeren

Stap 7 - WordPress installeren met WP CLI

Stap 8 - SSL/TLS Configureren (Optioneel)

SSL (Secure Sockets Layer) is een protocol dat wordt gebruikt om de communicatie tussen een webserver en een client te beveiligen. Hoewel het niet strikt noodzakelijk is om SSL voor een WordPress-website te installeren, wordt het ten zeerste aanbevolen, omdat het helpt om uw site en de gegevens van uw gebruikers te beschermen. SSL helpt ook om uw positie in zoekmachines te verbeteren en kan de geloofwaardigheid van uw site vergroten.

Om SSL op uw server te installeren, heeft u een geldig SSL-certificaat nodig. Er zijn veel bedrijven die SSL-certificaten aanbieden en u kunt kiezen uit verschillende opties, zoals certificaten voor één domein, meerdere domeinen of wildcards. Zorg ervoor dat u de kleine lettertjes leest en kies een certificaat dat aan uw behoeften voldoet.

Let’s Encrypt is een gratis, open-source certificeringsinstantie (CA) die SSL-certificaten voor websites levert. Een van de voordelen van het gebruik van Let’s Encrypt is dat het het proces van het verkrijgen en verlengen van SSL-certificaten automatiseert, waardoor het gemakkelijk wordt om uw website te beveiligen met minimale inspanning. Om Let’s Encrypt te gebruiken, moet u de Certbot-client op uw server installeren:

				
					sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install certbot python3-certbot-nginx
				
			

Zodra u de benodigde pakketten heeft geinstallerd, is het mogelijk om een SSL-certificaat aan te vragen via Let’s Encrypt:

				
					sudo certbot --nginx -d voorbeeld.nl -d www.voorbeeld.nl
				
			

Als het aanvragen van een SSL/TLS certificaat gelukt is via Let’s Encrypt, dan krijgt u de volgende melding te zien:

				
					Output
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/voorbeeld.nl/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/voorbeeld.nl/privkey.pem
   Your cert will expire on 2023-04-01. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le
				
			

Om uw SSL-certificaat op uw server te installeren, moet u NGINX configureren om de certificaat- en sleutelbestanden te gebruiken. U kunt dit doen door het bestand nginx.conf te bewerken en de volgende regels toe te voegen:

				
					server {
    listen 443 ssl;
    ssl_certificate /etc/letsencrypt/live/voorbeeld.nl/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/voorbeeld.nl/privkey.pem;
}
				
			

Zorg ervoor dat u /path/to/ssl_certificate.crt en /path/to/ssl_certificate.key vervangt door de daadwerkelijke paden naar uw certificaat- en sleutelbestanden.

Nadat u NGINX hebt geconfigureerd om uw SSL-certificaat te gebruiken, moet u uw configuratie testen om er zeker van te zijn dat alles correct werkt. U kunt dit doen door uw website te bezoeken via ‘https’ in plaats van ‘http’. Als alles correct werkt, zou u een slotpictogram in de adresbalk van uw browser moeten zien, wat aangeeft dat uw verbinding veilig is.
Afbeelding van https slot
https slotpictgram in de adresbalk van uw browser

Als u problemen ondervindt met uw SSL-configuratie, moet u mogelijk problemen met uw installatie oplossen of aanvullende bronnen raadplegen voor hulp. Onthoud dat het beveiligen van uw website een belangrijk onderdeel is van het behouden van een veilige en betrouwbare online aanwezigheid, dus wees niet bang om hulp te zoeken als u die nodig heeft.

Stap 9 - Testen en problemen oplossen

NGINX foutmelding bij het opstarten

Dit kan gebeuren als er een syntaxisfout is in het NGINX-configuratiebestand of als een andere service al dezelfde poort gebruikt.

Om dit op te lossen, controleert u het NGINX logbestand op /var/log/nginx/error.log op eventuele syntaxisfouten en corrigeert u deze. Controleer vervolgens of een andere service dezelfde poort gebruikt door de volgende commando’s te gebruiken:

				
					sudo lsof -i :80 
sudo lsof -i :443
				
			

Als een andere service dezelfde poort gebruikt, kunt u die service stoppen of NGINX configureren om een ​​andere poort te gebruiken.

MySQL foutmelding bij het opstarten

Dit kan gebeuren als de MySQL-gegevensdirectory niet toegankelijk is of als er een probleem is met het MySQL-configuratiebestand. Om dit op te lossen, controleert u het MySQL logbestand op /var/log/mysql/error.log voor eventuele problemen.

				
					# Als je Nano als texteditor gebruikt:
sudo nano /var/log/mysql/error.log

# Als je VIM als texteditor gebruikt:
sudo vim /var/log/mysql/error.log
				
			

Zorg ervoor dat de MySQL-gegevensdirectory toegankelijk is en de juiste machtigingen heeft. U kunt ook het MySQL-configuratiebestand op /etc/mysql/my.cnf controleren op eventuele problemen.

WordPress website is niet toegankelijk

Zorg ervoor dat de MySQL-gegevensdirectory toegankelijk is en de juiste machtigingen heeft. U kunt ook het MySQL-configuratiebestand op /etc/mysql/my.cnf controleren op eventuele problemen.

SSL-certificaat werkt niet

Zorg ervoor dat de MySQL-gegevensdirectory toegankelijk is en de juiste machtigingen heeft. U kunt ook het MySQL-configuratiebestand op /etc/mysql/my.cnf controleren op eventuele problemen.

Firewall blokkeert netwerkverkeer

Zorg ervoor dat de MySQL-gegevensdirectory toegankelijk is en de juiste machtigingen heeft. U kunt ook het MySQL-configuratiebestand op /etc/mysql/my.cnf controleren op eventuele problemen.

Conclusie

Gefeliciteerd met het voltooien van deze tutorial! Door de stappen in deze handleiding te volgen, zou u nu een werkende installatie van NGINX, MySQL op Ubuntu moeten hebben, klaar om uw WordPress-website te hosten. U zou nu toegang moeten hebben tot uw WordPress-site met uw domeinnaam en de standaard welkomstpagina van WordPress kunnen zien.

Dit is natuurlijk nog maar het begin. Er zijn veel aanvullende stappen die u kunt nemen om uw installatie te optimaliseren en uw WordPress-site aan te passen. U kunt bijvoorbeeld extra plug-ins of thema’s installeren om de functionaliteit van uw site te verbeteren. U kunt ook overwegen om uw site te beveiligen met SSL en uw firewall te configureren om u te beschermen tegen mogelijke bedreigingen.

We hopen dat je deze tutorial nuttig vond en we moedigen je aan om door te gaan met leren en de wereld van IT te verkennen. Bedankt voor het kiezen van White Birch Technologies als uw bron voor kennis en vaardigheden.

Deel deze tutorial:
Facebook
Twitter
LinkedIn
WhatsApp

Veel gestelde vragen (FAQ)

Ja, je hebt een geregistreerde domeinnaam nodig om een ​​WordPress-website te hosten. Uw domeinnaam is het adres dat bezoekers zullen gebruiken om toegang te krijgen tot uw website, en het is een belangrijk onderdeel van uw online aanwezigheid.

Ja, u kunt een VPS gebruiken om uw WordPress-website te hosten. Een VPS is een virtuele machine die speciale bronnen voor uw website biedt, en het is een goede optie voor het hosten van WordPress-sites.

Ja, PHP is een programmeertaal die wordt gebruikt door WordPress en vele andere applicaties. U moet PHP op uw server installeren om WordPress te kunnen gebruiken.

U kunt elke versie van Ubuntu gebruiken die wordt ondersteund door WordPress, maar deze tutorial behandelt specifiek de installatie op Ubuntu 20.04 LTS. Als u een andere versie van Ubuntu gebruikt, moet u mogelijk de instructies dienovereenkomstig aanpassen.

SSL (Secure Sockets Layer) is een protocol dat wordt gebruikt om de communicatie tussen een webserver en een client te beveiligen. Hoewel het niet strikt noodzakelijk is om SSL voor een WordPress-website te installeren, wordt het ten zeerste aanbevolen, omdat het helpt om uw site en de gegevens van uw gebruikers te beschermen. SSL helpt ook om uw positie in zoekmachines te verbeteren en kan de geloofwaardigheid van uw site vergroten.

Licentie

Hierbij wordt kosteloos toestemming verleend aan elke persoon die een kopie van deze software en bijbehorende documentatiebestanden (de “Software”) verkrijgt, om zonder beperking in de Software te handelen, inclusief maar niet beperkt tot de rechten om te gebruiken, kopiëren, wijzigen, samenvoegen , publiceren, distribueren, sublicentiëren en/of verkopen van kopieën van de Software, en om personen aan wie de Software wordt geleverd toe te staan ​​dit te doen, met inachtneming van de volgende voorwaarden:

De bovenstaande copyrightmelding en deze toestemmingsmelding zullen worden opgenomen in alle kopieën of substantiële delen van de Software.

DE SOFTWARE WORDT GELEVERD “AS IS”, ZONDER ENIGE VORM VAN GARANTIE, EXPLICIET OF IMPLICIET, MET INBEGRIP VAN MAAR NIET BEPERKT TOT DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL EN NIET-INBREUKMAKENDHEID. IN GEEN GEVAL ZULLEN DE AUTEURS OF AUTEURSRECHTHOUDERS AANSPRAKELIJK ZIJN VOOR ENIGE CLAIM, SCHADE OF ANDERE AANSPRAKELIJKHEID, HETZIJ IN EEN OVEREENKOMST, ONRECHTMATIGE DAAD OF ANDERSZINS, VOORTVLOEIEND UIT, UIT OF IN VERBAND MET DE SOFTWARE OF HET GEBRUIK OF ANDERE HANDELINGEN IN DE SOFTWARE.

Disclaimer