GNU/Linux >> Tutoriels Linux >  >> Fedora

Comment installer et configurer OpenLiteSpeed ​​Server sur Fedora 31 avec MariaDB

OpenLiteSpeed ​​est une version allégée et open source du serveur LiteSpeed ​​développé par LiteSpeed ​​Technologies. Il prend en charge les règles Apache Rewrite, HTTP/2 et HTTP/3 ainsi que les protocoles TLS v1.3 et QUIC. Il est livré avec un panneau d'administration basé sur WebGUI qui le rend différent des autres serveurs et plus facile à gérer.

Dans ce tutoriel, nous allons apprendre à installer OpenLiteSpeed ​​Server sur Fedora 31 avec PHP 7.4 et le serveur MariaDB.

Prérequis

  • Serveur Web basé sur Fedora 31.

  • Un compte utilisateur non root avec des privilèges sudo.

  • Mettez à jour votre système.

    $ sudo dnf update
    
  • paquet libnsl. Ce package contient l'interface client publique pour les services NIS. Pour l'installer, lancez la commande suivante.

    $ sudo dnf install libnsl -y
    

Étape 1 - Configurer le pare-feu

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

$ sudo systemctl status firewalld

S'il ne fonctionne pas, démarrez le pare-feu.

$ sudo systemctl start firewalld

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

$ sudo firewall-cmd --permanent --add-service=ssh
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
$ sudo firewall-cmd --permanent --add-port=7080/tcp
$ sudo firewall-cmd --permanent --add-port=8088/tcp

Lorsque vous avez terminé, vous pouvez voir la liste des exemptions qui seront mises en œuvre.

$ sudo firewall-cmd --permanent --list-all

Lorsque vous êtes satisfait des modifications, rechargez le pare-feu pour appliquer les modifications.

$ sudo firewall-cmd --reload

Activez le pare-feu pour qu'il soit rechargé à chaque démarrage.

$ sudo systemctl enable firewalld

Étape 2 - Installer OpenLiteSpeed

Exécutez la commande suivante pour télécharger le package binaire OpenLiteSpeed ​​à partir du site Web. Au moment de la rédaction de ce didacticiel, la dernière version disponible était la 1.6.4. Vérifiez la dernière version sur la page de téléchargement et modifiez l'URL si nécessaire.

$ wget https://openlitespeed.org/packages/openlitespeed-1.6.4.tgz

Extraire l'archive.

$ tar -zxvf openlitespeed-1.6.4.tgz

Passer à openlitespeed répertoire et exécutez le script d'installation.

$ cd openlitespeed
$ sudo ./install.sh

Démarrez le serveur Web.

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

Vérifiez l'état du serveur.

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

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

Étape 3 - Installer PHP

Le serveur OpenLiteSpeed ​​est livré avec PHP 5.6 qui est pré-activé. Mais nous voulons utiliser PHP 7.4 donc nous allons installer notre copie.

Installez le référentiel REMI qui est le référentiel Fedora officiel pour l'installation des packages PHP.

$ sudo dnf -y install https://rpms.remirepo.net/fedora/remi-release-31.rpm

Activer le remi et remi-php74 référentiels et désactiver le remi-modular dépôt. Cela active le référentiel requis pour installer les packages PHP 7.4.

$ sudo dnf config-manager --set-enabled remi
$ sudo dnf config-manager --set-enabled remi-php74
$ sudo dnf config-manager --set-disabled remi-modular

Installez PHP 7.4 avec quelques packages supplémentaires.

$ sudo dnf install php php-mysqlnd php-gd php-mcrypt php-bcmath php-litespeed

Vérifiez votre installation PHP.

$ php -v
PHP 7.4.0 (cli) (built: Nov 26 2019 20:13:36) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
   with Zend OPcache v7.4.0, Copyright (c), by Zend Technologies

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

$ php --modules

Nous configurerons PHP pour qu'il fonctionne avec OpenLiteSpeed ​​plus tard.

Étape 4 - Installer MariaDB

Installez le serveur MariaDB.

$ sudo dnf install mariadb-server

Démarrez et activez le service MariaDB.

$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb

Sécurisez votre installation MariaDB. Ce script définira votre mot de passe root, supprimera les utilisateurs anonymes, interdira 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 au shell MySQL en utilisant la commande suivante.

$ sudo mysql -u root -p

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

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

Quittez le shell MySQL.

exit

Étape 5 - Configurer OpenLiteSpeed

Configurer le panneau d'administration

Définissez les informations d'identification du panneau administrateur.

$ sudo /usr/local/lsws/admin/misc/admpass.sh

Vous pouvez définir à la fois le nom d'utilisateur et le mot de passe à l'aide de cette commande. Vous pouvez également utiliser cette commande au cas où vous oublieriez vos informations de connexion.

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

Rebasculer le port HTTP sur 80

Changeons le port HTTP par défaut en 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.

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

Cliquez sur Afficher bouton pour voir la configuration des détails. Sur la page suivante sous Listener Default> General Page , cliquez sur l'icône Modifier et changez le port de 8088 à 80.

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

Étape 6 - Configurer PHP

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

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

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

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: /usr/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 basée sur PHP 7.4, nous devons dire au serveur de commencer à l'utiliser.

Accédez au gestionnaire de scripts tab et modifiez le gestionnaire lsphp . Remplacez le nom du handle par lsphp74 dans le menu déroulant.

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

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

É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 html répertoire contiendra les fichiers publics et les logs répertoire contiendra les journaux du serveur.

Ensuite, ouvrez la console d'administration et accédez aux hôtes virtuels section à partir de la 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 pour le moment. 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 dans Hôtes virtuels -> Choisir l'hôte virtuel (exemple.com) -> Général et modifiez la configuration comme indiqué.

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

Cliquez sur le bouton Enregistrer lorsque vous avez terminé. Ensuite, nous devons configurer les fichiers d'index. Cliquez sur le bouton Modifier contre les fichiers d'index sous la section générale. 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. Accédez à la section Journal et cliquez sur Modifier par rapport au 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

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

Cliquez sur Enregistrer, puis ouvrez le Journal d'accès section. 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

Cliquez sur Enregistrer lorsque vous avez terminé. Ensuite, nous devons configurer le contrôle d'accès sous la rubrique Sécurité section. Définissez les valeurs suivantes.

Allowed List: *
Denied List: Not set

Cliquez sur Enregistrer lorsque vous avez terminé. Ensuite, nous devons définir le gestionnaire de script. Définissez les valeurs suivantes.

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

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

Enable Rewrite: Yes
Auto Load from .htaccess: Yes
Log Level: Not Set

Et enfin, nous devons définir les auditeurs. Allez dans la section Listeners et cliquez sur le bouton View contre Default Listener . Ensuite, cliquez sur le bouton Ajouter en regard de Mappages d'hôtes virtuels pour ajouter un nouveau mappage et définir les valeurs suivantes.

Virtual Host: example.com
Domains: example.com

Cliquez sur Enregistrer lorsque vous avez terminé. Maintenant, cliquez sur le bouton de redémarrage gracieux pour appliquer toutes les modifications ci-dessus et redémarrer le serveur.

Étape 8 - Configurer SSL

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

$ sudo dnf 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-03-07. 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

Ouvrez maintenant la console d'administration et accédez à Écouteurs>> Ajouter un nouvel écouteur et ajoutez les valeurs suivantes.

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

Cliquez sur Enregistrer lorsque vous avez terminé. Ensuite, accédez à Mappages d'hôtes virtuels sous Écouteur 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é.

Allez ensuite dans Listeners>> SSL Listener>> SSL Tab>>SSL Private Key &Certificate (bouton Modifier) ​​et remplissez les valeurs suivantes

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é. Redémarrez le serveur en cliquant sur le bouton de redémarrage progressif.

Étape 9 - Site de test

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

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

Collez le code suivant dans l'éditeur Nano.

<html>
<head>
    <h2>OpenLiteSpeed Server Install Test</h2>
</head>
    <body>
    <?php echo '<p>Hello,</p>';

    // Define PHP variables for the MySQL connection.
    $servername = "localhost";
    $username = "testuser";
    $password = "password";

    // Create a MySQL connection.
    $conn = mysqli_connect($servername, $username, $password);

    // Report if the connection fails or is successful.
    if (!$conn) {
        exit('<p>Your connection has failed.<p>' .  mysqli_connect_error());
    }
    echo '<p>You have connected successfully.</p>';
    ?>
</body>
</html>

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

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


Fedora
  1. Comment installer et configurer Mysql Server 8 sur Fedora 34/35

  2. Comment installer et configurer Redis 6 sur Fedora 34

  3. Comment installer et configurer Postgres 14 sur Fedora 34

  4. Comment installer et configurer Ansible sur Fedora 35

  5. Comment installer et configurer Mariadb dans Fedora 35

Comment installer et configurer Drupal sur Fedora 35/34

Comment installer et configurer Git sur Fedora 35

Comment installer Redis et configurer sur Fedora 35

Comment installer MariaDB sur Fedora 35

Comment installer le serveur Apache sur Fedora 35

Comment installer OpenLiteSpeed ​​Web Server avec MariaDB et PHP