So installierst du den LOMP Stack (OpenLiteSpeed, MySQL und PHP) auf Rocky Linux 9

OpenLiteSpeed ist eine schlanke und quelloffene Version des LiteSpeed Servers, der von LiteSpeed Technologies entwickelt wurde. Er unterstützt Apache Rewrite-Regeln, HTTP/2 und HTTP/3 sowie die Protokolle TLS v1.3 und QUIC. Er verfügt über ein WebGUI-basiertes Administrationspanel, wodurch er sich von anderen Servern unterscheidet und einfacher zu verwalten ist.

Der LOMP-Stack ist ein Akronym für Linux, OpenLiteSpeed, MySQL/MariaDB und PHP. Litespeed-Server sind für ihre Geschwindigkeit bekannt, vor allem in Verbindung mit PHP, das über das LiteSpeed Server Application Programming Interface (LSAPI) eingebunden wird. Der LiteSpeed PHP (LSPHP) Interpreter bedient dynamische PHP-Seiten über LSAPI.

Dieser Lehrgang zeigt dir Schritt für Schritt, wie du einen LOMP Server auf einem Rocky Linux 9 Rechner installierst.

Voraussetzungen

  • Ein Server, auf dem Rocky Linux 9 läuft.
  • Ein Nicht-Root-Benutzer mit sudo-Rechten.
  • Ein vollständig qualifizierter Domainname (FQDN) wie example.com, der auf den Server zeigt.
  • SELinux muss nicht deaktiviert oder konfiguriert werden, um mit OpenLiteSpeed zu arbeiten.
  • Stelle sicher, dass alles auf dem neuesten Stand ist.
    $ sudo dnf update
    
  • Ein paar Pakete, die dein System braucht.
    $ sudo dnf install wget curl nano unzip yum-utils -y
    

    Einige dieser Pakete sind vielleicht schon auf deinem System installiert.

Schritt 1 – Firewall konfigurieren

Der erste Schritt besteht darin, die Firewall zu konfigurieren. Rocky Linux verwendet die Firewalld Firewall. Überprüfe den Status der Firewall.

$ sudo firewall-cmd --state
running

Die Firewall arbeitet mit verschiedenen Zonen, wobei die öffentliche Zone die Standardzone ist, die wir verwenden werden. Liste alle Dienste und Ports auf, die auf der Firewall aktiv sind.

$ sudo firewall-cmd --permanent --list-services

Es sollte die folgende Ausgabe angezeigt werden.

cockpit dhcpv6-client ssh

OpenLiteSpeed benötigt den Port 7080 für sein Administrationspanel.

$ sudo firewall-cmd --permanent --add-port=7080/tcp

Außerdem brauchen wir HTTP- und HTTPS-Ports, um zu funktionieren. Öffne sie.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

Lade die Firewall neu, um die Änderungen zu übernehmen.

$ sudo firewall-cmd --reload

Liste alle Dienste erneut auf.

$ sudo firewall-cmd --permanent --list-services

Du solltest die folgende Ausgabe erhalten.

cockpit dhcpv6-client http https ssh

Schritt 2 – Installiere OpenLiteSpeed

Lade die OpenLiteSpeed Binärdatei herunter. Den Link zur aktuellen Binärdatei findest du auf der offiziellen Downloadseite von OpenLiteSpeed.

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

Entpacke die Datei.

$ tar -zxf openlitespeed-*.tgz

Wechsle in das entpackte Verzeichnis.

$ cd openlitespeed

Führe das Installationsprogramm aus.

$ sudo ./install.sh

Warte einige Zeit, bis das Installationsprogramm fertig ist.

Es gibt einige Probleme mit OpenLiteSpeed auf dem Rocky Linux 9 Rechner, die zu Fehlermeldungen über fehlende PHP-Pakete führen können. Du kannst sie vorerst ignorieren, denn der Server kann mit verschiedenen Workarounds trotzdem laufen.

Das Installationsskript installiert und aktiviert den lshttpd systemd-Dienst.

Starte den OpenLiteSpeed-Server.

$ sudo systemctl start lshttpd

Überprüfe die installierte Version des Servers.

$ /usr/local/lsws/bin/lshttpd -v
LiteSpeed/1.7.16 Open (BUILD built: Thu Nov 17 16:18:46 UTC 2022) 
        module versions:
        lsquic 3.1.1
        modgzip 1.1
        cache 1.64
        mod_security 1.4

Erstelle das Administrator-Passwort

Führe das Skript zum Zurücksetzen des Passworts aus.

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

Du wirst die folgende Ausgabe erhalten. Gib admin als Benutzernamen ein und setze ein sicheres Passwort.

Please specify the user name of administrator.
This is the user name required to login the administration Web interface.

User name [admin]: admin

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

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

Du kannst nun das neue Administrator-Passwort verwenden.

Öffne http://<YOURSERVERIP>:7080, um auf das Administrationspanel von OpenLiteSpeed zuzugreifen. Bei der ersten Anmeldung warnt dein Browser, dass deine Verbindung nicht privat ist. Klicke auf „Erweitert“ und dann auf „Risiko akzeptieren und fortfahren“ (bei Firefox) oder „Weiter zu <YOURSERVERIP>(unsafe)“ (bei Chromium-basierten Browsern). Du wirst die Warnung nicht mehr sehen.

Du solltest die Anmeldeseite sehen.

OpenLiteSpeed Anmeldeseite

Gib admin als Benutzernamen und Passwort ein, die du zuvor festgelegt hast, und klicke auf die Schaltfläche Anmelden, um fortzufahren.

Du erhältst den folgenden Bildschirm.

OpenLiteSpeed Admin Panel

Schritt 3 – PHP installieren

Das Installationsprogramm von OpenLiteSpeed installiert standardmäßig PHP 7.4. Im Fall von Rocky Linux 9 wird es nicht automatisch installiert. Außerdem werden wir eine aktuelle Version von PHP installieren. Zuvor müssen wir jedoch das LiteSpeed-Repository installieren.

Installiere das OpenLiteSpeed Repository, indem du den folgenden Befehl ausführst.

$ sudo rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.3-1.el8.noarch.rpm

Du kannst die neueste Version der RPM-Datei von der OpenLiteSpeed-Repository-Seite herunterladen.

Installiere PHP 8.2.

$ sudo dnf install lsphp82 lsphp82-mysqlnd lsphp82-process lsphp82-bcmath lsphp82-pdo lsphp82-common lsphp82-xml lsphp82-opcache lsphp82-soap

Die Pakete lsphp-gd, und lsphp-mbstring fehlen noch im Repository. Wenn du sie haben willst, musst du also noch eine Weile warten, bis sie offiziell veröffentlicht werden.

Überprüfe die PHP-Installation.

$ /usr/local/lsws/lsphp82/bin/php -v
PHP 8.2.1 (cli) (built: Jan  3 2023 18:40:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.1, Copyright (c), by Zend Technologies

Du kannst die Liste der aktivierten PHP-Module überprüfen.

$ /usr/local/lsws/lsphp82/bin/php --modules
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
random
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

Wir werden OpenLiteSpeed später für die Zusammenarbeit mit PHP konfigurieren.

Schritt 4 – MySQL installieren

Installiere den MySQL-Server.

$ sudo dnf install mysql-server

Aktiviere und starte den MySQL-Server.

$ sudo systemctl enable mysqld --now

Überprüfe den Status des Dienstes.

$ sudo systemctl status mysqld

Du wirst die folgende Ausgabe erhalten.

? mysqld.service - MySQL 8.0 database server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2023-02-17 07:31:00 UTC; 2s ago
    Process: 14933 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
    Process: 14955 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
   Main PID: 15054 (mysqld)
     Status: "Server is operational"
      Tasks: 39 (limit: 5873)
     Memory: 427.1M
        CPU: 4.079s
     CGroup: /system.slice/mysqld.service
             ??15054 /usr/libexec/mysqld --basedir=/usr

Feb 17 07:30:51 nspeaks.xyz systemd[1]: Starting MySQL 8.0 database server...
Feb 17 07:30:51 nspeaks.xyz mysql-prepare-db-dir[14955]: Initializing MySQL database
Feb 17 07:31:00 nspeaks.xyz systemd[1]: Started MySQL 8.0 database server.

Führe das MySQL-Sicherheitsskript aus.

$ sudo mysql_secure_installation

Du erhältst mehrere Eingabeaufforderungen. In der ersten Eingabeaufforderung wirst du gefragt, ob du das Validate Password Plugin installieren möchtest. Drücke Y, um das Plugin zu installieren. Wähle 2 als Sicherheitsstufe, damit dein Passwort mindestens 8 Zeichen lang ist und eine Mischung aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen enthält.

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

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

Als nächstes wirst du aufgefordert, ein sicheres Root-Passwort zu erstellen. Achte darauf, dass dein Passwort den Anforderungen des Validate Plugins entspricht.

Please set the password for root here.

New password: 

Re-enter new password:

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

Als Nächstes werden dir mehrere Fragen zur Erhöhung der Sicherheit der Datenbank gestellt. Drücke bei jeder Aufforderung Y.

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!

Melde dich in der MySQL-Shell an.

$ mysql -u root -p

Gib dein Root-Passwort ein, wenn du dazu aufgefordert wirst.

Erstelle eine Testdatenbank und einen Benutzer mit Zugangsberechtigung. Ersetze testdb und testuser durch geeignete Namen für deine Einrichtung. Ersetze password durch ein sicheres Passwort.

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

Beende die MySQL-Shell.

mysql> exit

Schritt 5 – OpenLiteSpeed konfigurieren

HTTP-Port wieder auf 80 umstellen

Lass uns den Standard-HTTP-Port auf 80 ändern. Melde dich mit den soeben erstellten Anmeldedaten in deinem Administrationsbereich unter http://<YOURSERVERIP>:7080 an.

Rufe den Abschnitt Listeners auf der linken Seite auf. Du wirst die Standard-Listener mit dem Port 8080 sehen.

OpenLiteSpeed Listener

Klicke auf die Schaltfläche Anzeigen, um die detaillierte Konfiguration zu sehen. Auf der nächsten Seite unter Listener Standard > Allgemeine Seite klickst du auf das Symbol Bearbeiten und änderst den Port von 8080 in 80.

OpenLiteSpeed Standard-Listener

OpenLiteSpeed Listener Bearbeiten

Klicke auf Speichern und starte den Server neu, indem du auf die Schaltfläche Gnadenloser Neustart klickst.

OpenLiteSpeed Server neu starten

Schritt 6 – PHP konfigurieren

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

Klicke auf der linken Seite auf den Abschnitt Serverkonfiguration und dann auf den Reiter Externe App. Dort siehst du eine bestehende LiteSpeed App für PHP. Wir werden einige Änderungen an ihr vornehmen.

OpenLiteSpeed Externe Anwendungen

Klicke auf die Schaltfläche Bearbeiten, um die PHP-App zu bearbeiten.

Als Nächstes musst du die Konfiguration wie unten gezeigt anpassen. Lasse alle anderen Felder leer.

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: lsphp82/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

Klicke auf Speichern, wenn du fertig bist.

LiteSpeed SAPI App

Jetzt, da wir unsere eigene PHP 8.2-App erstellt haben, müssen wir dem Server mitteilen, dass er sie verwenden soll. Da wir den Standardeintrag bearbeitet haben, ist er bereits konfiguriert. Starte den Server neu, indem du auf die Schaltfläche Gnadenloser Neustart klickst.

Um zu testen, ob dein PHP korrekt umgestellt wurde, besuche http://<YOURSERVERIP>/phpinfo.php in deinem Browser.

OpenLiteSpeed PHP Infos

Schritt 7 – VirtualHost erstellen

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

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

Das Verzeichnis html wird die öffentlichen Dateien enthalten und das Verzeichnis logs wird die Server-Logs enthalten.

Als Nächstes öffnest du die Verwaltungskonsole, rufst links den Bereich Virtuelle Hosts auf und klickst auf die Schaltfläche Hinzufügen.

OpenLiteSpeed Virtual Hosts Zusammenfassung

Fülle die Werte wie angegeben aus

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

OpenLiteSpeed Virtual Host Einstellungen

Klicke auf die Schaltfläche Speichern, wenn du fertig bist. Du bekommst die folgende Fehlermeldung, weil die Konfigurationsdatei noch nicht existiert. Klicke auf den Link, um die Konfigurationsdatei zu erstellen.

OpenLiteSpeed Virtual Host Konfiguration

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

Sobald der virtuelle Host erstellt ist, gehe zu Virtuelle Hosts -> Wähle Virtuellen Host(example.com) -> Allgemein und ändere die Konfiguration wie angegeben.

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

OpenLiteSpeed Virtual Host Allgemeiner Abschnitt

Klicke auf die Schaltfläche Speichern, wenn du fertig bist. Als nächstes müssen wir die Indexdateien einrichten. Klicke auf die Schaltfläche Bearbeiten neben Indexdateien unter dem Abschnitt Allgemein. Stelle die folgenden Optionen ein.

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

OpenLiteSpeed Index Dateien

Klicke auf Speichern, wenn du fertig bist. Als Nächstes müssen wir die Logdateien auswählen. Gehe zum Abschnitt Log, klicke auf Bearbeiten unter Virtual Host Log und trage die folgenden Werte ein. Lass die anderen Einstellungen unverändert.

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

OpenLiteSpeed Virtual Host Log

Du kannst als Log Level DEBUG wählen, wenn du auf einem Produktions-/Entwicklungsrechner arbeitest.

Klicke auf Speichern und dann auf das Pluszeichen im Abschnitt Zugriffsprotokoll, um einen neuen Eintrag hinzuzufügen. Fülle 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: Not Set

OpenLiteSpeed Zugriffsprotokoll

Klicke auf Speichern, wenn du fertig bist. Als Nächstes müssen wir die Zugriffskontrolle unter dem Abschnitt Sicherheit konfigurieren. Lege die folgenden Werte fest.

Allowed List: *
Denied List: Not set

OpenLiteSpeed Zugangskontrolle

Klicke auf Speichern, wenn du fertig bist. Als Nächstes müssen wir die Definition des Skript-Handlers festlegen. Klicke auf das Pluszeichen (+), um eine neue Definition hinzuzufügen. Lege die folgenden Werte fest.

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

OpenLiteSpeed Script Handler Definition

Klicke auf Speichern, wenn du fertig bist. Als Nächstes musst du die Rewrite Control im Abschnitt Rewrite festlegen. Stelle die folgenden Werte ein.

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

OpenLiteSpeed Rewrite Control

Klicke auf Speichern, wenn du fertig bist. Zu guter Letzt müssen wir die Listener einstellen. Gehe zum Abschnitt Listeners und klicke auf die Schaltfläche View neben Default Listener. Klicke dann auf die Schaltfläche Hinzufügen unter Virtuelle Host-Zuordnungen, um eine neue Zuordnung hinzuzufügen, und lege die folgenden Werte fest.

Virtual Host: example.com
Domains: example.com

OpenLiteSpeed Virtual Host Mappings

Klicke auf Speichern, wenn du fertig bist. Klicke nun auf die Schaltfläche Gnadenloser Neustart, um alle oben genannten Änderungen zu übernehmen und den Server neu zu starten.

Schritt 8 – SSL installieren

Um SSL in OpenLiteSpeed einzurichten, müssen wir zwei Zertifikate einrichten. Ein selbstsigniertes Zertifikat für den gesamten Server und ein Let’s Encrypt-Zertifikat für den standortspezifischen Server.

Zuerst erstellen wir das selbstsignierte Zertifikat.

$ openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes

Du wirst eine ähnliche Ausgabe erhalten.

-----
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) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:example.com
Email Address []:navjot@example.com

Du kannst in allen Feldern die Eingabetaste drücken und sie leer lassen. Gib deine Domain für den Common Name und deine E-Mail-Adresse ein.

Die Zertifikate werden nun im Verzeichnis /home/user gespeichert. Wir werden diese Informationen später brauchen.

Um Let’s Encrypt nutzen zu können, müssen wir das Tool Certbot installieren. Dazu verwenden wir den Snapd-Paketinstaller. Da Rocky Linux nicht mit diesem Paket ausgeliefert wird, installierst du den Snapd-Installer. Er benötigt das EPEL-Repository, um zu funktionieren.

$ sudo dnf install -y epel-release

Installiere Snapd.

$ sudo dnf install -y snapd

Aktiviere und starte den Snap-Dienst.

$ sudo systemctl enable snapd --now

Installiere das Snap-Kernpaket und stelle sicher, dass deine Snapd-Version auf dem neuesten Stand ist.

$ sudo snap install core && sudo snap refresh core

Erstelle die notwendigen Links, damit Snapd funktioniert.

$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh

Gib den folgenden Befehl ein, um Certbot zu installieren.

$ sudo snap install --classic certbot

Stelle mit folgendem Befehl sicher, dass der Certbot-Befehl ausgeführt werden kann, indem du einen symbolischen Link auf das Verzeichnis /usr/bin erstellst.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Überprüfe die Installation.

$ certbot --version
certbot 2.3.0

Führe den folgenden Befehl aus, um ein SSL-Zertifikat zu erzeugen.

Beziehe das SSL-Zertifikat. Das Webroot-Verzeichnis wird auf das zuvor konfigurierte öffentliche HTML-Verzeichnis gesetzt.

$ sudo certbot certonly --webroot -w /usr/local/lsws/example.com/html/ --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m name@example.com -d example.com

Erstelle ein Diffie-Hellman-Gruppenzertifikat.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Um zu überprüfen, ob die SSL-Erneuerung einwandfrei funktioniert, führe einen Probelauf des Prozesses durch.

$ sudo certbot renew --dry-run

Wenn du keine Fehler siehst, ist alles in Ordnung. Dein Zertifikat wird automatisch erneuert.

Öffne nun die Verwaltungskonsole und gehe zu Listeners >> Add New Listener und füge die folgenden Werte hinzu.

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

OpenLiteSpeed SSL Listener

Klicke auf Speichern, wenn du fertig bist. Als Nächstes gehst du zum Abschnitt Virtuelle Host-Zuordnungen unter dem SSL-Listener, indem du auf SSL klickst, auf die Schaltfläche Hinzufügen klickst und die folgenden Werte einträgst.

Virtual Host: example.com
Domains: example.com

OpenLiteSpeed Virtual Host Mapping

Klicke auf Speichern, wenn du fertig bist. Als Nächstes gehst du zu Listeners >> SSL Listener >> SSL Tab >>SSL Private Key & Certificate (Schaltfläche Edit) und gibst die folgenden Werte für das selbstsignierte Zertifikat ein, das wir zuvor erstellt haben.

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

OpenLiteSpeed Selbstsignierter SSL Schlüssel und Zertifikat

Klicke auf Speichern, wenn du fertig bist. Gehe dann zu Listeners >> SSL Listener >> Registerkarte SSL >> SSL-Protokoll (Schaltfläche Bearbeiten) und gib die folgenden Werte für das SSL-Protokoll und die Verschlüsselungsdetails ein.

Protocol Version: TLS v1.2 TLS v1.3
Ciphers: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384
Enable ECDH Key Exchange: Yes
Enable DH Key Exchange: Yes
DH Parameter: /etc/ssl/certs/dhparam.pem

OpenLiteSpeed SSL-Protokolle

Klicke auf Speichern, wenn du fertig bist. Als nächstes gehst du zu Virtuelle Hosts >> example.com >> Registerkarte SSL >> SSL Private Key & Certificate (Schaltfläche Bearbeiten) und gibst die folgenden Werte für das Let’s Encrypt-Zertifikat ein.

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

OpenLiteSpeed Let's Encrypt SSL Schlüssel und Zertifikat

Klicke auf Speichern, wenn du fertig bist. Als nächstes gehst du zu Virtuelle Hosts >> example.com >> Registerkarte SSL >> OCSP Stapling (Schaltfläche Bearbeiten) und gibst die folgenden Werte ein, um OCSP Stapling zu aktivieren.

Enable OCSP Stapling: Yes
OCSP Response Max Age(Secs): 300
OCSP Responder: http://r3.o.lencr.org

OCSP Stacking

Klicke auf Speichern, wenn du fertig bist. Als nächstes gehst du zu Virtuelle Hosts >> example.com >> Registerkarte SSL >> Sicherheit (Schaltfläche Bearbeiten) und gibst die folgenden Werte ein, um das HTTP3/QUIC-Protokoll zu aktivieren.

Enable HTTP3/QUIC: Yes

Die anderen Optionen brauchen wir nicht zu aktivieren, da sie standardmäßig aktiviert sind.

OpenLiteSpeed HTTP3/QUIC Protokoll

Klicke auf Speichern, wenn du fertig bist.

Starte den Server neu, indem du auf die Schaltfläche Gnadenloser Neustart klickst.

Schritt 9 – Testseite

Erstelle eine Testdatei in deinem html Verzeichnis.

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

Füge 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>

Öffne die URL https://example.com in einem Browser und du solltest die folgende Seite sehen.

OpenLiteSpeed Website Test

Die Testseite ist voll funktionsfähig. Du kannst den Server nun für dynamische PHP-Websites und -Anwendungen nutzen.

Fazit

Damit ist unsere Anleitung zur Installation von LOMP Stack (OpenLiteSpeed, MySQL und PHP) auf einem Rocky Linux 9 Server abgeschlossen. Wenn du noch Fragen hast, schreibe sie in die Kommentare unten.

Das könnte dich auch interessieren …