installer LAMP VPS LinuxVPS Linux··9 min de lecture·Par l'équipe OmegaCloud

Guide complet : installer LAMP sur un VPS Linux en 2026

Illustration de l'article OmegaCloud : installer LAMP VPS Linux

Installer LAMP VPS Linux est une étape fondamentale pour héberger des applications web dynamiques : cet acronyme désigne la pile logicielle composée de Linux, Apache, MySQL (ou MariaDB) et PHP. Ce tutoriel détaille toutes les étapes pour déployer un environnement LAMP fonctionnel sur un VPS Linux OmegaCloud, depuis la connexion SSH initiale jusqu'à la sécurisation finale du serveur. Pour héberger WordPress sur cette pile, la page VPS WordPress précise la configuration attendue selon le trafic.



Pourquoi installer LAMP sur un VPS Linux ?

La pile LAMP reste la solution la plus répandue pour exécuter des CMS comme WordPress, Drupal, Joomla ou des frameworks PHP (Symfony, Laravel). Contrairement à un hébergement mutualisé, un VPS dédié vous offre le contrôle total : choix de la version PHP, configuration Apache fine-tuning, optimisation MySQL, allocation RAM/CPU dédiée.

Sur un OmegaCloud VPS Linux, vous disposez d'un accès root SSH complet, de disques SSD SAS ultra-rapides, et d'une connectivité réseau protégée par anti-DDoS inclus. Cela garantit performances et résilience pour vos applications critiques. Le panel OmegaCloud permet également de piloter le cycle de vie du serveur (reboot, snapshots, console KVM) sans intervention support.

Composants de la pile LAMP

  • Linux : le système d'exploitation (Debian 12, Ubuntu 22.04 LTS, Rocky Linux 9, AlmaLinux 9).
  • Apache : le serveur HTTP qui traite les requêtes web et sert les fichiers statiques/dynamiques.
  • MySQL/MariaDB : le système de gestion de base de données relationnelle.
  • PHP : le moteur de script côté serveur qui génère dynamiquement les pages HTML.

Avant de commencer, assurez-vous de disposer des informations de connexion SSH fournies lors du provisioning du VPS. Le processus d'installation prend environ 15 à 20 minutes sur un VPS récent équipé de NVMe Gen4.


Vue en plongée d'une rangée de racks serveur modernes dans un datacenter sombre, éclairage violet et teal, câbles fibre optique orange organisés, baies refroidies par airflow contrôlé, pas de personnages


Étape 1 : Préparer le VPS Linux et mettre à jour le système

Connectez-vous en SSH à votre VPS avec l'utilisateur root ou un compte sudo. Sur Debian ou Ubuntu, la première étape consiste à mettre à jour la liste des paquets et à installer les mises à jour de sécurité :

apt update && apt upgrade -y

Sur Rocky Linux ou AlmaLinux (famille RHEL), utilisez DNF :

dnf update -y

Cette opération synchronise le cache des dépôts et applique les correctifs kernel et userland. Un reboot peut être nécessaire si le kernel a été mis à jour ; utilisez le panel OmegaCloud pour redémarrer proprement le VPS.

Configuration du fuseau horaire et du hostname

Définissez le fuseau horaire pour que les logs Apache et MySQL soient cohérents :

timedatectl set-timezone Europe/Paris

Configurez un hostname explicite pour faciliter l'administration multi-serveurs :

hostnamectl set-hostname lamp-prod-01

Vérifiez la résolution DNS locale en éditant /etc/hosts pour associer votre hostname à l'adresse IP publique du VPS. Cela évite les erreurs « unable to resolve hostname » lors du démarrage d'Apache.



Étape 2 : Installer Apache, MySQL et PHP pour créer la stack LAMP

Nous allons maintenant installer LAMP VPS Linux en trois sous-étapes : Apache, MySQL/MariaDB, puis PHP avec ses modules courants.

Installation d'Apache 2.4

Apache reste le serveur HTTP le plus documenté et modulaire. Sur Debian/Ubuntu :

apt install apache2 -y
systemctl enable apache2
systemctl start apache2

Vérifiez qu'Apache écoute sur le port 80 :

ss -tlnp | grep :80

Vous devriez voir apache2 lié à 0.0.0.0:80. Ouvrez un navigateur et accédez à l'IP publique du VPS : la page « Apache2 Debian Default Page » ou « Ubuntu Default Page » confirme le bon fonctionnement.

Installation de MySQL (MariaDB)

MariaDB est le fork communautaire de MySQL, totalement compatible et souvent privilégié sur les distributions récentes :

apt install mariadb-server mariadb-client -y
systemctl enable mariadb
systemctl start mariadb

Lancez le script de sécurisation pour supprimer les comptes anonymes, désactiver le login root distant et retirer la base de données de test :

mysql_secure_installation

Répondez Y (yes) à toutes les questions. Définissez un mot de passe root MySQL robuste (minimum 16 caractères, alphanumériques et symboles). Ce mot de passe est distinct du mot de passe root Linux.

Installation de PHP 8.2 et modules essentiels

PHP 8.2 apporte des gains de performance significatifs (JIT, optimisations opcache). Sur Debian 12 ou Ubuntu 22.04, PHP 8.1 est disponible par défaut ; pour PHP 8.2, ajoutez le dépôt Sury (Debian/Ubuntu) :

apt install lsb-release ca-certificates apt-transport-https software-properties-common -y
curl -sSL https://packages.sury.org/php/README.txt | bash -x
apt update
apt install php8.2 libapache2-mod-php8.2 php8.2-mysql php8.2-cli php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-intl php8.2-bcmath -y

Activez le module Apache PHP et redémarrez le service :

a2enmod php8.2
systemctl restart apache2

Vérifiez la version PHP installée :

php -v

Vous devriez voir PHP 8.2.x suivi de la mention Zend Engine.


Gros plan sur un terminal Linux affichant des lignes de commande systemctl et apt install, fond sombre avec texte vert phosphorescent, reflet léger sur un écran mat, ambiance technique datacenter

Tester PHP avec Apache

Créez un fichier info.php dans la racine web par défaut :

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

Accédez via navigateur à http://VOTRE_IP/info.php. La page phpinfo() affiche toutes les directives PHP, modules chargés (mysqli, pdo_mysql, etc.), et confirme l'intégration Apache/PHP. Supprimez ce fichier après vérification pour éviter toute fuite d'informations :

rm /var/www/html/info.php


Étape 3 : Configurer Apache, optimiser MySQL et sécuriser PHP

Virtual Hosts Apache pour héberger plusieurs sites

Apache utilise des VirtualHost pour isoler plusieurs domaines sur un même VPS. Créez un fichier de configuration pour votre site (exemple : exemple.com) :

nano /etc/apache2/sites-available/exemple.com.conf

Ajoutez la configuration suivante :

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName exemple.com
    ServerAlias www.exemple.com
    DocumentRoot /var/www/exemple.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/exemple.com-error.log
    CustomLog ${APACHE_LOG_DIR}/exemple.com-access.log combined
    <Directory /var/www/exemple.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Créez le répertoire du site et attribuez les permissions Apache :

mkdir -p /var/www/exemple.com/public_html
chown -R www-data:www-data /var/www/exemple.com
chmod -R 755 /var/www/exemple.com

Activez le VirtualHost et désactivez le site par défaut :

a2ensite exemple.com.conf
a2dissite 000-default.conf
systemctl reload apache2

Activez également le module rewrite pour que les CMS et frameworks utilisent les URL propres (permaliens WordPress, routes Laravel) :

a2enmod rewrite
systemctl restart apache2

Optimisation MySQL/MariaDB pour VPS

Éditez /etc/mysql/mariadb.conf.d/50-server.cnf (Debian/Ubuntu) ou /etc/my.cnf.d/server.cnf (Rocky/Alma) et ajustez les paramètres en fonction de la RAM disponible. Pour un VPS avec 4 Go RAM :

[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
max_connections = 100
query_cache_type = 0
query_cache_size = 0

Le innodb_buffer_pool_size doit représenter 50 à 70 % de la RAM totale dédiée à MySQL. Redémarrez MariaDB après modification :

systemctl restart mariadb

Utilisez mysqltuner pour analyser finement les performances :

apt install mysqltuner -y
mysqltuner

Cet outil génère des recommandations détaillées basées sur les statistiques du serveur en production.

Durcissement de la configuration PHP

Éditez /etc/php/8.2/apache2/php.ini pour renforcer la sécurité :

expose_php = Off
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
upload_max_filesize = 20M
post_max_size = 25M
memory_limit = 256M
max_execution_time = 60
disable_functions = exec,passthru,shell_exec,system,proc_open,popen

Relancez Apache pour appliquer les changements :

systemctl restart apache2

Ces paramètres désactivent l'affichage des erreurs côté client (pour ne pas révéler de chemins système), limitent l'upload et bloquent les fonctions dangereuses souvent exploitées en cas d'injection de code.



Étape 4 : Sécuriser le VPS LAMP avec firewall, SSL et hardening

Configuration du pare-feu UFW

UFW (Uncomplicated Firewall) simplifie la gestion de netfilter/nftables. Installez et configurez les règles pour autoriser uniquement SSH, HTTP et HTTPS :

apt install ufw -y
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

Vérifiez le statut :

ufw status verbose

L'anti-DDoS d'OmegaCloud opère en amont au niveau datacenter, filtrant les attaques volumetriques (UDP flood, SYN flood) avant qu'elles n'atteignent le VPS. UFW protège contre les scans de ports et tentatives d'intrusion applicative.

Déploiement de certificats SSL Let's Encrypt

Chiffrez les échanges HTTP avec un certificat gratuit Let's Encrypt via Certbot :

apt install certbot python3-certbot-apache -y
certbot --apache -d exemple.com -d www.exemple.com

Certbot configure automatiquement Apache (création du VirtualHost 443, redirection 80→443) et planifie le renouvellement automatique via cron/systemd timer. Testez le renouvellement :

certbot renew --dry-run

Le certificat est valide 90 jours ; Certbot le renouvelle automatiquement 30 jours avant expiration. Pour les environnements multi-sites, le Hebergement Web OmegaCloud inclut déjà Let's Encrypt auto-renouvelé et un panel simplifié, mais le VPS offre une flexibilité totale pour des configurations complexes (wildcard, multi-domaines).

Hardening SSH et fail2ban

Sécurisez SSH en désactivant le login root par mot de passe. Éditez /etc/ssh/sshd_config :

PermitRootLogin prohibit-password
PasswordAuthentication no
PubkeyAuthentication yes

Rechargez SSH :

systemctl reload sshd

Assurez-vous d'avoir préalablement copié votre clé publique SSH dans ~/.ssh/authorized_keys. Installez fail2ban pour bannir automatiquement les IPs après plusieurs échecs d'authentification :

apt install fail2ban -y
systemctl enable fail2ban
systemctl start fail2ban

Copiez la configuration par défaut et activez les jails SSH et Apache :

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local

Activez [sshd], [apache-auth], [apache-badbots] et [apache-noscript] en définissant enabled = true. Redémarrez fail2ban :

systemctl restart fail2ban

Consultez les bans actifs :

fail2ban-client status sshd

Fail2ban complète la protection DDoS datacenter en bloquant les attaques bruteforce applicatives (login SSH, formulaires web). Pour une visibilité complète, le panel OmegaCloud affiche en temps réel les métriques réseau (trafic entrant/sortant, paquets bloqués par anti-DDoS).

Surveillance des logs et mises à jour automatiques

Configurez logwatch pour recevoir un résumé quotidien des événements système par email :

apt install logwatch -y
logwatch --output mail --mailto [email protected] --detail high

Activez les mises à jour de sécurité automatiques avec unattended-upgrades (Debian/Ubuntu) :

apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades

Sélectionnez « Yes » pour appliquer automatiquement les patchs de sécurité. Vérifiez la configuration dans /etc/apt/apt.conf.d/50unattended-upgrades et assurez-vous que Unattended-Upgrade::Automatic-Reboot "false"; pour éviter les redémarrages non planifiés en production.


Salle serveur moderne avec rangées de serveurs blade éclairés par LED bleues et violettes, câbles réseau organisés en faisceaux, sol technique surélevé, aucune présence humaine, ambiance high-tech et sécurisée


Conclusion

Installer LAMP VPS Linux sur un serveur haute performance garantit contrôle total, performances optimales et sécurité renforcée pour vos applications web. En suivant ce tutoriel complet — de la mise à jour système initiale au durcissement SSH/fail2ban — vous disposez d'un environnement production-ready, protégé par firewall applicatif et anti-DDoS datacenter. Le panel OmegaCloud simplifie la gestion quotidienne (snapshots pré-migration, console KVM de secours, monitoring temps réel), tandis que l'accès root SSH vous offre une liberté totale pour personnaliser Apache, MySQL et PHP selon vos besoins métier.



FAQ

Quelle distribution Linux choisir pour installer LAMP sur un VPS ?

Debian 12 et Ubuntu 22.04 LTS sont recommandés pour leur stabilité, documentation exhaustive et support long terme (5 ans minimum). Rocky Linux 9 ou AlmaLinux 9 conviennent aux environnements enterprise nécessitant compatibilité RHEL. Évitez les distributions rolling-release (Arch, Fedora) en production pour limiter les régressions. Le VPS Linux OmegaCloud propose Debian, Ubuntu, Rocky et AlmaLinux avec kernel récent et optimisations SSD SAS préchargées.

Faut-il installer MariaDB ou MySQL pour une stack LAMP moderne ?

MariaDB est le choix par défaut sur Debian/Ubuntu depuis plusieurs années, totalement compatible MySQL 5.7/8.0 au niveau protocole et syntaxe SQL. MariaDB intègre des optimisations (Aria storage engine, thread pool) et reste open-source sans restriction de licence. MySQL 8.0 Community est aussi viable, notamment pour exploiter les nouveautés (window functions, CTE récursives). Pour des CMS classiques (WordPress, Joomla), MariaDB 10.11 LTS offre le meilleur compromis stabilité/performance.

Comment tester les performances d'un VPS LAMP après installation ?

Utilisez apache2ctl -t -D DUMP_MODULES pour lister les modules actifs et désactiver ceux inutilisés (mod_status, mod_autoindex en production). Benchmarkez Apache avec ab -n 10000 -c 100 http://localhost/ (Apache Bench). Testez MySQL avec sysbench oltp_read_write --mysql-user=root --mysql-password=XXX prepare puis run. Surveillez la latence disque SSD SAS avec fio (random read 4K) : visez <0.1 ms sur SSD SAS. Le panel OmegaCloud affiche CPU/RAM/IOPS en temps réel pour identifier les goulots d'étranglement rapidement.

Prêt à mettre en pratique ce que vous venez de lire ?

Découvrir nos offres

Articles liés

Prêt à vous lancer ?

à partir de 6,99 € HT/mois

Découvrir nos offres

Hébergements

Navigation