Installation serveur · 24 min read · Nov 24, 2025
Comment installer la pile LOMP (OpenLiteSpeed, MySQL et PHP) sur Ubuntu 24.04

OpenLiteSpeed est une version légère et open-source du serveur LiteSpeed développée par LiteSpeed Technologies. Il prend en charge les règles de réécriture Apache, HTTP/2 et HTTP/3, ainsi que les protocoles TLS v1.3 et QUIC. Il est livré avec un panneau d’administration basé sur une interface Web, ce qui le rend différent des autres serveurs et plus facile à gérer.
La pile LOMP est un acronyme pour Linux, OpenLiteSpeed, MySQL/MariaDB et PHP. Les serveurs Litespeed sont connus pour leur rapidité, en particulier avec PHP, qui s’intègre en utilisant l’interface de programmation d’application du serveur LiteSpeed (LSAPI). L’interpréteur PHP LiteSpeed (LSPHP) sert des pages PHP dynamiques via LSAPI.
Ce tutoriel vous montrera comment installer un serveur OpenLiteSpeed sur Ubuntu 24.04.
Prérequis
- Un serveur exécutant Ubuntu 24.04.
- Un utilisateur non-root avec des privilèges sudo.
- Un nom de domaine entièrement qualifié (FQDN) comme
example.compointant vers le serveur. - Assurez-vous que tout est à jour.
$ sudo apt update $ sudo apt upgrade - Quelques paquets dont votre système a besoin.
$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -yCertains de ces paquets peuvent déjà être installés sur votre système.
Étape 1 - Configurer le pare-feu
La première étape consiste à configurer le pare-feu. Debian est livré par défaut avec ufw (Uncomplicated Firewall).
Vérifiez si le pare-feu est en cours d’exécution.
$ sudo ufw status
Vous obtiendrez la sortie suivante.
Status: inactive
Autorisez le port SSH afin que le pare-feu ne rompe pas la connexion actuelle lors de son activation.
$ sudo ufw allow OpenSSH
Autorisez également les ports HTTP et HTTPS.
$ sudo ufw allow http
$ sudo ufw allow https
Ouvrez les ports liés à Openlitespeed.
$ sudo ufw allow 7080/tcp
Activez le pare-feu
$ sudo ufw enable
La commande peut perturber les connexions ssh existantes. Poursuivre l'opération (y|n)? y
Le pare-feu est actif et activé au démarrage du système
Vérifiez à nouveau l’état du pare-feu.
$ sudo ufw status
Vous devriez voir une sortie similaire.
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
7080/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
7080/tcp (v6) ALLOW Anywhere (v6)
Étape 2 - Installer OpenLiteSpeed
Nous allons installer OpenLiteSpeed en le compilant à partir du code source. Téléchargez le fichier source d’OpenLiteSpeed. Vous pouvez obtenir le lien vers le dernier fichier source sur la page de téléchargements officielle d’OpenLiteSpeed. La version 1.7.19 est la version stable actuelle disponible.
$ wget https://openlitespeed.org/packages/openlitespeed-1.7.19.src.tgz
Extrayez le fichier.
$ tar -zxf openlitespeed-*.tgz
Passez au répertoire extrait.
$ cd openlitespeed-1.7.19
Construisez le paquet du serveur.
$ sudo ./build.sh
Vous devrez peut-être attendre environ 5 à 10 minutes pour que le processus se termine. Ignorez les avertissements que vous recevez pendant le processus. Vous recevrez la sortie suivante lorsque c’est terminé.
...............
[100%] Linking CXX shared library modpagespeed.so
/usr/bin/ld: warning: 140.x25519-asm-x86_64.o.o: missing .note.GNU-stack section implies executable stack
/usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
[100%] Built target modpagespeed
Start to pack files.
-e Building finished, please run ./install.sh for installation.
-e You may want to update the ols.conf to change the settings before installation.
-e Enjoy.
Une fois le processus terminé, ouvrez le fichier ols.conf pour l’éditer.
$ sudo nano ols.conf
Modifiez le fichier comme indiqué ci-dessous.
#If you want to change the default values, please update this file.
#
SERVERROOT=/usr/local/lsws
OPENLSWS_USER=nobody
OPENLSWS_GROUP=nobody
OPENLSWS_ADMIN=navjot
OPENLSWS_ADMINEMAIL=[email protected]
OPENLSWS_ADMINSSL=yes
OPENLSWS_ADMINPORT=7080
USE_LSPHP7=yes
DEFAULT_TMP_DIR=/tmp/lshttpd
PID_FILE=/tmp/lshttpd/lshttpd.pid
OPENLSWS_EXAMPLEPORT=8088
#You can set password here
#OPENLSWS_PASSWORD=
N’ajoutez pas votre mot de passe ici. Nous définirons le mot de passe plus tard en utilisant la ligne de commande. Une fois que vous avez terminé, enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Maintenant qu’OpenLiteSpeed est construit, installons-le.
$ sudo ./install.sh
Le script d’installation installe et active le service lsws pour le serveur. Vous recevrez la sortie suivante lorsque c’est terminé.
Updating webcache manager, please waiting ...
Downloading latest shared code tar file...
Checking tar file md5...
Removing existing shared code directory...
Extracting downloaded shared code...
Removing local shared code tar file...
Updating lscmctl script...
Done!
-e Installation finished, Enjoy!
-e Your webAdmin password is kXjWTl5j, written to file /usr/local/lsws/adminpasswd.
Démarrez le serveur OpenLiteSpeed.
$ sudo systemctl start lsws
Vérifiez l’état du service.
$ sudo systemctl status lsws
? lshttpd.service - OpenLiteSpeed HTTP Server
Loaded: loaded (/usr/lib/systemd/system/lshttpd.service; enabled; preset: enabled)
Active: active (running) since Sun 2024-06-02 12:58:44 UTC; 3s ago
Process: 52583 ExecStart=/usr/local/lsws/bin/lswsctrl start (code=exited, status=0/SUCCESS)
Main PID: 52604 (litespeed)
CGroup: /system.slice/lshttpd.service
??52604 "openlitespeed (lshttpd - main)"
??52610 "openlitespeed (lscgid)"
??52623 "openlitespeed (lshttpd - #01)"
??52624 lsphp
Jun 02 12:58:42 lompserver systemd[1]: Starting lshttpd.service - OpenLiteSpeed HTTP Server...
Jun 02 12:58:42 lompserver lswsctrl[52583]: [OK] litespeed: pid=52604.
Jun 02 12:58:44 lompserver systemd[1]: Started lshttpd.service - OpenLiteSpeed HTTP Server.
Vérifiez la version du serveur installé.
$ /usr/local/lsws/bin/lshttpd -v
LiteSpeed/1.7.19 Open (BUILD built: Tue Apr 16 15:14:26 UTC 2024)
module versions:
lsquic 3.3.2
modgzip 1.1
cache 1.66
mod_security 1.4 (with libmodsecurity v3.0.12)
Créer le mot de passe administrateur
Vous pouvez utiliser le mot de passe administrateur donné lors du processus d’installation. Cependant, vous devriez créer le vôtre en le réinitialisant. Exécutez le script de réinitialisation du mot de passe.
$ sudo /usr/local/lsws/admin/misc/admpass.sh
Vous obtiendrez la sortie suivante. Choisissez votre nom d’utilisateur et définissez un mot de passe fort.
Please specify the user name of administrator.
This is the user name required to login the administration Web interface.
User name [admin]: navjot
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 maintenant utiliser le nouveau mot de passe administrateur.
Ouvrez http:// pour accéder au panneau d’administration d’OpenLiteSpeed. Lors de votre première connexion, votre navigateur avertira 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 à “ (dans le cas d’un navigateur basé sur Chromium). Vous ne verrez plus l’avertissement.
Vous devriez voir la page de connexion.

Entrez les identifiants que vous avez définis précédemment et appuyez sur le bouton Connexion pour continuer.
Vous obtiendrez l’écran suivant.

Étape 3 - Installer MySQL
Avant de continuer avec l’installation de MySQL, nous devons mettre à jour le dépôt LiteSpeed. Le dépôt Litespeed ajouté via l’installateur ne fonctionne pas correctement.
Ouvrez le fichier /etc/apt/sources.list.d/lst_debian_repo.list pour l’éditer.
$ sudo nano /etc/apt/sources.list.d/lst_debian_repo.list
Changez le contenu du fichier en ajoutant le nom de la version Ubuntu 24.04 ( noble) à l’URL du dépôt.
deb http://rpms.litespeedtech.com/debian/ noble main
Une fois que vous avez terminé, enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Installez le serveur MySQL.
$ sudo apt install mysql-server
Le service MySQL est automatiquement démarré et en cours d’exécution après l’installation.
Vérifiez l’état du service.
$ sudo systemctl status mysql
Vous obtiendrez la sortie suivante.
? mysql.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: enabled)
Active: active (running) since Sun 2024-06-02 13:42:12 UTC; 8min ago
Process: 57889 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 57898 (mysqld)
Status: "Server is operational"
Tasks: 37 (limit: 2263)
Memory: 370.6M (peak: 386.9M)
CPU: 6.762s
CGroup: /system.slice/mysql.service
??57898 /usr/sbin/mysqld
Jun 02 13:42:11 lompserver systemd[1]: Starting mysql.service - MySQL Community Server...
Exécutez le script de sécurité MySQL.
$ sudo mysql_secure_installation
On vous demandera d’installer le Validate Password Component. Appuyez sur Y pour continuer.
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: y
Ensuite, on vous demandera de choisir la force du mot de passe. Sélectionnez 2 pour Fort et continuez.
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
L’installation de MySQL ne vous demandera pas de définir un mot de passe root car le type d’authentification par défaut est auth_socket qui dépend de l’authentification de votre système Linux. Vous pouvez cependant le changer plus tard.
Skipping password set for root as authentication with auth_socket is used by default.
If you would like to use password authentication instead, this can be done with the "ALTER_USER" command.
See https://dev.mysql.com/doc/refman/8.0/en/alter-user.html#alter-user-password-management for more information.
Ensuite, on vous posera certaines questions pour améliorer la sécurité de MySQL. Tapez Y pour supprimer les utilisateurs anonymes, interdire les connexions root à distance, supprimer la base de données de test et recharger les tables de privilèges.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : y
Success.
By default, MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : y
Success.
All done!
Vous pouvez entrer dans le shell MySQL en tapant sudo mysql dans la ligne de commande.
Étape 4 - Installer PHP
Puisque nous avons construit notre paquet à partir de la source, il compile et construit une ancienne version de PHP qui n’est pas recommandée pour une utilisation. Vous pouvez le vérifier via la commande suivante.
$ /usr/local/lsws/fcgi-bin/lsphp -v
PHP 5.6.40 (litespeed) (built: May 10 2023 23:03:31)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Par conséquent, nous devons construire et installer la dernière version de PHP. Mais, avant de procéder, nous devons installer les outils de construction.
$ sudo apt install build-essential autoconf libtool bison re2c pkg-config
L’étape suivante consiste à installer les paquets requis par le processus de construction de PHP.
$ sudo apt install libssl-dev libsqlite3-dev zlib1g-dev libcurl4-openssl-dev libonig-dev libzip-dev libmemcached-dev libreadline-dev libgmp-dev libpng-dev libjpeg-dev libwebp-dev libxpm-dev libicu-dev libfreetype6-dev libxslt-dev libldb-dev libtidy-dev libvips-dev libsodium-dev libavif-dev libldap2-dev libxml2-dev libkrb5-dev libc-client2007e-dev libpq-dev libargon2-1 libargon2-dev libbz2-dev libffi-dev libc-client-dev libpspell-dev flex libgmp3-dev libmcrypt-dev libmhash-dev freetds-dev libmysqlclient-dev libncurses5-dev libpcre3-dev libaspell-dev librecode-dev libsnmp-dev
Ensuite, téléchargez le code source de PHP. Nous allons télécharger la version PHP 8.3.7 qui est la dernière version disponible au moment de la rédaction.
$ cd ~
$ wget https://www.php.net/distributions/php-8.3.7.tar.gz
Extrayez les fichiers.
$ tar -xzf php-8.3.7.tar.gz
Passez au répertoire téléchargé.
$ cd php-8.3.7
Ensuite, exécutez le script de configuration avec les options suivantes. L’option --enable-litespeed est essentielle.
$ sudo ./configure --prefix=/usr/local/lsws/lsphp83 --enable-bcmath --enable-calendar --enable-exif --enable-ftp --enable-gd --enable-intl --enable-mbregex --enable-mbstring --enable-mysqlnd --enable-opcache --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --with-avif --with-curl --with-ffi --with-freetype --with-gettext --with-gmp --with-imap --with-imap-ssl --with-jpeg --with-kerberos --with-libxml --with-ldap --with-mysqli --with-mysql-sock=/run/mysqld/mysqld.sock --with-openssl --with-password-argon2 --with-pdo-mysql=mysqlnd --with-pdo-pgsql=/usr/bin/pg_config --with-pear --with-pspell --with-readline --with-sodium --with-tidy --with-webp --with-xpm --with-xsl --with-zip --with-zlib --enable-litespeed
Vous devriez obtenir la sortie suivante une fois le script terminé.
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+
Thank you for using PHP.
Compilez la source.
$ sudo make -j $(nproc)
Vous recevrez une sortie similaire une fois terminé.
Generating phar.php
Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
directorytreeiterator.inc
phar.inc
invertedregexiterator.inc
directorygraphiterator.inc
pharcommand.inc
clicommand.inc
Build complete.
Don't forget to run 'make test'.
Une fois que vous avez terminé, exécutez la commande suivante pour essayer de vérifier la version.
$ ./sapi/litespeed/php -v
PHP 8.3.7 (litespeed) (built: Jun 3 2024 05:28:43)
Copyright (c) The PHP Group
Zend Engine v4.3.7, Copyright (c) Zend Technologies
Installez PHP.
$ sudo make install
Vous obtiendrez la sortie suivante.
Installing shared extensions: /usr/local/lsws/lsphp83/lib/php/extensions/no-debug-non-zts-20230831/
Installing PHP CLI binary: /usr/local/lsws/lsphp83/bin/
Installing PHP CLI man page: /usr/local/lsws/lsphp83/php/man/man1/
Installing PHP LiteSpeed binary: /usr/local/lsws/lsphp83/bin/
Installing phpdbg binary: /usr/local/lsws/lsphp83/bin/
Installing phpdbg man page: /usr/local/lsws/lsphp83/php/man/man1/
Installing PHP CGI binary: /usr/local/lsws/lsphp83/bin/
Installing PHP CGI man page: /usr/local/lsws/lsphp83/php/man/man1/
Installing build environment: /usr/local/lsws/lsphp83/lib/php/build/
Installing header files: /usr/local/lsws/lsphp83/include/php/
Installing helper programs: /usr/local/lsws/lsphp83/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/lsws/lsphp83/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/lsws/lsphp83/lib/php/
[PEAR] Archive_Tar - installed: 1.4.14
[PEAR] Console_Getopt - installed: 1.4.3
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util - installed: 1.4.5
warning: pear/PEAR dependency package "pear/Archive_Tar" installed version 1.4.14 is not the recommended version 1.4.4
[PEAR] PEAR - installed: 1.10.15
Wrote PEAR system config file at: /usr/local/lsws/lsphp83/etc/pear.conf
You may want to add: /usr/local/lsws/lsphp83/lib/php to your php.ini include_path
Installing PDO headers: /usr/local/lsws/lsphp83/include/php/ext/pdo/
Vérifiez l’installation de PHP. Il y a deux binaires PHP disponibles dans le répertoire /usr/local/lsws/lsphp83/bin. L’un est le normal php qui est la version en ligne de commande et l’autre est la version Litespeed lsphp. La seconde est celle que nous allons utiliser.
$ /usr/local/lsws/lsphp83/bin/lsphp -v
PHP 8.3.7 (litespeed) (built: Jun 3 2024 05:28:43)
Copyright (c) The PHP Group
Zend Engine v4.3.7, Copyright (c) Zend Technologies
Vous pouvez vérifier la liste des modules PHP activés.
$ /usr/local/lsws/lsphp83/bin/php --modules
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
exif
FFI
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
imap
intl
json
ldap
libxml
mbstring
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
Phar
posix
pspell
random
readline
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
sysvsem
sysvshm
tidy
tokenizer
xml
xmlreader
xmlwriter
xsl
zip
zlib
[Zend Modules]
Copiez le php.ini-production du dossier d’installation vers le dossier /usr/local/lsws/lsphp83/lib.
$ sudo cp php.ini-production /usr/local/lsws/lsphp83/lib/php.ini
Nous allons configurer OpenLiteSpeed pour travailler avec PHP plus tard.
Ouvrez le php.ini pour l’éditer.
$ sudo nano /usr/local/lsws/lsphp83/lib/php.ini
Trouvez la variable include_path et changez sa valeur comme indiqué ci-dessous.
$ ;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
include_path = "/usr/local/lsws/lsphp83/lib/php"
Une fois que vous avez terminé, enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité.
Étape 5 - Configurer MySQL
Connectez-vous au shell MySQL.
$ sudo mysql
Créez une base de données de test. Remplacez testdb par le nom de base de données approprié de votre choix.
mysql> CREATE DATABASE testdb;
Créez un utilisateur de test. Remplacez testuser par un nom d’utilisateur approprié. Remplacez Your_Password123 par un mot de passe fort.
mysql> CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'Your_Password123';
Accordez tous les privilèges sur la base de données à l’utilisateur.
mysql> GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
Rechargez les privilèges des utilisateurs.
mysql> FLUSH PRIVILEGES;
Quittez le shell MySQL.
mysql> exit
Étape 6 - Configurer OpenLiteSpeed
Revenir au port HTTP 80
Changeons le port HTTP par défaut à 80. Connectez-vous à votre panneau d’administration à http:// avec les identifiants que vous venez de créer.
Visitez la section Listeners à gauche. Vous verrez les écouteurs par défaut avec le port 8080.

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


Cliquez sur Enregistrer et redémarrez le serveur en cliquant sur le bouton de redémarrage gracieux.
Ouvrez l’URL http:// dans votre navigateur et vous devriez obtenir la page suivante.

Étape 7 - Configurer PHP
Dans cette étape, nous devons associer notre copie de PHP 8.3 avec le serveur.
Cliquez sur la section Server Configuration à gauche, puis sur l’onglet External App. Vous verrez une application LiteSpeed existante pour PHP. Nous allons y apporter quelques modifications.

Cliquez sur le bouton Edit pour modifier l’application PHP.
Ensuite, faites correspondre la configuration comme indiqué ci-dessous. Laissez tous les autres champs vides.
Name: lsphp
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: lsphp83/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 lorsque vous avez terminé.

Maintenant que nous avons créé notre propre application PHP 8.3, nous devons dire au serveur de commencer à l’utiliser. Puisque nous avons modifié l’écoute par défaut, elle est déjà configurée. Redémarrez le serveur en cliquant sur le bouton de redémarrage gracieux.
Pour tester si votre PHP a été correctement changé, visitez http:// dans votre navigateur.

Redémarrer PHP
Sur OpenLiteSpeed, si vous modifiez php.ini ou installez un nouveau module PHP, le redémarrage du serveur ne montrera pas les changements. Vous devrez redémarrer le processus PHP pour cela. Tout d’abord, vous devrez localiser les identifiants de processus pour le processus lsphp.
$ ps aux | grep lsphp
nobody 120093 0.0 0.8 123772 32920 ? S 06:35 0:00 lsphp
nobody 120111 0.0 0.4 123772 18980 ? Ss 06:38 0:00 lsphp
navjot 120139 0.0 0.0 6544 2304 pts/0 S+ 06:44 0:00 grep --color=auto lsphp
Tuez manuellement les processus lsphp.
$ sudo kill -9 120093
$ sudo kill -9 120111
Redémarrez le serveur.
$ sudo systemctl restart lsws
Étape 8 - Créer un VirtualHost
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, accédez à la section Virtual Hosts à gauche et cliquez sur le bouton Ajouter.

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

Cliquez sur le bouton Enregistrer lorsque vous avez 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.

Cliquez à nouveau sur le bouton Enregistrer pour terminer la création de l’hôte virtuel.
Une fois l’hôte virtuel créé, allez à Virtual Hosts -> Choisir Virtual Host(example.com) -> Général et modifiez la configuration comme indiqué.
Document Root: $VH_ROOT/html/
Domain Name: example.com
Enable GZIP Compression: Yes
Enable Brotli Compression: Yes

Cliquez sur le bouton Enregistrer lorsque vous avez terminé. Ensuite, nous devons configurer les fichiers index. Cliquez sur le bouton d’édition contre Index files en dessous de 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

Cliquez sur Enregistrer lorsque vous avez terminé. Ensuite, nous devons choisir les fichiers journaux. Allez à la section Log, cliquez sur Éditer contre Virtual Host Log, et remplissez les valeurs suivantes. Laissez les autres paramètres inchangés.
Use Server’s Log: Yes
File Name: $VH_ROOT/logs/error.log
Log Level: ERROR
Rolling Size (bytes): 10M
Keep Days: 30
Compress Archive: Not Set

Vous pouvez choisir le Niveau de journal comme DEBUG si vous êtes sur une machine de développement.
Cliquez sur Enregistrer, puis cliquez sur le signe plus dans la section Access Log 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
Compress Archive: Not Set
Bytes log: Not Set

Cliquez sur Enregistrer lorsque vous avez terminé. Ensuite, nous devons configurer Access Control sous la section Security. Définissez les valeurs suivantes.
Allowed List: *
Denied List: Not set

Cliquez sur Enregistrer lorsque vous avez terminé. Ensuite, nous devons définir la Définition du gestionnaire de scripts. Cliquez sur le signe plus (+) pour ajouter une nouvelle définition. Définissez les valeurs suivantes.
Suffixes: php
Handler Type: LiteSpeed SAPI
Handler Name: [Server Level]: lsphp

Cliquez sur Enregistrer lorsque vous avez terminé. Ensuite, nous devons définir Rewrite Control sous la section Rewrite. Définissez les valeurs suivantes.
Enable Rewrite: Yes
Auto Load from .htaccess: Yes
Log Level: Not Set

Cliquez sur Enregistrer lorsque vous avez terminé. Et enfin, nous devons définir les écouteurs. Allez à la section Listeners et cliquez sur le bouton View contre Default Listener. Ensuite, cliquez sur le bouton Ajouter contre Virtual Host Mappings pour ajouter un nouveau mappage et définissez les valeurs suivantes.
Virtual Host: example.com
Domains: example.com
Cliquez sur Enregistrer lorsque vous avez terminé. Maintenant, cliquez sur le bouton Graceful restart pour appliquer tous les changements ci-dessus et redémarrer le serveur.
Étape 9 - Installer SSL
La configuration de SSL dans OpenLiteSpeed nécessite que nous configurions deux certificats. Un certificat auto-signé pour le serveur global et un certificat spécifique au site Let’s Encrypt.
Le panneau d’administration est déjà livré avec un certificat auto-signé pré-installé qui est disponible dans le répertoire /usr/local/lsws/admin/conf.
Créons d’abord le certificat auto-signé pour le serveur global.
$ cd ~
$ openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes
Vous obtiendrez une sortie similaire.
-----
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) []:example.com
Email Address []:[email protected]
Vous pouvez appuyer sur entrer à travers tous les champs et les laisser vides. Remplissez votre domaine pour le nom commun et votre adresse e-mail.
Créez le répertoire pour les certificats auto-signés.
$ sudo mkdir /usr/local/lsws/certs
Copiez le certificat dans le répertoire /usr/local/lsws/certs.
$ sudo mv *.pem /usr/local/lsws/certs
Nous devons installer Certbot pour générer des certificats SSL gratuits offerts par Let’s Encrypt.
Vous pouvez soit installer Certbot en utilisant le dépôt de Debian, soit obtenir la dernière version en utilisant l’outil Snapd. Nous allons utiliser la version Snapd. Ubuntu 24.04 est livré avec Snapd pré-installé.
Exécutez les commandes suivantes pour vous assurer que votre version de Snapd est à jour.
$ sudo snap install core
$ sudo snap refresh core
Émettez la commande suivante pour installer Certbot.
$ sudo snap install --classic certbot
Utilisez la commande suivante pour vous assurer que la commande Certbot peut être exécutée en créant un lien symbolique vers le répertoire /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Vérifiez l’installation.
$ certbot --version
certbot 2.10.0
Exécutez la commande suivante pour générer un certificat SSL.
Obtenez le certificat SSL. Le répertoire webroot est défini sur le répertoire HTML public configuré précédemment.
$ sudo certbot certonly --webroot -w /usr/local/lsws/example.com/html/ --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d example.com
Générez un certificat de groupe Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Vérifiez le service de planification de renouvellement de Certbot.
$ sudo systemctl list-timers
Vous trouverez snap.certbot.renew.service comme l’un des services programmés pour s’exécuter.
NEXT LEFT LAST PASSED UNIT ACTIVATES
Mon 2024-06-03 07:20:00 UTC 5min Mon 2024-06-03 07:10:02 UTC 4min 11s ago sysstat-collect.timer sysstat-collect.service
Mon 2024-06-03 08:29:00 UTC 1h 14min - - snap.certbot.renew.timer snap.certbot.renew.service
Mon 2024-06-03 08:50:32 UTC 1h 36min Mon 2024-06-03 07:04:04 UTC 10min ago fwupd-refresh.timer fwupd-refresh.service
Pour vérifier si le renouvellement SSL fonctionne correctement, effectuez un essai à sec du processus.
$ sudo certbot renew --dry-run
Si vous ne voyez aucune erreur, vous êtes prêt. Votre certificat se renouvellera automatiquement.
Maintenant, ouvrez la console Admin, allez à Listeners >> Add New Listener, et ajoutez les valeurs suivantes.
Listener Name: SSL
IP Address: ANY IPv4
Port: 443
Secure: Yes

Cliquez sur Enregistrer lorsque vous avez terminé. Ensuite, allez à la section Virtual Host Mappings 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 lorsque vous avez terminé. Ensuite, allez à Listeners >> SSL Listener >> SSL Tab >>SSL Private Key & Certificate (bouton Éditer) et remplissez les valeurs suivantes pour le certificat auto-signé que nous avons créé précédemment.
Private Key File: $SERVER_ROOT/certs/key.pem
Certificate File: $SERVER_ROOT/certs/cert.pem
Chained Certificate: Yes

Cliquez sur Enregistrer lorsque vous avez terminé. Ensuite, allez à Listeners >> SSL Listener >> SSL Tab >> SSL Protocol (bouton Éditer) et remplissez les valeurs suivantes pour le protocole SSL et les détails de chiffrement.
Protocol Version: TLS v1.2 TLS v1.3
Ciphers: ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
Enable ECDH Key Exchange: Yes
Enable DH Key Exchange: Yes
DH Parameter: /etc/ssl/certs/dhparam.pem

Cliquez sur Enregistrer lorsque vous avez terminé. Ensuite, allez à Virtual Hosts >> example.com >> SSL Tab >> SSL Private Key & Certificate (bouton Éditer) 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

Cliquez sur Enregistrer lorsque vous avez terminé. Ensuite, allez à Virtual Hosts >> example.com >> SSL Tab >> OCSP Stapling (bouton Éditer) et remplissez les valeurs suivantes pour activer OCSP Stapling.
Enable OCSP Stapling: Yes
OCSP Response Max Age(Secs): 300
OCSP Responder: http://r3.o.lencr.org

Cliquez sur Enregistrer lorsque vous avez terminé. Ensuite, allez à Virtual Hosts >> example.com >> SSL Tab >> Security (bouton Éditer) et remplissez les valeurs suivantes pour activer le protocole HTTP3/QUIC.
ALPN: Enable HTTP/2 and HTTP/3
Enable HTTP3/QUIC: Yes
Nous n’avons pas besoin d’activer d’autres options car elles sont activées par défaut.

Cliquez sur Enregistrer lorsque vous avez terminé.
Redémarrez le serveur en cliquant sur le bouton de redémarrage gracieux.
Étape 10 - 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
Hello,';
// Définir les variables PHP pour la connexion MySQL.
$servername = "localhost";
$username = "testuser";
$password = "Your_Password123";
// 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 vous êtes connecté avec succès.
';
?>
Enregistrez le fichier en appuyant sur Ctrl + X et en entrant Y lorsque vous y êtes invité. Ouvrez l’URL https://example.com dans un navigateur et vous devriez voir la page suivante.

Le site de test est entièrement fonctionnel. Vous pouvez commencer à utiliser le serveur pour servir des sites Web et des applications PHP dynamiques.
Conclusion
Cela conclut notre tutoriel sur l’installation de la pile LOMP (OpenLiteSpeed, MySQL et PHP) sur un serveur Ubuntu 24.04. Si vous avez des questions, postez-les dans les commentaires ci-dessous.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.