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.com pointant 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 -y Certains 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://:7080 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 à (non sécurisé) “ (dans le cas d’un navigateur basé sur Chromium). Vous ne verrez plus l’avertissement.

Vous devriez voir la page de connexion.

Page de connexion OpenLiteSpeed

Entrez les identifiants que vous avez définis précédemment et appuyez sur le bouton Connexion pour continuer.

Vous obtiendrez l’écran suivant.

Panneau d'administration OpenLiteSpeed

É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://:7080 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.

Écouteurs OpenLiteSpeed

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.

Écouteur par défaut OpenLiteSpeed

Édition de l'écouteur OpenLiteSpeed

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.

Démonstration OpenLiteSpeed

É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.

Applications externes OpenLiteSpeed

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é.

Application SAPI OpenLiteSpeed

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:///phpinfo.php dans votre navigateur.

Informations PHP OpenLiteSpeed

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.

Résumé des hôtes virtuels OpenLiteSpeed

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 OpenLiteSpeed

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.

Configuration de l'hôte virtuel OpenLiteSpeed

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

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

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

Fichiers index OpenLiteSpeed

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

Journal de l'hôte virtuel OpenLiteSpeed

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

Journal d'accès OpenLiteSpeed

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

Contrôle d'accès OpenLiteSpeed

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

Définition du gestionnaire de scripts OpenLiteSpeed

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

Contrôle de réécriture OpenLiteSpeed

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

Écouteur SSL OpenLiteSpeed

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

Clé et certificat SSL auto-signés OpenLiteSpeed

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

Protocoles SSL OpenLiteSpeed

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

Clé et certificat SSL Let's Encrypt OpenLiteSpeed

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

OCSP Stapling OpenLiteSpeed

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.

Activer les protocoles SSL et HTTPS OpenLiteSpeed

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.

Test du site OpenLiteSpeed

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.

Share: X/Twitter LinkedIn

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

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