Beheerde WordPress-hosting rekent per site en verstopt de instellingen. Op je eigen VPS krijg je de hele server, zoveel sites als hij aankan en volledige controle over PHP en caching. De klassieke stack (Nginx, PHP-FPM, MariaDB) staat in ongeveer een kwartier op Ubuntu 24.04.
Voordat je begint: je hebt een plan met dedicated IP nodig (bezoekers maken verbinding met poort 80/443; NAT-plannen accepteren geen inkomend webverkeer) en een domein met een A-record naar de server. Micro-IP voor $10 per maand is een comfortabel thuis voor een gewone site.
1. Installeer de stack
apt update
apt install -y nginx mariadb-server php8.3-fpm php8.3-mysql php8.3-curl \
php8.3-gd php8.3-intl php8.3-mbstring php8.3-xml php8.3-zip
2. Maak de database aan
Op Ubuntu laat MariaDB root binnen via de lokale socket, zonder wachtwoord:
mariadb <<'SQL'
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'wp'@'localhost' IDENTIFIED BY 'use-a-long-random-password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp'@'localhost';
FLUSH PRIVILEGES;
SQL
3. Download WordPress
cd /tmp && curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
mv wordpress /var/www/example.com
chown -R www-data:www-data /var/www/example.com
4. Configureer Nginx
cat > /etc/nginx/sites-available/example.com <<'EOF'
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.php;
client_max_body_size 64M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
location ~ /\.(?!well-known) { deny all; }
}
EOF
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-enabled/default
nginx -t && systemctl reload nginx
De regel try_files zorgt dat nette permalinks werken: het Nginx-equivalent van de .htaccess-regels van WordPress.
Verhoog de uploadlimiet van PHP zodat die overeenkomt met client_max_body_size:
sed -i 's/^upload_max_filesize.*/upload_max_filesize = 64M/; s/^post_max_size.*/post_max_size = 64M/' /etc/php/8.3/fpm/php.ini
systemctl restart php8.3-fpm
5. Gratis HTTPS
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
Certbot past de Nginx-configuratie aan voor HTTPS en regelt automatische vernieuwing.
6. Rond af in de browser
Open https://example.com, vul de databasenaam (wordpress), gebruiker (wp) en het wachtwoord uit stap 2 in, en maak je beheerdersaccount aan. Kies een beheerdersnaam anders dan „admin”.
Snel en veilig
- Firewall:
ufw allow 22/tcp && ufw allow 'Nginx Full' && ufw enable. - Updates: zet in het dashboard automatische updates aan voor de WordPress-kern en, voor de server, automatische beveiligingsupdates.
- Caching: op een kleine machine maakt een plug-in voor paginacache meer verschil dan welke serverafstelling ook.
- Back-ups: Managed Backups bewaren dagelijkse herstelpunten van de hele server ($2/mnd, gratis bij jaarplannen). Voor een draagbare kopie voeg je
mysqldump wordpress > wp.sqlen de mapwp-contenttoe. - Geheugen: voeg op servers met 1 GB een swapbestand van 2 GB toe.
Gerelateerd
- VPS voor een website
- Nginx-reverse-proxy met HTTPS
- VPS voor Plausible Analytics: cookievrije statistieken voor je site
Reacties
Nog geen reacties. Wees de eerste.