GNU/Linux >> LINUX-Kenntnisse >  >> Fedora

So installieren und konfigurieren Sie OpenLiteSpeed ​​Server auf Fedora 31 zusammen mit MariaDB

OpenLiteSpeed ​​ist eine leichtgewichtige Open-Source-Version des von LiteSpeed ​​Technologies entwickelten LiteSpeed-Servers. Es unterstützt Apache Rewrite-Regeln, HTTP/2 und HTTP/3 zusammen mit den Protokollen TLS v1.3 und QUIC. Er verfügt über ein WebGUI-basiertes Administrationspanel, das ihn von anderen Servern unterscheidet und einfacher zu verwalten ist.

In diesem Tutorial lernen wir, wie man OpenLiteSpeed ​​Server auf Fedora 31 zusammen mit PHP 7.4 und MariaDB-Server installiert.

Voraussetzungen

  • Fedora 31-basierter Webserver.

  • Ein Nicht-Root-Benutzerkonto mit sudo-Berechtigungen.

  • Aktualisieren Sie Ihr System.

    $ sudo dnf update
    
  • libnsl-Paket. Dieses Paket enthält die öffentliche Clientschnittstelle für NIS-Dienste. Um es zu installieren, führen Sie den folgenden Befehl aus.

    $ sudo dnf install libnsl -y
    

Schritt 1 - Firewall konfigurieren

Bevor wir mit dem Tutorial beginnen, müssen wir die Fedora-Firewall konfigurieren, die normalerweise standardmäßig aktiviert ist. Lassen Sie uns zuerst den Status der Firewall überprüfen.

$ sudo systemctl status firewalld

Wenn es nicht funktioniert, starten Sie die Firewall.

$ sudo systemctl start firewalld

Als nächstes müssen wir SSH, HTTP, HTTPS und die Ports 7080, 8088 für die Firewall aktivieren.

$ 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

Wenn Sie fertig sind, können Sie die Liste der Ausnahmen sehen, die umgesetzt werden.

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

Wenn Sie mit den Änderungen zufrieden sind, laden Sie die Firewall neu, um die Änderungen live zu schalten.

$ sudo firewall-cmd --reload

Aktivieren Sie die Firewall, damit sie bei jedem Systemstart neu geladen wird.

$ sudo systemctl enable firewalld

Schritt 2 - OpenLiteSpeed ​​installieren

Führen Sie den folgenden Befehl aus, um das OpenLiteSpeed-Binärpaket von der Website herunterzuladen. Zum Zeitpunkt des Schreibens dieses Tutorials war die neueste verfügbare Version 1.6.4. Überprüfen Sie die neueste Version auf der Download-Seite und ändern Sie die URL nach Bedarf.

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

Extrahieren Sie das Archiv.

$ tar -zxvf openlitespeed-1.6.4.tgz

Wechseln Sie zu openlitespeed Verzeichnis und führen Sie das Installationsskript aus.

$ cd openlitespeed
$ sudo ./install.sh

Starten Sie den Webserver.

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

Überprüfen Sie den Status des Servers.

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

Öffnen Sie http://:8088 um auf Ihren Webserver zuzugreifen. Sie sollten die folgende Seite sehen.

Schritt 3 - PHP installieren

Der OpenLiteSpeed-Server wird mit voraktiviertem PHP 5.6 ausgeliefert. Aber wir wollen PHP 7.4 verwenden, also werden wir unsere Kopie installieren.

Installieren Sie das REMI-Repository, das das offizielle Fedora-Repository zum Installieren von PHP-Paketen ist.

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

Aktivieren Sie remi und remi-php74 Repositories und deaktivieren Sie remi-modular Repository. Dadurch wird das Repository aktiviert, das zum Installieren von PHP 7.4-Paketen erforderlich ist.

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

Installieren Sie PHP 7.4 zusammen mit einigen zusätzlichen Paketen.

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

Überprüfen Sie Ihre PHP-Installation.

$ 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

Sie können nach aktivierten PHP-Modulen suchen.

$ php --modules

Wir werden PHP später so konfigurieren, dass es mit OpenLiteSpeed ​​funktioniert.

Schritt 4 – MariaDB installieren

MariaDB-Server installieren.

$ sudo dnf install mariadb-server

Starten und aktivieren Sie den MariaDB-Dienst.

$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb

Sichern Sie Ihre MariaDB-Installation. Dieses Skript setzt Ihr Root-Passwort, entfernt anonyme Benutzer, verbietet Remote-Root-Login und löscht Testtabellen. Wählen Sie ein sicheres Passwort und beantworten Sie die Fragen wie unten beschrieben.

$ 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!

Sobald dies erledigt ist, können Sie sich mit dem folgenden Befehl bei der MySQL-Shell anmelden.

$ sudo mysql -u root -p

Erstellen Sie eine Testdatenbank und einen Benutzer mit Zugriffsberechtigung. Ersetzen Sie testdb und testuser mit passenden Namen für Ihr Setup. Ersetzen Sie password mit einem starken Passwort.

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

Beenden Sie die MySQL-Shell.

exit

Schritt 5 – OpenLiteSpeed ​​konfigurieren

Admin-Panel konfigurieren

Legen Sie die Anmeldeinformationen für das Administrator-Panel fest.

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

Mit diesem Befehl können Sie sowohl den Benutzernamen als auch das Passwort festlegen. Sie können diesen Befehl auch verwenden, falls Sie Ihre Anmeldedaten vergessen haben.

Um auf das Verwaltungsfenster zuzugreifen, öffnen Sie http://:7080 .

Stellen Sie den HTTP-Port zurück auf 80

Lassen Sie uns den Standard-HTTP-Port auf 80 ändern. Melden Sie sich unter http://:7080 in Ihrem Administrationsbereich an mit den Anmeldeinformationen, die Sie gerade erstellt haben.

Sie werden von folgendem Bildschirm begrüßt.

Besuchen Sie den Listener-Bereich von links. Sie sehen die Standard-Listener mit Port 8080.

Klicken Sie auf Ansicht Schaltfläche, um die Detailkonfiguration anzuzeigen. Auf der nächsten Seite unter Listener Default> Allgemeine Seite , klicken Sie auf das Bearbeiten-Symbol und ändern Sie den Port von 8088 auf 80.

Klicken Sie auf Speichern und starten Sie den Server neu, indem Sie auf Ordentlicher Neustart klicken Schaltfläche.

Schritt 6 - PHP konfigurieren

In diesem Schritt müssen wir unsere Kopie von PHP 7.4 mit dem Server verknüpfen.

Klicken Sie auf die Serverkonfiguration Abschnitt links und dann auf den Reiter Externe App . Sie sehen eine vorhandene LiteSpeed-App für PHP 5.6. Wir werden unsere eigene LiteSpeed ​​App für PHP 7.4 erstellen. Sie können später problemlos zwischen ihnen wechseln, wenn Sie möchten.

Klicken Sie auf die Schaltfläche Hinzufügen, um eine neue App zu erstellen. Wählen Sie als Typ LiteSpeed ​​SAPI App aus und klicken Sie auf Weiter.

Fügen Sie als Nächstes die folgende Konfiguration hinzu. Lassen Sie alle anderen Felder leer.

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

Klicken Sie abschließend auf Speichern.

Nachdem wir nun unsere eigene auf PHP 7.4 basierende Anwendung erstellt haben, müssen wir dem Server mitteilen, dass er mit der Verwendung beginnen soll.

Gehen Sie zum Skript-Handler und bearbeiten Sie den lsphp-Handler . Ändern Sie den Handle-Namen in lsphp74 aus dem Dropdown-Menü.

Klicken Sie auf Speichern und starten Sie den Server neu, indem Sie auf Ordentlicher Neustart klicken Schaltfläche.

Um zu testen, ob Ihr PHP korrekt umgestellt wurde, besuchen Sie http:///phpinfo.php in Ihrem Browser.

Schritt 7 – Virtuellen Host einrichten

Zuerst müssen wir Verzeichnisse für unseren virtuellen Host erstellen.

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

Die html Verzeichnis enthält die öffentlichen Dateien und die logs Verzeichnis enthält Serverprotokolle.

Öffnen Sie als Nächstes die Admin-Konsole und greifen Sie auf die virtuellen Hosts zu Abschnitt von links und klicken Sie auf die Schaltfläche Hinzufügen.

Geben Sie die Werte wie angegeben ein

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

Klicken Sie auf die Schaltfläche Speichern, wenn Sie fertig sind. Sie erhalten die folgende Fehlermeldung, da die Konfigurationsdatei noch nicht existiert. Klicken Sie auf den Link, um die Konfigurationsdatei zu erstellen.

Klicken Sie erneut auf die Schaltfläche Speichern, um die Erstellung des virtuellen Hosts abzuschließen.

Sobald der virtuelle Host erstellt ist, gehen Sie zu Virtuelle Hosts -> Virtuellen Host auswählen (example.com) -> Allgemein und ändern Sie die Konfiguration wie angegeben.

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

Klicken Sie abschließend auf die Schaltfläche Speichern. Als nächstes müssen wir Indexdateien einrichten. Klicken Sie auf die Schaltfläche „Bearbeiten“ neben „Indexdateien“ unterhalb des Abschnitts „Allgemein“. Legen Sie die folgenden Optionen fest.

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

Klicken Sie abschließend auf Speichern. Als nächstes müssen wir Protokolldateien auswählen. Gehen Sie zum Abschnitt Protokoll und klicken Sie neben Protokoll des virtuellen Hosts auf Bearbeiten und füllen Sie die folgenden Werte aus.

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

Sie können die Protokollebene als DEBUG auswählen wenn Sie sich auf einer Produktions-/Entwicklungsmaschine befinden.

Klicken Sie auf Speichern und öffnen Sie dann das Zugriffsprotokoll Sektion. Geben Sie die folgenden Werte ein.

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

Klicken Sie abschließend auf Speichern. Als nächstes müssen wir die Zugriffskontrolle konfigurieren unter Sicherheit Sektion. Legen Sie die folgenden Werte fest.

Allowed List: *
Denied List: Not set

Klicken Sie abschließend auf Speichern. Als nächstes müssen wir den Skript-Handler festlegen. Legen Sie die folgenden Werte fest.

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

Als nächstes müssen wir Rewrite Control einstellen unter dem Abschnitt Umschreiben. Legen Sie die folgenden Werte fest.

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

Und zuletzt müssen wir die Listeners festlegen. Gehen Sie zum Abschnitt „Listener“ und klicken Sie neben Standard-Listener auf die Schaltfläche „Anzeigen“. . Klicken Sie dann neben Zuordnungen virtueller Hosts auf die Schaltfläche Hinzufügen um eine neue Zuordnung hinzuzufügen und die folgenden Werte festzulegen.

Virtual Host: example.com
Domains: example.com

Klicken Sie abschließend auf Speichern. Klicken Sie nun auf die Schaltfläche Graceful restart, um alle oben genannten Änderungen zu übernehmen und den Server neu zu starten.

Schritt 8 – SSL einrichten

Um Let's Encrypt verwenden zu können, müssen wir das Certbot-Tool installieren.

$ sudo dnf install certbot

Rufen Sie das SSL-Zertifikat ab.

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

Folgen Sie der interaktiven Eingabeaufforderung.

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

Öffnen Sie nun die Admin-Konsole und gehen Sie zu Zuhörer>> Neuen Zuhörer hinzufügen und fügen Sie die folgenden Werte hinzu.

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

Klicken Sie abschließend auf Speichern. Gehen Sie als Nächstes zu Zuordnungen virtueller Hosts Abschnitt unter SSL Listener , klicken Sie auf die Schaltfläche Hinzufügen und geben Sie die folgenden Werte ein.

Virtual Host: example.com
Domains: example.com

Klicken Sie abschließend auf Speichern.

Gehen Sie als Nächstes zu Listeners>> SSL Listener>> SSL Tab>>SSL Private Key &Certificate (Schaltfläche Bearbeiten) und füllen Sie die folgenden Werte aus

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

Klicken Sie abschließend auf Speichern. Starten Sie den Server neu, indem Sie auf die Schaltfläche Graceful restart klicken.

Schritt 9 – Website testen

Erstellen Sie eine Testdatei in Ihrem html Verzeichnis.

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

Fügen Sie den folgenden Code in den Nano-Editor ein.

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

Besuchen Sie Ihre Website unter https://example.com in einem Browser und Sie sollten die folgende Seite sehen.

Das ist alles für dieses Tutorial. Wenn Sie Fragen haben, schreiben Sie sie unten in die Kommentare.


Fedora
  1. So installieren und konfigurieren Sie MySQL Server 8 auf Fedora 34/35

  2. So installieren und konfigurieren Sie Redis 6 auf Fedora 34

  3. So installieren und konfigurieren Sie Postgres 14 auf Fedora 34

  4. So installieren und konfigurieren Sie Ansible auf Fedora 35

  5. So installieren und konfigurieren Sie Mariadb in Fedora 35

So installieren und konfigurieren Sie Drupal auf Fedora 35/34

So installieren und konfigurieren Sie Git auf Fedora 35

So installieren Sie Redis &Configure auf Fedora 35

So installieren Sie MariaDB auf Fedora 35

So installieren Sie Apache Server auf Fedora 35

So installieren Sie den OpenLiteSpeed-Webserver mit MariaDB und PHP