Comment configurer une pile LOMP sur un serveur Ubuntu

En tant que développeur web, vous pouvez vous retrouver dans une situation où vous devez configurer un serveur avec une pile Linux, OpenLiteSpeed, MariaDB (ou MySQL) et PHP (LOMP). Cela peut être une tâche décourageante. Ici, nous vous montrons les étapes pour installer une pile LOMP sur votre serveur Linux.
Table des matières
- Pourquoi utiliser LOMP plutôt que d’autres piles (LAMP, LEMP) ?
- Prérequis
- Installation d’OpenLiteSpeed
- Installation de MariaDB
- Installation de PHP
- Accéder et configurer OpenLiteSpeed
- Questions fréquentes
Pourquoi utiliser LOMP plutôt que d’autres piles (LAMP, LEMP) ?
LOMP est un choix populaire pour le développement web car il est open source et bénéficie d’un large éventail de support. De plus, tous les composants de la pile LOMP sont compatibles entre eux, ce qui facilite la configuration et la maintenance.
De plus, OpenLiteSpeed est un serveur web haute performance par rapport à d’autres serveurs web, tels qu’Apache et Nginx. OpenLiteSpeed peut gérer plus de requêtes simultanées et utiliser moins de ressources, ce qui en fait un excellent choix pour les sites web à fort trafic.
Prérequis
Avant de commencer ce guide, il y a quelques éléments que vous devez avoir en place.
Serveur Linux. Ce tutoriel utilise Ubuntu 22.04, la dernière version au moment de la rédaction.
Compte utilisateur non-root avec des privilèges sudo configurés sur votre serveur.
Nom de domaine pointant vers votre serveur.
Installation d’OpenLiteSpeed
Dans la pile LOMP, OpenLiteSpeed est utilisé comme serveur web. Un serveur web est un logiciel qui répond aux demandes de fichiers qui composent votre site web. Lorsque quelqu’un tape votre nom de domaine, son navigateur envoie une demande à votre serveur web demandant les fichiers qui composent votre site web. Le serveur web répond alors en renvoyant ces fichiers au navigateur.
Avant d’installer OpenLiteSpeed sur Ubuntu, mettez d’abord à jour l’index des paquets de votre serveur :
sudo apt updateRécupérez le dépôt OLS avec la commande wget.
sudo wget -O - https://repo.litespeed.sh | catL’option -O indique à wget d’écrire la sortie du script dans votre terminal plutôt que de créer un fichier. Le caractère | (appelé pipe) prend la sortie de la première commande et la passe comme entrée à la deuxième commande, qui est cat. Cela vous permet de revoir le script avant de l’exécuter.

Si la sortie semble correcte, vous pouvez exécuter le script avec la commande suivante :
sudo wget -O - https://repo.litespeed.sh | sudo bashLa partie sudo bash de la commande indique à votre système d’exécuter le script avec des privilèges root. Cela est nécessaire car le script doit pouvoir modifier les dépôts de votre système.

Une fois le dépôt ajouté, mettez à jour l’index des paquets à nouveau pour refléter les changements :
sudo apt updateEnfin, installez OpenLiteSpeed avec la commande apt suivante.
sudo apt install openlitespeed -yOpenLiteSpeed sera installé sur votre serveur.

Démarrez et activez le service OpenLiteSpeed afin qu’il démarre automatiquement lorsque votre serveur démarre :
sudo systemctl start openlitespeed
sudo systemctl enable openlitespeedVous pouvez vérifier l’état du service OpenLiteSpeed pour vous assurer qu’il fonctionne correctement :
sudo systemctl status openlitespeedLa sortie ressemblera à celle ci-dessous.

Installation de MariaDB
MariaDB est un fork du populaire serveur de base de données MySQL. Il est utilisé à la place de MySQL dans la pile LOMP car il est compatible avec les autres logiciels de la pile mais développé sous une licence open source. MariaDB est gratuit à utiliser et à distribuer.
Exécutez la commande apt ci-dessous pour installer MariaDB :
sudo apt install mariadb-server -yComme avec OpenLiteSpeed, démarrez et activez le service MariaDB afin qu’il démarre automatiquement lorsque votre serveur démarre.
sudo systemctl start mariadb
sudo systemctl enable mariadbVous pouvez vérifier l’état du service MariaDB pour vous assurer qu’il fonctionne correctement.
sudo systemctl status mariadbLa sortie ressemblera à celle ci-dessous.

Sécuriser votre installation de MariaDB
Par défaut, une installation fraîche de MariaDB est livrée avec des options par défaut dangereuses qui pourraient rendre votre serveur de base de données vulnérable aux attaques. Pour sécuriser votre installation, exécutez le script mariadb-secure-installation fourni avec MariaDB.
sudo mariadb-secure-installationCe script modifie certaines des options par défaut moins sécurisées et définit un mot de passe pour l’utilisateur root de MariaDB.
Vous serez invité à répondre à une série de questions. Pour chacune d’elles, répondez par “Y” (pour oui) ou “N” (pour non).
Tout d’abord, on vous demandera d’entrer le mot de passe root. Étant donné que vous venez d’installer MariaDB, vous n’aurez pas encore défini de mot de passe pour l’utilisateur root, laissez donc ce champ vide et appuyez sur Entrée.

Ensuite, on vous demandera si vous souhaitez utiliser la méthode d’authentification “unix_socket” pour l’utilisateur root. Cela signifie que vous pouvez vous connecter à MariaDB automatiquement lorsque vous êtes connecté en tant qu’utilisateur root du système. Entrez Y et appuyez sur Entrée.
La question suivante portera sur le changement du mot de passe de l’utilisateur root. Entrez Y et appuyez sur Entrée. On vous demandera d’entrer et de confirmer un nouveau mot de passe pour l’utilisateur root. Il est recommandé d’utiliser un mot de passe fort et difficile à deviner.
Après cela, on vous demandera si vous souhaitez supprimer les utilisateurs anonymes de votre base de données. Un utilisateur anonyme est celui qui n’a pas reçu de nom d’utilisateur ou de mot de passe. Entrez Y et appuyez sur Entrée. Par défaut, MariaDB permet à quiconque de se connecter au serveur de base de données sans nom d’utilisateur ni mot de passe. Ce n’est pas sécurisé, donc nous allons supprimer ces utilisateurs anonymes.
Ensuite, on vous demandera si vous souhaitez interdire la connexion root à distance. Interdire la connexion root à distance est une bonne mesure de sécurité, car cela signifie qu’un attaquant aurait besoin d’un accès physique à votre serveur pour se connecter en tant qu’utilisateur root. Entrez Y et appuyez sur Entrée.
Enfin, on vous demandera si vous souhaitez supprimer les bases de données de test et l’accès à celles-ci. Celles-ci sont utilisées à des fins de test et ne sont plus nécessaires. Entrez Y et appuyez sur Entrée.
On vous demandera de recharger les tables de privilèges afin que vos modifications prennent effet. Entrez Y et appuyez sur Entrée. Votre installation de MariaDB est maintenant sécurisée.

Installation de PHP
PHP est un langage de script côté serveur utilisé pour traiter du contenu dynamique, tel que des données de formulaire ou des images. Si vous utilisez WordPress, vous devrez installer PHP.
Exécutez la commande ci-dessous pour rechercher les paquets PHP disponibles.
sudo apt-cache search lsphpVous verrez une liste de paquets dont les noms commencent par PHP. Ce sont les paquets PHP7.4, PHP8.0 et PHP8.1. Pour ce guide, nous allons installer PHP8.1, la dernière version de PHP. Ce paquet inclut les dernières fonctionnalités et mises à jour de sécurité.
Pour installer PHP8.1, exécutez la commande ci-dessous :
sudo apt install lsphp81 lsphp81-{common,mysql} -yLa partie {common,mysql} indique à apt d’installer les modules commun et mysql pour PHP8.1. Le module common fournit un ensemble de fonctions de base nécessaires à la plupart des applications PHP. Le module mysql fournit des fonctions permettant à PHP d’interagir avec MariaDB.

Votre application PHP pourrait être compatible avec une version différente de PHP, alors assurez-vous de vérifier la documentation de votre application avant de choisir une version de PHP.
Si vous souhaitez installer d’autres versions de PHP, remplacez lsphp81 par la version souhaitée. Par exemple, pour installer PHP7.4, vous utiliseriez le nom de paquet lsphp74 comme indiqué ci-dessous :
sudo apt install lsphp74 lsphp74-{common,mysql}Accéder et configurer OpenLiteSpeed
Configurer le pare-feu
Ubuntu est livré avec un pare-feu par défaut appelé UFW. Vous devrez autoriser le trafic sur les ports 7080 et 8088 pour accéder à la console d’administration Web et à votre site web.
Autorisez le trafic sur ces ports en exécutant la commande suivante :
sudo ufw allow 7080/tcp && sudo ufw allow 8088/tcpVérifiez l’état de votre pare-feu en exécutant la commande ci-dessous :
ufw statusVous verrez une sortie similaire à celle ci-dessous. Comme vous pouvez le voir, la sortie montre que le trafic sur les ports 7080 et 8088 est autorisé.

Accéder à OpenLiteSpeed
Maintenant que nous avons tout configuré, nous sommes prêts à accéder à OpenLiteSpeed.
Pour ce faire, ouvrez votre navigateur web et allez à http://your_domain:8088. Remplacez “your_domain” par votre nom de domaine.
Vous verrez une page similaire à celle ci-dessous : la page d’accueil d’OpenLiteSpeed.

Faites défiler vers le bas et cliquez sur le lien “Test PHP” pour tester si PHP fonctionne correctement avec OpenLiteSpeed.

Vous verrez une page similaire à celle ci-dessous. Cette page montre que PHP fonctionne correctement avec OpenLiteSpeed. Bien que la version PHP soit affichée comme PHP7.4, nous allons changer cette version pour PHP8.1 dans la section suivante.

Cliquez sur le lien sous le script “Hello World CGI” pour tester si la fonctionnalité CGI d’OpenLiteSpeed fonctionne correctement.
CGI est un mécanisme pour exécuter des programmes sur un serveur web en réponse à des demandes de navigateurs web. OpenLiteSpeed peut exécuter des scripts CGI écrits dans n’importe quel langage, mais l’utilisation la plus courante pour CGI est d’exécuter des scripts Perl ou PHP.
Cette fonctionnalité est très utile si vous souhaitez utiliser un langage de programmation qui n’est pas pris en charge par OpenLiteSpeed.

Vous verrez une page Hello World similaire à celle ci-dessous, ce qui signifie que la fonctionnalité CGI fonctionne correctement.
Ensuite, exécutez la commande ci-dessous pour définir un mot de passe pour la console d’administration Web.
sudo /usr/local/lsws/admin/misc/admpass.shFournissez un nom d’utilisateur et un mot de passe pour la console d’administration Web lorsque vous y êtes invité et appuyez sur ENTRÉE.

Naviguez vers http://your_domain:7080 pour ouvrir la console d’administration Web : l’interface graphique (GUI) pour gérer votre serveur OpenLiteSpeed.
Elle vous permet d’effectuer toutes les tâches que vous pouvez réaliser en utilisant la ligne de commande de manière beaucoup plus simple. Vous pouvez configurer votre serveur directement dans le navigateur web sans avoir à modifier des fichiers de configuration, comme le font les serveurs web traditionnels.
Remplacez your_domain par votre nom de domaine réel pour voir une page comme celle ci-dessous.
Entrez le nom d’utilisateur et le mot de passe que vous avez créés à l’étape précédente et cliquez sur “Connexion” pour vous connecter à la console d’administration Web.

Vous verrez une page similaire à celle ci-dessous. Cette page est la page principale de la console d’administration Web. Elle vous montre un aperçu de votre serveur.

Configurer OpenLiteSpeed pour utiliser PHP8.1
Par défaut, OpenLiteSpeed est configuré pour fonctionner avec PHP7.4. Si vous utilisez une version différente de PHP, vous devrez indiquer à OpenLiteSpeed quelle version de PHP utiliser.
Sur la page principale de la console d’administration Web, cliquez sur l’onglet “Configuration du serveur”, puis cliquez sur “Application externe”. Vous verrez une liste de toutes les applications externes actuellement configurées.
À côté de “LiteSpeed SAPI App”, cliquez sur l’icône “Modifier” sous Action comme indiqué.

Vous verrez une page similaire à celle ci-dessous. Dans le champ “Commande”, entrez lsphp81/bin/lsphp, le chemin vers le binaire lsphp. Ce paramètre indique à OpenLiteSpeed d’utiliser PHP8.1 au lieu de PHP7.4 par défaut.

Gardez les autres paramètres par défaut et cliquez sur l’icône Enregistrer pour sauvegarder vos modifications.
Cliquez sur l’icône de flèche courbée pour effectuer un redémarrage en douceur. Vos modifications ne prendront effet qu’après un redémarrage en douceur d’OpenLiteSpeed.
Enfin, naviguez vers http://your_domain:8088/phpinfo.php. Vous verrez une page comme celle ci-dessous, qui montre qu’OpenLiteSpeed utilise PHP8.1.
Félicitations ! Vous avez réussi à installer et configurer la pile LOMP sur votre serveur Ubuntu.
Questions fréquentes
Puis-je utiliser OpenLiteSpeed avec d’autres serveurs web ?
Non. OpenLiteSpeed est conçu pour être utilisé comme un serveur web autonome. Il n’est pas conçu pour fonctionner aux côtés d’autres serveurs web. OpenLiteSpeed utilise les mêmes ports que d’autres serveurs web (80 pour HTTP et 443 pour HTTPS). Cela signifie qu’un seul serveur web peut fonctionner sur votre serveur à un moment donné.
Puis-je sécuriser mon serveur web OpenLiteSpeed avec un certificat SSL gratuit comme Let’s Encrypt ?
Oui, vous le pouvez. OpenLiteSpeed prend en charge nativement Let’s Encrypt et d’autres autorités de certification conformes à ACMEv2. Vous pouvez utiliser la console d’administration Web pour installer un certificat SSL gratuit en quelques clics. Consultez la documentation officielle d’OpenLiteSpeed pour plus d’informations.
Crédit image : Unsplash. Toutes les captures d’écran par Nicholas Xuan Nguyen.