Installer un serveur web sur votre VPS : Nginx avec PHP

Un VPS est une toile vierge. Après les premières étapes de sécurisation (voir Sécuriser votre VPS après l'installation), un serveur web est l'ajout le plus demandé. Nginx est léger, rapide et domine le web. Cet article vous mène de zéro à un site web fonctionnel avec HTTPS.

Installer Nginx

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

Ouvrez un navigateur et allez à l'adresse IP de votre VPS. Vous voyez la page d'accueil Nginx. Cela signifie que le serveur web tourne.

Ouvrir le pare-feu

Si vous utilisez UFW (ce que vous devriez après avoir suivi le guide de sécurisation) :

ufw allow 'Nginx Full'

Cela ouvre le port 80 (HTTP) et 443 (HTTPS).

Installer PHP

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

Les modules que vous ajoutez dépendent de votre application. WordPress nécessite php-mysql, php-gd, php-curl et php-mbstring. Laravel nécessite en plus php-xml et php-zip.

Configurer le site web

Créez un fichier de configuration pour votre site :

nano /etc/nginx/sites-available/monsite

Contenu :

server {
    listen 80;
    server_name mondomaine.fr www.mondomaine.fr;
    root /var/www/monsite;
    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;
    }
}

Activez le site et redémarrez Nginx :

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

SSL avec Certbot (Let's Encrypt)

HTTPS n'est pas optionnel. Les navigateurs marquent les sites HTTP comme non sécurisés et Google les classe moins bien.

apt install certbot python3-certbot-nginx -y
certbot --nginx -d mondomaine.fr -d www.mondomaine.fr

Certbot ajuste automatiquement votre configuration Nginx et gère le renouvellement via un timer. Les certificats sont valides 90 jours et sont renouvelés automatiquement.

Envoyer les fichiers du site

Créez le dossier et définissez les droits :

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

Envoyez vos fichiers via SFTP (FileZilla, WinSCP) ou via le terminal avec scp ou rsync.

Ajouter MySQL/MariaDB

La plupart des sites web ont besoin d'une base de données :

apt install mariadb-server -y
mysql_secure_installation

Créez une base de données et un utilisateur :

mysql -e "CREATE DATABASE madb;"
mysql -e "CREATE USER 'monuser'@'localhost' IDENTIFIED BY 'motdepassefort';"
mysql -e "GRANT ALL ON madb.* TO 'monuser'@'localhost';"
mysql -e "FLUSH PRIVILEGES;"

Puis-je utiliser Apache au lieu de Nginx ?

Oui. Apache fonctionne très bien, mais Nginx est plus léger et plus rapide pour les fichiers statiques. Nginx est le standard chez la plupart des hébergeurs. Choisissez Apache si vous avez besoin de fichiers .htaccess ou si vous travaillez avec un logiciel qui nécessite Apache.

Combien de sites web puis-je faire tourner sur un VPS ?

Cela dépend de la mémoire et de la charge. Un VPS avec 2 Go de RAM fait facilement tourner 5 à 10 petits sites web. Chaque site a son propre fichier de configuration Nginx et son propre dossier.

Puis-je installer WordPress ?

Oui. Après Nginx, PHP et MySQL, vous téléchargez WordPress, le décompressez dans le dossier du site et suivez l'installation dans le navigateur. La procédure complète prend 15 minutes.

Tous les packs VPS KVM de HostValues sont livrés avec un accès root, pour que vous puissiez installer n'importe quel serveur web de votre choix.


Encore des questions ? Ouvrez un ticket de support et notre équipe vous aidera.

Retour au blog