Serveur Web · 14 min read · Nov 24, 2025

Comment installer et configurer le serveur OpenLiteSpeed avec MariaDB et PHP sur Ubuntu 20.04

OpenLiteSpeed est une version légère et open-source du serveur LiteSpeed développé par LiteSpeed Technologies. Il est livré avec un panneau d’administration basé sur une interface Web qui le rend différent des autres serveurs et plus facile à gérer.

Dans ce tutoriel, nous allons apprendre à installer le serveur OpenLiteSpeed sur Ubuntu 20.04 avec PHP 7.4 et le serveur MariaDB.

Prérequis

  • Serveur web basé sur Ubuntu 20.04.
  • Un compte utilisateur non-root avec des privilèges sudo.

Mettez à jour votre système.

$ sudo apt update
$ sudo apt upgrade

Étape 1 - Configurer le pare-feu

Avant de commencer le tutoriel, nous devons configurer le pare-feu simplifié (UFW) qui est généralement activé par défaut. Vérifions d’abord l’état du pare-feu.

Nous devons activer SSH, HTTP, HTTPS et les ports 7080, 8088 pour le pare-feu.

$ sudo ufw allow OpenSSH
$ sudo ufw allow http
$ sudo ufw allow https
$ sudo ufw allow 7080/tcp
$ sudo ufw allow 8088/tcp

Vérifiez l’état du pare-feu.

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
443/tcp                    ALLOW       Anywhere                  
7080/tcp                   ALLOW       Anywhere                  
8088/tcp                   ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             
443/tcp (v6)               ALLOW       Anywhere (v6)             
7080/tcp (v6)              ALLOW       Anywhere (v6)             
8088/tcp (v6)              ALLOW       Anywhere (v6)     

Si cela ne fonctionne pas, démarrez le pare-feu.

$ sudo ufw enable

Étape 2 - Installer OpenLiteSpeed

Il existe plusieurs versions d’OpenLiteSpeed que vous pouvez installer. Les versions recommandées sont celles de la série 1.6.x ou 1.7.x au moment de la rédaction de ce tutoriel.

Nous utiliserons le dépôt officiel d’OpenLiteSpeed pour notre tutoriel qui maintient uniquement la version 1.6.x.

Ajoutez la clé du dépôt OpenLiteSpeed.

$ wget -qO - https://rpms.litespeedtech.com/debian/lst_repo.gpg | sudo apt-key add -

Ajoutez le dépôt.

$ echo "deb http://rpms.litespeedtech.com/debian/ focal main" | sudo tee /etc/apt/sources.list.d/openlitespeed.list

Mettez à jour le dépôt.

$ sudo apt update

Installez OpenLiteSpeed

$ sudo apt install openlitespeed

Vérifiez l’état du serveur.

$ sudo /usr/local/lsws/bin/lswsctrl status
litespeed is running with PID 21825.

S’il ne fonctionne pas, vous pouvez le démarrer avec la commande suivante.

$ sudo /usr/local/lsws/bin/lswsctrl start

Ouvrez http://:8088 pour accéder à votre serveur web. Vous devriez voir la page suivante.

Page par défaut d'OpenLiteSpeed

Étape 3 - Installer PHP

Le serveur OpenLiteSpeed est livré avec PHP 7.3 qui est préactivé. Mais nous voulons utiliser PHP 7.4, donc nous allons installer notre propre copie.

Installez PHP 7.4 avec quelques packages supplémentaires.

$ sudo apt install lsphp74 lsphp74-common lsphp74-mysql lsphp74-curl

Vérifiez votre installation de PHP.

$ /usr/local/lsws/lsphp74/bin/php7.4 -v
PHP 7.4.5 (cli) (built: May  7 2020 23:08:38) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.5, Copyright (c), by Zend Technologies

Vous pouvez vérifier les modules PHP activés.

$ /usr/local/lsws/lsphp74/bin/php7.4 --modules

Nous allons configurer PHP pour fonctionner avec OpenLiteSpeed plus tard.

Étape 4 - Installer MariaDB

Installez le serveur MariaDB.

$ sudo apt install mariadb-server

Démarrez et activez le service MariaDB.

$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb

Sécurisez votre installation de MariaDB. Ce script définira votre mot de passe root, supprimera les utilisateurs anonymes, interdisera la connexion root à distance et supprimera les tables de test. Choisissez un mot de passe fort et répondez aux questions comme décrit ci-dessous.

$ sudo mysql_secure_installation
[sudo] password for username: 

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB 
root user without the proper authorisation.

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Une fois cela fait, vous pouvez vous connecter à l’interface MySQL avec la commande suivante.

$ sudo mysql -u root -p

Créez une base de données de test et un utilisateur avec des permissions d’accès. Remplacez testdb et testuser par des noms appropriés pour votre configuration. Remplacez password par un mot de passe fort.

CREATE DATABASE testdb;
CREATE USER 'testuser' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';
FLUSH PRIVILEGES;

Quittez l’interface MySQL.

exit

Étape 5 - Configurer OpenLiteSpeed

Configurer le panneau d’administration

Définissez les identifiants du panneau d’administration.

$ sudo /usr/local/lsws/admin/misc/admpass.sh
Please specify the user name of administrator.
This is the user name required to login the administration Web interface.

User name [admin]: 

Please specify the administrator's password.
This is the password required to login the administration Web interface.

Password: 
Retype password: 
Administrator's username/password is updated successfully!

Vous pouvez également utiliser cette commande au cas où vous oublieriez vos identifiants de connexion.

Pour accéder au panneau d’administration, ouvrez http://:7080.

Lors de votre première connexion, votre navigateur affichera des avertissements indiquant que votre connexion n’est pas privée. Cliquez sur Avancé et cliquez sur “Accepter le risque et continuer” (dans le cas de Firefox) ou “Procéder à (non sécurisé) “ (dans le cas d’un navigateur basé sur Chromium). Vous ne verrez plus l’avertissement.

Vous serez accueilli par l’écran suivant.

Page de connexion OpenLiteSpeed

Revenir au port HTTP 80

Changeons le port HTTP par défaut à 80. Connectez-vous à votre panneau d’administration à http://:7080 avec les identifiants que vous venez de créer.

Vous serez accueilli par l’écran suivant.

Accueil Admin OpenLiteSpeed

Visitez la section Listeners à gauche. Vous verrez les écouteurs par défaut avec le port 8080.

Écouteurs OpenLiteSpeed

Cliquez sur le bouton Voir pour voir la configuration détaillée. Sur la page suivante sous Listener Default > General, cliquez sur l’icône Modifier et changez le port de 8080 à 80.

Écouteur par défaut OpenLiteSpeed

Modifier l'écouteur OpenLiteSpeed

Cliquez sur Enregistrer puis redémarrez le serveur en cliquant sur le bouton Redémarrage gracieux.

Étape 6 - Configurer PHP

Dans cette étape, nous devons associer notre copie de PHP 7.4 avec le serveur.

Cliquez sur la section Configuration du serveur à gauche puis sur l’onglet Application externe. Vous verrez une application LiteSpeed existante pour PHP 7.3. Nous allons créer notre propre application LiteSpeed pour PHP 7.4. Vous pouvez facilement basculer entre elles plus tard si vous le souhaitez.

Applications externes

Cliquez sur le bouton Ajouter pour créer une nouvelle application. Pour le type, sélectionnez LiteSpeed SAPI App et cliquez sur Suivant.

Configuration de l'application externe

Ensuite, ajoutez la configuration ci-dessous. Laissez tous les autres champs vides.

Name: lsphp74
Address: uds://tmp/lshttpd/lsphp.sock
Max Connections: 35
Environment: PHP_LSAPI_MAX_REQUESTS=500
             PHP_LSAPI_CHILDREN=35
             LSAPI_AVOID_FORK=200M
Initial Request Timeout (secs): 60
Retry Timeout : 0
Persistent Connection: Yes
Response Buffering: no
Start By Server: Yes(Through CGI Daemon)
Command: lsphp74/bin/lsphp
Back Log: 100
Instances: 1
Priority: 0
Memory Soft Limit (bytes): 2047M
Memory Hard Limit (bytes): 2047M
Process Soft Limit: 1400
Process Hard Limit: 1500

Cliquez sur Enregistrer une fois terminé.

Application LiteSpeed SAPI

Maintenant que nous avons créé notre propre application basée sur PHP 7.4, nous devons dire au serveur de commencer à l’utiliser.

Allez à l’onglet Gestionnaire de scripts et modifiez le gestionnaire lsphp. Changez le nom de gestionnaire en lsphp74 dans le menu déroulant.

Définition du gestionnaire de scripts

Cliquez sur Enregistrer puis redémarrez le serveur en cliquant sur le bouton Redémarrage gracieux.

Pour tester si votre PHP a été correctement changé, visitez http:///phpinfo.php dans votre navigateur.

Info PHP

Étape 7 - Configurer l’hôte virtuel

Tout d’abord, nous devons créer des répertoires pour notre hôte virtuel.

$ sudo mkdir /usr/local/lsws/example.com/{html,logs} -p

Le répertoire html contiendra les fichiers publics et le répertoire logs contiendra les journaux du serveur.

Ensuite, ouvrez la console Admin et accédez à la section Hôtes virtuels à gauche et cliquez sur le bouton Ajouter.

Résumé des hôtes virtuels

Remplissez les valeurs comme spécifié

Virtual Host Name: example.com
Virtual Host Root: $SERVER_ROOT/example.com/
Config File: $SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf
Follow Symbolic Link: Yes
Enable Scripts/ExtApps: Yes
Restrained: Yes
External App Set UID Mode: Server UID

Paramètres de l'hôte virtuel

Cliquez sur le bouton Enregistrer une fois terminé. Vous obtiendrez l’erreur suivante car le fichier de configuration n’existe pas encore. Cliquez sur le lien pour créer le fichier de configuration.

Configuration de l'hôte virtuel

Cliquez à nouveau sur le bouton Enregistrer pour terminer la création de l’hôte virtuel.

Une fois l’hôte virtuel créé, allez à Hôtes virtuels -> Choisir l’hôte virtuel (example.com) -> Général et modifiez la configuration comme indiqué.

Document Root: $VH_ROOT/html/
Domain Name: example.com
Enable Compression: Yes

Section générale de l'hôte virtuel

Cliquez sur le bouton Enregistrer une fois terminé. Ensuite, nous devons configurer les fichiers index. Cliquez sur le bouton modifier contre les fichiers d’index sous la section Général. Définissez les options suivantes.

Use Server Index Files: No
Index files: index.php, index.html, index.htm
Auto Index: No

Fichiers d'index OpenLiteSpeed

Cliquez sur Enregistrer une fois terminé. Ensuite, nous devons choisir les fichiers journaux. Allez à la section Journal et cliquez sur Modifier contre Journal de l’hôte virtuel et remplissez les valeurs suivantes.

Use Server’s Log: Yes
File Name: $VH_ROOT/logs/error.log
Log Level: ERROR
Rolling Size (bytes): 10M

Journal de l'hôte virtuel

Vous pouvez choisir le Niveau de journal comme DEBUG si vous êtes sur une machine de production/de développement.

Cliquez sur Enregistrer puis cliquez sur le signe plus dans la section Journal d’accès pour ajouter une nouvelle entrée. Remplissez les valeurs suivantes.

Log Control: Own Log File
File Name: $VH_ROOT/logs/access.log
Piped Logger: Not Set
Log Format: Not Set
Log Headers: Not Set
Rolling Size (bytes): 10M
Keep Days: 30
Bytes log: Not Set
Compress Archive: Yes

Journal d'accès OpenLiteSpeed

Cliquez sur Enregistrer une fois terminé. Ensuite, nous devons configurer Contrôle d’accès sous la section Sécurité. Définissez les valeurs suivantes.

Allowed List: *
Denied List: Not set

Contrôle d'accès OpenLiteSpeed

Cliquez sur Enregistrer une fois terminé. Ensuite, nous devons définir la Définition du gestionnaire de scripts. Définissez les valeurs suivantes.

Suffixes: php
Handler Type: LiteSpeed SAPI
Handler Name: [Server Level]: lsphp74

Définition du gestionnaire de scripts

Ensuite, nous devons définir Contrôle de réécriture sous la section Réécriture. Définissez les valeurs suivantes.

Contrôle de réécriture

Et enfin, nous devons définir les écouteurs. Allez à la section Écouteurs et cliquez sur le bouton Voir contre Écouteur par défaut. Ensuite, cliquez sur le bouton Ajouter contre Mappages d’hôtes virtuels pour ajouter un nouveau mappage et définissez les valeurs suivantes.

Cliquez sur Enregistrer une fois terminé. Maintenant, cliquez sur le bouton Redémarrage gracieux pour appliquer tous les changements ci-dessus et redémarrer le serveur.

Étape 8 - Configurer SSL

La configuration de SSL dans OpenLiteSpeed nécessite que nous configurions deux certificats. Un certificat auto-signé pour l’ensemble du serveur et un certificat spécifique au site Let’s Encrypt.

Créons d’abord le certificat auto-signé.

$ openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes
Generating a RSA private key
..++++
......................++++
writing new private key to 'key.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:

Vous pouvez appuyer sur entrer à travers tous les champs et les laisser vides.

Les certificats sont maintenant stockés dans le répertoire /home/user. Nous aurons besoin de ces informations plus tard.

Pour utiliser Let’s Encrypt, nous devons installer l’outil Certbot.

$ sudo apt install certbot

Obtenez le certificat SSL.

$ sudo certbot certonly --webroot -w /usr/local/lsws/example.com/html/ -d example.com

Suivez l’invite interactive.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org

-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree
in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: A

-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
-------------------------------------------------------------------------------
(Y)es/(N)o: N
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Using the webroot path /usr/local/lsws/example.com/html for all unmatched domains.
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example/fullchain.pem. Your key file has 
   been saved at:
   /etc/letsencrypt/live/linode.nspeaks.com/privkey.pem Your cert will
   expire on 2020-09-04. To obtain a new or tweaked version of this
   certificate in the future, simply run certbot again. To
   non-interactively renew *all* of your certificates, run "certbot
   renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Maintenant ouvrez la console Admin et allez à Écouteurs >> Ajouter un nouvel écouteur et ajoutez les valeurs suivantes.

Listener Name: SSL
IP Address: ANY
Port: 443
Secure: Yes

Écouteur SSL

Cliquez sur Enregistrer une fois terminé. Ensuite, allez à la section Mappages d’hôtes virtuels sous l’écouteur SSL en cliquant sur SSL, cliquez sur le bouton Ajouter et remplissez les valeurs suivantes.

Virtual Host: example.com
Domains: example.com

Cliquez sur Enregistrer une fois terminé.

Ensuite, allez à Écouteurs >> Écouteur SSL >> Onglet SSL >> Clé privée SSL & Certificat (bouton Modifier) et remplissez les valeurs suivantes pour le certificat auto-signé que nous avons créé précédemment.

Private Key File: /home/user/key.pem
Certificate File: /home/user/cert.pem
Chained Certificate: Yes

Clé et certificat SSL auto-signés

Ensuite, allez à Hôtes virtuels >> example.com >> Onglet SSL >> Clé privée SSL & Certificat (bouton Modifier) et remplissez les valeurs suivantes avec le certificat Let’s Encrypt.

Private Key File: /etc/letsencrypt/live/example.com/privkey.pem
Certificate File: /etc/letsencrypt/live/example.com/fullchain.pem
Chained Certificate: Yes

Clé et certificat SSL Let's Encrypt

Cliquez sur Enregistrer une fois terminé.

Redémarrez le serveur en cliquant sur le bouton de redémarrage gracieux.

Étape 9 - Tester le site

Créez un fichier de test dans votre répertoire html.

$ sudo nano /usr/local/lsws/example.com/html/index.php

Collez le code suivant dans l’éditeur Nano.



    

Test d'installation du serveur OpenLiteSpeed

Bonjour,

'; // Définir les variables PHP pour la connexion MySQL. $servername = "localhost"; $username = "testuser"; $password = "password"; // Créer une connexion MySQL. $conn = mysqli_connect($servername, $username, $password); // Signaler si la connexion échoue ou réussit. if (!$conn) { exit('

Votre connexion a échoué.

' . mysqli_connect_error()); } echo '

Vous êtes connecté avec succès.

'; ?>

Visitez votre site à https://example.com dans un navigateur et vous devriez voir la page suivante.

Test de site OpenLiteSpeed

C’est tout pour ce tutoriel. Si vous avez des questions, posez-les dans les commentaires ci-dessous.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.