Webserver installeren op uw VPS: Nginx met PHP

Een VPS is een leeg canvas. Na de eerste beveiligingsstappen (zie VPS beveiligen na installatie) is een webserver de meest gevraagde toevoeging. Nginx is licht, snel en domineert het web. Dit artikel zet u van nul naar een draaiende website met HTTPS.

Nginx installeren

apt update
apt install nginx -y
systemctl enable nginx
systemctl start nginx

Open een browser en ga naar het IP-adres van uw VPS. U ziet de Nginx-welkomstpagina. Dat betekent dat de webserver draait.

Firewall openzetten

Als u UFW gebruikt (wat u zou moeten na het volgen van de beveiligingsgids):

ufw allow 'Nginx Full'

Dit opent poort 80 (HTTP) en 443 (HTTPS).

PHP installeren

apt install php8.3-fpm php8.3-mysql php8.3-curl php8.3-mbstring php8.3-xml php8.3-zip -y

De modules die u toevoegt hangen af van uw applicatie. WordPress vereist php-mysql, php-gd, php-curl en php-mbstring. Laravel vereist daarnaast php-xml en php-zip.

Website configureren

Maak een configuratiebestand aan voor uw site:

nano /etc/nginx/sites-available/mijnsite

Inhoud:

server {
    listen 80;
    server_name mijndomein.nl www.mijndomein.nl;
    root /var/www/mijnsite;
    index index.php index.html;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Activeer de site en herstart Nginx:

ln -s /etc/nginx/sites-available/mijnsite /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

SSL met Certbot (Let's Encrypt)

HTTPS is niet optioneel. Browsers markeren HTTP-sites als onveilig en Google rankt ze lager.

apt install certbot python3-certbot-nginx -y
certbot --nginx -d mijndomein.nl -d www.mijndomein.nl

Certbot past automatisch uw Nginx-configuratie aan en regelt vernieuwing via een timer. Certificaten zijn 90 dagen geldig en worden automatisch verlengd.

Websitebestanden uploaden

Maak de map aan en zet de rechten:

mkdir -p /var/www/mijnsite
chown -R www-data:www-data /var/www/mijnsite

Upload uw bestanden via SFTP (FileZilla, WinSCP) of via de terminal met scp of rsync.

MySQL/MariaDB erbij

De meeste websites hebben een database nodig:

apt install mariadb-server -y
mysql_secure_installation

Maak een database en gebruiker aan:

mysql -e "CREATE DATABASE mijndb;"
mysql -e "CREATE USER 'mijnuser'@'localhost' IDENTIFIED BY 'sterkwachtwoord';"
mysql -e "GRANT ALL ON mijndb.* TO 'mijnuser'@'localhost';"
mysql -e "FLUSH PRIVILEGES;"

Kan ik Apache gebruiken in plaats van Nginx?

Ja. Apache werkt prima, maar Nginx is lichter en sneller voor statische bestanden. Nginx is de standaard bij de meeste hostingproviders. Kies Apache als u .htaccess-bestanden nodig heeft of met software werkt die Apache vereist.

Hoeveel websites kan ik op een VPS draaien?

Dat hangt af van het geheugen en de belasting. Een VPS met 2 GB RAM draait gemakkelijk 5 tot 10 kleine websites. Elke site krijgt zijn eigen Nginx-configuratiebestand en map.

Kan ik WordPress installeren?

Ja. Na Nginx, PHP en MySQL downloadt u WordPress, pakt het uit in de sitemap en volgt de installatie in de browser. De hele procedure duurt 15 minuten.

Alle KVM VPS-pakketten van HostValues worden geleverd met root-toegang, zodat u elke webserver kunt installeren die u wilt.


Komt u er niet uit? Open een support ticket, ons team helpt u graag verder.

Terug naar de blog