Webserver installeren op Ubuntu 20.04

Om een webserver op te kunnen zetten, heb je een Linux installatie nodig. Als je deze niet hebt, kun je het beste onze tutorial/artikel lezen over hoe je Ubuntu installeert op een VPS of via Virtual box. Hier leggen we stap voor stap uit, hoe je een Ubuntu 20.04 LTS kan installeren. Ubuntu 20.04 lts-versie is niet een installatie als webserver, maar puur een basis voor een Linux server die je eventueel kan opzetten voor een webserver.
Zodra je de installatie hebt afgerond met een Linux server, kunnen we nu beginnen met het opzetten van de webserver. Uiteraard is dit de basis en kun je veel bereiken. Om goed te begrijpen wat NGINX is, heb je wel achtergrondinformatie nodig.

Wat is NGINX en wat doet het?

NGINX is een router op je Linux server, wij nemen nu als voorbeeld Ubuntu 20.04. NGINX is een router om requests vanuit de browser te begeleiden naar de juiste map op je server. Door het installeren van PHP en andere afhankelijkheden. Kan deze dus vertaald worden en teruggestuurd worden naar de browser. De browser begrijpt deze taal en zal dit tonen in een opmaak/data.
In NGINX kun je alle software draaien die je maar wilt.  

Dit is even in het kort uitgelegd hoe NGINX werkt. Uiteraard kun je hier heel uitgebreid op ingaan. Echter kun je beter “hoe werkt NGINX als webserver” lezen. Hierin gaan we stap voor stap uitleggen hoe de webbrowser, server en NGINX de request uitvoert, vertaald en response geeft.

Je server updaten en upgraden

Om te beginnen zal je eerst een update en upgrade moeten uitvoeren om ervoor te zorgen dat je de laatste packages op je server hebt staan en je de laatste versies kan installeren van alle softwarepakketten.
Om dit te doen voor je de volgende commando uit:

sudo apt update en daarna sudo apt upgrade

Installatie van NGINX

Hierna kan je rustig beginnen aan de installatie van je webserver. We beginnen met de installatie commando van NGINX: sudo apt install nginx. Alle packages worden geïnstalleerd voor NGINX, echter raad ik je wel aan om cockpit ook mee te installeren (tenzij je een VPS hebt met weinig geheugen, denk bijvoorbeeld aan een 1x VPS van TransIP, of je eigen lokale Ubuntu installatie heeft te weinig ruimte). Cockpit is bedoeld om alles te monitoren wat op je webserver gebeurt. Ook de brute-force attacks, deze zijn essentieel van belang om inzicht te krijgen waar de attacks vandaan komen. In het stukje security, gaan we meer in op het voorkomen van brute-force attacks op je server. In Wordpress kun je dit anders inregelen met WPS Limit login en heeft weinig met je webserver te maken. Hier gaan we een apart artikel schrijven. Zodra de packages geïnstalleerd zijn, ben je in staat om een de webserver te gebruiken. Alleen wordt de vertaling van je PHP-bestanden nog niet uitgevoerd, waardoor het nog geen zin heeft om deze uit te voeren.

Installatie PHP 7.4

Het installeren van PHP 7.4 lijkt soms een koud kunstje, maar sommige versies zijn nog niet bekend in de repository. Helaas moet je dan kijken hoe je deze kan installeren door een handmatige toevoegen aan de repository. Op dit moment van schrijven is het niet nodig om een custom repository te schrijven. PHP 7.4 is beschikbaar voor general public.
Om PHP 7.4 te installeren, dien je de volgende commando uit te voeren:
sudo apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
Door deze commando, installeer je PHP 7.4 op je machine met alle subonderdelen die je nodig hebt om je webserver goed te laten draaien. Om te controleren of je de juiste versie hebt geïnstalleerd voer je php -V uit. Je krijgt dan een response en als daar php 7.4.xx staat dan weet je dat PHP 7.4 op de juiste manier is geïnstalleerd. Voor Ubuntu 16.04 en 18.04 zijn er helaas andere stappen nodig. Deze kun je het beste doornemen op PHP installeren op Ubunutu 16.04 en 18.04

Nu dat je dit hebt geïnstalleerd kunnen we beginnen met de volgend stap, dat is het installeren van MySQL. Mocht je de gehele uitleg willen hebben over hoe je veilig en goed alles kan inrichten voor het gebruik van je MySQL server? Dan raad ik je aan om he artikel te lezen over security met databases. Hierin wordt een basis gelegd voor het op de juiste manier gebruik maken van gebruikers en rechten met je Database.

Installatie MySQL

Om de installatie te starten van MySQL, draai je sudo apt install mysql-server. Na de installatie adviseren wij dat je sudo mysql_secure_installation draait. Door deze script te draaien worden alle onveiligheden weggenomen voor de MySQL Server. Je bent uiteraard niet verplicht om deze script te draaien. Het is zeker raadzaam omdat je niet wilt dat je root gebruiker acces heeft buiten de Linux server en dat je het liefst een gebruiker wilt hebben voor het inloggen en het gebruik maken van je applicaties die je op je server installeert.

Next but not last, vergeet niet PHPMyAdmin te installeren: sudo apt install phpmyadmin. Deze heb je nodig om je server goed bij te houden en af en toe te kijken wat er allemaal gebeurt in je databases. Tevens kun je hier ook je databases beheren. Om PHPMyAdmin te gebruiken, moet je wel in NGINX een vhost aanmaken speciaal voor jou. Hoe je deze weer kan beveiligen met een SSL-certificaat behandelen we in een ander tutorial.
Installatie gedaan, nu is het tijd voor de volgende stap.

Als je alle stappen van boven succesvol hebt afgehandeld, en de test zijn ook goed en je kan op de IP-adres van je server een pagina zien die begint met: Welcome to nginx! Gefeliciteerd, je webserver is succesvol geïnstalleerd. Nu kan je dus website aanmaken en vhost inrichten voor NGINX. Wil je ook websites goed inrichten? Bekijk dan de tutorial hoe je een vhost inricht in NGINX.