Server Installation · 23 min read · Nov 24, 2025

So installieren Sie den LOMP-Stack (OpenLiteSpeed, MySQL und PHP) auf Ubuntu 24.04

OpenLiteSpeed ist eine leichte und Open-Source-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 kommt mit einem WebGUI-basierten Administrationspanel, was ihn von anderen Servern unterscheidet und die Verwaltung erleichtert.

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

Dieses Tutorial zeigt Ihnen, wie Sie einen OpenLiteSpeed-Server auf Ubuntu 24.04 installieren.

Voraussetzungen

  • Ein Server, der Ubuntu 24.04 ausführt.
  • Ein Nicht-Root-Benutzer mit Sudo-Rechten.
  • Ein vollständig qualifizierter Domainname (FQDN) wie example.com, der auf den Server verweist.
  • Stellen Sie sicher, dass alles aktualisiert ist.
    $ sudo apt update
    $ sudo apt upgrade
  • Einige Pakete, die Ihr System benötigt.
    $ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y
    Einige dieser Pakete sind möglicherweise bereits auf Ihrem System installiert.

Schritt 1 - Firewall konfigurieren

Der erste Schritt besteht darin, die Firewall zu konfigurieren. Debian wird standardmäßig mit ufw (Uncomplicated Firewall) geliefert.

Überprüfen Sie, ob die Firewall läuft.

$ sudo ufw status

Sie erhalten die folgende Ausgabe.

Status: inactive

Erlauben Sie den SSH-Port, damit die Firewall die aktuelle Verbindung beim Aktivieren nicht unterbricht.

$ sudo ufw allow OpenSSH

Erlauben Sie auch die HTTP- und HTTPS-Ports.

$ sudo ufw allow http
$ sudo ufw allow https

Öffnen Sie die Ports, die mit OpenLiteSpeed verbunden sind.

$ sudo ufw allow 7080/tcp

Aktivieren Sie die Firewall

$ sudo ufw enable
Befehl kann bestehende SSH-Verbindungen stören. Mit der Operation fortfahren (y|n)? y
Firewall ist aktiv und beim Systemstart aktiviert

Überprüfen Sie den Status der Firewall erneut.

$ sudo ufw status

Sie sollten eine ähnliche Ausgabe sehen.

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)

Schritt 2 - OpenLiteSpeed installieren

Wir werden OpenLiteSpeed installieren, indem wir aus dem Quellcode kompilieren. Laden Sie die OpenLiteSpeed-Quellcodedatei herunter. Sie können den Link zur neuesten Quellcodedatei von der offiziellen OpenLiteSpeed-Downloadseite erhalten. Die Version 1.7.19 ist die derzeit verfügbare stabile Version.

$ wget https://openlitespeed.org/packages/openlitespeed-1.7.19.src.tgz

Entpacken Sie die Datei.

$ tar -zxf openlitespeed-*.tgz

Wechseln Sie in das entpackte Verzeichnis.

$ cd openlitespeed-1.7.19

Bauen Sie das Serverpaket.

$ sudo ./build.sh

Sie müssen möglicherweise 5-10 Minuten warten, bis der Prozess abgeschlossen ist. Ignorieren Sie alle Warnungen, die Sie während des Prozesses erhalten. Sie erhalten die folgende Ausgabe, wenn der Vorgang abgeschlossen ist.

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

Sobald der Prozess abgeschlossen ist, öffnen Sie die Datei ols.conf zur Bearbeitung.

$ sudo nano ols.conf

Bearbeiten Sie die Datei wie unten gezeigt.

#Wenn Sie die Standardwerte ändern möchten, aktualisieren Sie bitte diese Datei.
#
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

#Sie können hier ein Passwort festlegen
#OPENLSWS_PASSWORD=

Fügen Sie hier kein Passwort hinzu. Wir werden das Passwort später über die Befehlszeile festlegen. Wenn Sie fertig sind, speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.

Jetzt, da OpenLiteSpeed gebaut ist, lassen Sie uns es installieren.

$ sudo ./install.sh

Das Installationsskript installiert und aktiviert den lsws-Dienst für den Server. Sie erhalten die folgende Ausgabe, wenn der Vorgang abgeschlossen ist.

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.

Starten Sie den OpenLiteSpeed-Server.

$ sudo systemctl start lsws

Überprüfen Sie den Status des Dienstes.

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

Überprüfen Sie die installierte Version des Servers.

$ /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)

Erstellen Sie das Administratorpasswort

Sie können das während des Installationsprozesses angegebene Administratorpasswort verwenden. Sie sollten jedoch Ihr eigenes Passwort erstellen, indem Sie es zurücksetzen. Führen Sie das Passwort-Zurücksetzskript aus.

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

Sie erhalten die folgende Ausgabe. Wählen Sie Ihren Benutzernamen und setzen Sie ein starkes Passwort.

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!

Sie können jetzt das neue Administratorpasswort verwenden. Öffnen Sie http://:7080, um auf das Administrationspanel von OpenLiteSpeed zuzugreifen. Bei Ihrem ersten Login wird Ihr Browser warnen, dass Ihre Verbindung nicht privat ist. Klicken Sie auf Erweitert und klicken Sie auf “Das Risiko akzeptieren und fortfahren” (im Fall von Firefox) oder “Fahren Sie fort zu (unsicher) “ (im Fall eines Chromium-basierten Browsers). Sie werden die Warnung nicht erneut sehen.

Sie sollten die Anmeldeseite sehen.

OpenLiteSpeed Anmeldeseite

Geben Sie die zuvor festgelegten Anmeldeinformationen ein und drücken Sie die Anmelden-Schaltfläche, um fortzufahren.

Sie erhalten den folgenden Bildschirm.

OpenLiteSpeed Admin-Panel

Schritt 3 - MySQL installieren

Bevor wir mit der MySQL-Installation fortfahren, müssen wir das LiteSpeed-Repository aktualisieren. Das über den Installer hinzugefügte LiteSpeed-Repository funktioniert nicht richtig.

Öffnen Sie die Datei /etc/apt/sources.list.d/lst_debian_repo.list zur Bearbeitung.

$ sudo nano /etc/apt/sources.list.d/lst_debian_repo.list

Ändern Sie den Inhalt der Datei, indem Sie den Release-Namen von Ubuntu 24.04 (noble) zur Repository-URL hinzufügen.

deb http://rpms.litespeedtech.com/debian/ noble main

Sobald Sie fertig sind, speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.

Installieren Sie den MySQL-Server.

$ sudo apt install mysql-server

Der MySQL-Dienst wird nach der Installation automatisch gestartet und läuft.

Überprüfen Sie den Status des Dienstes.

$ sudo systemctl status mysql

Sie erhalten die folgende Ausgabe.

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

Führen Sie das MySQL-Sicherheitsskript aus.

$ sudo mysql_secure_installation

Sie werden gefragt, ob Sie die Validate Password Component installieren möchten. Drücken Sie Y, um fortzufahren.

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

Als nächstes werden Sie aufgefordert, die Stärke des Passworts auszuwählen. Wählen Sie 2 für Stark und fahren Sie fort.

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

Die MySQL-Installation wird Sie nicht auffordern, ein Root-Passwort festzulegen, da der Standardauthentifizierungstyp auth_socket ist, der von Ihrer Linux-Systemauthentifizierung abhängt. Sie können es jedoch später ändern.

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.

Als nächstes werden Ihnen bestimmte Fragen gestellt, um die MySQL-Sicherheit zu verbessern. Geben Sie Y ein, um anonyme Benutzer zu entfernen, remote Root-Logins zu verweigern, die Testdatenbank zu entfernen und die Berechtigungstabellen neu zu laden.

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!

Sie können die MySQL-Shell eingeben, indem Sie sudo mysql in die Befehlszeile eingeben.

Schritt 4 - PHP installieren

Da wir unser Paket aus dem Quellcode gebaut haben, wird eine alte Version von PHP kompiliert und gebaut, die nicht empfohlen wird. Sie können dies mit dem folgenden Befehl überprüfen.

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

Daher müssen wir die neueste Version von PHP bauen und installieren. Aber bevor wir fortfahren, müssen wir die Build-Tools installieren.

$ sudo apt install build-essential autoconf libtool bison re2c pkg-config

Der nächste Schritt besteht darin, die Pakete zu installieren, die für den PHP-Bauprozess erforderlich sind.

$ 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

Laden Sie als Nächstes den PHP-Quellcode herunter. Wir werden die PHP-Version 8.3.7 herunterladen, die die neueste Version zum Zeitpunkt des Schreibens ist.

$ cd ~
$ wget https://www.php.net/distributions/php-8.3.7.tar.gz

Entpacken Sie die Dateien.

$ tar -xzf php-8.3.7.tar.gz

Wechseln Sie in das heruntergeladene Verzeichnis.

$ cd php-8.3.7

Führen Sie als Nächstes das Konfigurationsskript mit den folgenden Optionen aus. Die Option --enable-litespeed ist entscheidend.

$ 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

Sie sollten die folgende Ausgabe erhalten, sobald das Skript abgeschlossen ist.

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

Kompilieren Sie den Quellcode.

$ sudo make -j $(nproc)

Sie erhalten eine ähnliche Ausgabe, sobald der Vorgang abgeschlossen ist.

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

Sobald Sie fertig sind, führen Sie den folgenden Befehl aus, um die Version zu überprüfen.

$ ./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

Installieren Sie PHP.

$ sudo make install

Sie erhalten die folgende Ausgabe.

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/

Überprüfen Sie die PHP-Installation. Es gibt zwei PHP-Binärdateien im Verzeichnis /usr/local/lsws/lsphp83/bin. Eine ist die normale php, die die Befehlszeilenversion ist, und die andere ist die LiteSpeed-Version lsphp. Letztere ist die, die wir verwenden werden.

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

Sie können die Liste der aktivierten PHP-Module überprüfen.

$ /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]

Kopieren Sie die php.ini-production aus dem Installationsordner in den Ordner /usr/local/lsws/lsphp83/lib.

$ sudo cp php.ini-production /usr/local/lsws/lsphp83/lib/php.ini

Wir werden OpenLiteSpeed später so konfigurieren, dass es mit PHP funktioniert. Öffnen Sie die php.ini zur Bearbeitung.

$ sudo nano /usr/local/lsws/lsphp83/lib/php.ini

Suchen Sie die Variable include_path und ändern Sie ihren Wert wie unten gezeigt.

$ ;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
include_path = "/usr/local/lsws/lsphp83/lib/php"

Sobald Sie fertig sind, speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.

Schritt 5 - MySQL konfigurieren

Melden Sie sich bei der MySQL-Shell an.

$ sudo mysql

Erstellen Sie eine Testdatenbank. Ersetzen Sie testdb durch den entsprechenden Datenbanknamen Ihrer Wahl.

mysql> CREATE DATABASE testdb;

Erstellen Sie einen Testbenutzer. Ersetzen Sie testuser durch einen geeigneten Benutzernamen. Ersetzen Sie Your_Password123 durch ein starkes Passwort.

mysql> CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'Your_Password123';

Gewähren Sie dem Benutzer alle Berechtigungen für die Datenbank.

mysql> GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';

Aktualisieren Sie die Benutzerberechtigungen.

mysql> FLUSH PRIVILEGES;

Verlassen Sie die MySQL-Shell.

mysql> exit

Schritt 6 - OpenLiteSpeed konfigurieren

Ändern Sie den HTTP-Port zurück auf 80

Lassen Sie uns den Standard-HTTP-Port auf 80 ändern. Melden Sie sich bei Ihrem Administrationspanel unter http://:7080 mit den gerade erstellten Anmeldeinformationen an.

Besuchen Sie den Abschnitt Listeners auf der linken Seite. Sie sehen die Standard-Listener mit dem Port 8080.

OpenLiteSpeed Listener

Klicken Sie auf die Schaltfläche View, um die detaillierte Konfiguration zu sehen. Auf der nächsten Seite unter Listener Default > General-Seite klicken Sie auf das Bearbeiten-Symbol und ändern Sie den Port von 8080 auf 80.

OpenLiteSpeed Standard-Listener

OpenLiteSpeed Listener bearbeiten

Klicken Sie auf Speichern und starten Sie den Server neu, indem Sie auf die Schaltfläche Graceful restart klicken.

Öffnen Sie die URL http:// in Ihrem Browser und Sie sollten die folgende Seite erhalten.

OpenLiteSpeed Demo

Schritt 7 - PHP konfigurieren

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

Klicken Sie auf den Abschnitt Serverkonfiguration auf der linken Seite und dann auf die Registerkarte External App. Sie sehen eine vorhandene LiteSpeed-App für PHP. Wir werden einige Änderungen daran vornehmen.

OpenLiteSpeed Externe Anwendungen

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

Passen Sie als Nächstes die Konfiguration wie unten gezeigt an. Lassen Sie 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: 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

Klicken Sie auf Speichern, wenn Sie fertig sind.

OpenLiteSpeed SAPI-App

Jetzt, da wir unsere eigene PHP 8.3-App erstellt haben, müssen wir dem Server mitteilen, dass er sie verwenden soll. Da wir die Standardauflistung bearbeitet haben, ist sie bereits konfiguriert. Starten Sie den Server neu, indem Sie auf die Schaltfläche Graceful restart klicken.

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

OpenLiteSpeed PHP-Info

PHP neu starten

Bei OpenLiteSpeed, wenn Sie die php.ini bearbeiten oder ein neues PHP-Modul installieren, zeigt ein Neustart des Servers die Änderungen nicht an. Sie müssen den PHP-Prozess dafür neu starten. Zuerst müssen Sie die Prozess-IDs für den lsphp-Prozess finden.

$ 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

Beenden Sie manuell die lsphp-Prozesse.

$ sudo kill -9 120093
$ sudo kill -9 120111

Starten Sie den Server neu.

$ sudo systemctl restart lsws

Schritt 8 - Erstellen Sie einen VirtualHost

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

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

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

Öffnen Sie als Nächstes die Admin-Konsole, greifen Sie auf den Abschnitt Virtuelle Hosts auf der linken Seite zu und klicken Sie auf die Schaltfläche Hinzufügen.

OpenLiteSpeed Virtuelle Hosts Zusammenfassung

Füllen Sie die Werte wie angegeben aus.

Virtueller Hostname: example.com
Virtueller Hoststamm: $SERVER_ROOT/example.com/
Konfigurationsdatei: $SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf
Symbolischen Link folgen: Ja
Skripte/ExtApps aktivieren: Ja
Eingeschränkt: Ja
Externes App-Set UID-Modus: Server-UID

OpenLiteSpeed Virtueller Host Einstellungen

Klicken Sie auf die Schaltfläche Speichern, wenn Sie fertig sind. Sie erhalten den folgenden Fehler, da die Konfigurationsdatei derzeit nicht existiert. Klicken Sie auf den Link, um die Konfigurationsdatei zu erstellen. OpenLiteSpeed Virtueller Host Konfiguration

Klicken Sie erneut auf die Schaltfläche Speichern, um den virtuellen Host zu erstellen.

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

Dokumentenstamm: $VH_ROOT/html/
Domainname: example.com
GZIP-Komprimierung aktivieren: Ja
Brotli-Komprimierung aktivieren: Ja

Allgemeiner Abschnitt des virtuellen Hosts

Klicken Sie auf die Schaltfläche Speichern, wenn Sie fertig sind. Als Nächstes müssen wir die Indexdateien einrichten. Klicken Sie auf die Schaltfläche Bearbeiten gegenüber Indexdateien unter dem Abschnitt Allgemein. Stellen Sie die folgenden Optionen ein.

Server-Indexdateien verwenden: Nein
Indexdateien: index.php, index.html, index.htm
Auto-Index: Nein

OpenLiteSpeed Indexdateien

Klicken Sie auf Speichern, wenn Sie fertig sind. Als Nächstes müssen wir die Protokolldateien auswählen. Gehen Sie zum Abschnitt Protokoll, klicken Sie auf Bearbeiten gegenüber Virtueller Host-Protokoll und füllen Sie die folgenden Werte aus. Lassen Sie andere Einstellungen unverändert.

Verwenden Sie das Serverprotokoll: Ja
Dateiname: $VH_ROOT/logs/error.log
Protokollebene: FEHLER
Rolling Size (bytes): 10M
Tage behalten: 30
Komprimierungsarchiv: Nicht festgelegt

OpenLiteSpeed Virtueller Host-Protokoll

Sie können die Protokollebene auf DEBUG festlegen, wenn Sie sich auf einem Entwicklungsrechner befinden.

Klicken Sie auf Speichern und klicken Sie dann auf das Pluszeichen im Abschnitt Zugriffsprotokoll, um einen neuen Eintrag hinzuzufügen. Füllen Sie die folgenden Werte aus.

Protokollsteuerung: Eigenes Protokoll
Dateiname: $VH_ROOT/logs/access.log
Piped Logger: Nicht festgelegt
Protokollformat: Nicht festgelegt
Protokollüberschriften: Nicht festgelegt
Rolling Size (bytes): 10M
Tage behalten: 30
Komprimierungsarchiv: Nicht festgelegt
Bytes-Protokoll: Nicht festgelegt

OpenLiteSpeed Zugriffsprotokoll

Klicken Sie auf Speichern, wenn Sie fertig sind. Als Nächstes müssen wir die Zugriffskontrolle im Abschnitt Sicherheit konfigurieren. Stellen Sie die folgenden Werte ein.

Erlaubte Liste: *
Verweigerte Liste: Nicht festgelegt

OpenLiteSpeed Zugriffskontrolle

Klicken Sie auf Speichern, wenn Sie fertig sind. Als Nächstes müssen wir die Skript-Handler-Definition festlegen. Klicken Sie auf das Pluszeichen (+), um eine neue Definition hinzuzufügen. Stellen Sie die folgenden Werte ein.

Suffixe: php
Handler-Typ: LiteSpeed SAPI
Handler-Name: [Server-Level]: lsphp

OpenLiteSpeed Skript-Handler-Definition

Klicken Sie auf Speichern, wenn Sie fertig sind. Als Nächstes müssen wir die Rewrite-Steuerung im Abschnitt Rewrite festlegen. Stellen Sie die folgenden Werte ein.

Rewrite aktivieren: Ja
Automatisch aus .htaccess laden: Ja
Protokollebene: Nicht festgelegt

OpenLiteSpeed Rewrite-Steuerung

Klicken Sie auf Speichern, wenn Sie fertig sind. Und schließlich müssen wir die Listener festlegen. Gehen Sie zum Abschnitt Listener und klicken Sie auf die Schaltfläche View gegenüber Standard-Listener. Klicken Sie dann auf die Schaltfläche Hinzufügen gegenüber Virtuelle Host-Zuordnungen, um eine neue Zuordnung hinzuzufügen, und stellen Sie die folgenden Werte ein.

Virtueller Host: example.com
Domains: example.com

Klicken Sie auf Speichern, wenn Sie fertig sind. Klicken Sie nun auf die Schaltfläche Graceful restart, um alle oben genannten Änderungen anzuwenden und den Server neu zu starten.

Schritt 9 - SSL installieren

Die Einrichtung von SSL in OpenLiteSpeed erfordert, dass wir zwei Zertifikate einrichten. Ein selbstsigniertes Zertifikat für den gesamten Server und ein Let’s Encrypt-spezifisches Serverzertifikat.

Das Administrationspanel wird bereits mit einem selbstsignierten Zertifikat vorinstalliert, das im Verzeichnis /usr/local/lsws/admin/conf verfügbar ist.

Lassen Sie uns zuerst das selbstsignierte Zertifikat für den gesamten Server erstellen.

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

Sie erhalten eine ähnliche Ausgabe.

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

Sie können bei allen Feldern die Eingabetaste drücken und sie leer lassen. Geben Sie Ihre Domain für den allgemeinen Namen und Ihre E-Mail-Adresse ein.

Erstellen Sie das Verzeichnis für die selbstsignierten Zertifikate.

$ sudo mkdir /usr/local/lsws/certs

Kopieren Sie das Zertifikat in das Verzeichnis /usr/local/lsws/certs.

$ sudo mv *.pem /usr/local/lsws/certs

Wir müssen Certbot installieren, um kostenlose SSL-Zertifikate von Let’s Encrypt zu generieren.

Sie können Certbot entweder über das Debian-Repository installieren oder die neueste Version mit dem Snapd-Tool abrufen. Wir werden die Snapd-Version verwenden. Ubuntu 24.04 wird standardmäßig mit Snapd geliefert.

Führen Sie die folgenden Befehle aus, um sicherzustellen, dass Ihre Version von Snapd auf dem neuesten Stand ist.

$ sudo snap install core
$ sudo snap refresh core

Führen Sie den folgenden Befehl aus, um Certbot zu installieren.

$ sudo snap install --classic certbot

Verwenden Sie den folgenden Befehl, um sicherzustellen, dass der Certbot-Befehl ausgeführt werden kann, indem Sie einen symbolischen Link zum Verzeichnis /usr/bin erstellen.

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

Überprüfen Sie die Installation.

$ certbot --version
certbot 2.10.0

Führen Sie den folgenden Befehl aus, um ein SSL-Zertifikat zu generieren. Erhalten Sie das SSL-Zertifikat. Das Webroot-Verzeichnis ist auf das öffentliche HTML-Verzeichnis eingestellt, das zuvor konfiguriert wurde.

$ 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

Generieren Sie ein Diffie-Hellman-Gruppe-Zertifikat.

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

Überprüfen Sie den Zeitplan für den Certbot-Erneuerungsdienst.

$ sudo systemctl list-timers

Sie finden snap.certbot.renew.service als einen der Dienste, die geplant sind.

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

Um zu überprüfen, ob die SSL-Erneuerung einwandfrei funktioniert, führen Sie einen Trockenlauf des Prozesses durch.

$ sudo certbot renew --dry-run

Wenn Sie keine Fehler sehen, sind Sie bereit. Ihr Zertifikat wird automatisch erneuert.

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

Listener-Name: SSL
IP-Adresse: ANY IPv4
Port: 443
Sicher: Ja

OpenLiteSpeed SSL-Listener

Klicken Sie auf Speichern, wenn Sie fertig sind. Gehen Sie als Nächstes zum Abschnitt Virtuelle Host-Zuordnungen unter dem SSL-Listener, indem Sie auf SSL klicken, auf die Schaltfläche Hinzufügen klicken und die folgenden Werte ausfüllen.

Virtueller Host: example.com
Domains: example.com

Klicken Sie auf Speichern, wenn Sie fertig sind. Gehen Sie als Nächstes zu Listener >> SSL-Listener >> SSL-Registerkarte >> SSL-Privater Schlüssel & Zertifikat (Bearbeiten-Schaltfläche) und füllen Sie die folgenden Werte für das zuvor erstellte selbstsignierte Zertifikat aus.

Privater Schlüsseldatei: $SERVER_ROOT/certs/key.pem
Zertifikatdatei: $SERVER_ROOT/certs/cert.pem
Verkettetes Zertifikat: Ja

OpenLiteSpeed Selbstsignierter SSL-Schlüssel und Zertifikat

Klicken Sie auf Speichern, wenn Sie fertig sind. Gehen Sie als Nächstes zu Listener >> SSL-Listener >> SSL-Registerkarte >> SSL-Protokoll (Bearbeiten-Schaltfläche) und füllen Sie die folgenden Werte für das SSL-Protokoll und die Chiffre-Details aus.

Protokollversion: TLS v1.2 TLS v1.3
Chiffren: 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
ECDH-Schlüsselaustausch aktivieren: Ja
DH-Schlüsselaustausch aktivieren: Ja
DH-Parameter: /etc/ssl/certs/dhparam.pem

OpenLiteSpeed SSL-Protokolle

Klicken Sie auf Speichern, wenn Sie fertig sind. Gehen Sie als Nächstes zu Virtuelle Hosts >> example.com >> SSL-Registerkarte >> SSL-Privater Schlüssel & Zertifikat (Bearbeiten-Schaltfläche) und füllen Sie die folgenden Werte mit dem Let’s Encrypt-Zertifikat aus.

Privater Schlüsseldatei: /etc/letsencrypt/live/example.com/privkey.pem
Zertifikatdatei: /etc/letsencrypt/live/example.com/fullchain.pem
Verkettetes Zertifikat: Ja

OpenLiteSpeed Let's Encrypt SSL-Schlüssel und Zertifikat

Klicken Sie auf Speichern, wenn Sie fertig sind. Gehen Sie als Nächstes zu Virtuelle Hosts >> example.com >> SSL-Registerkarte >> OCSP-Stapling (Bearbeiten-Schaltfläche) und füllen Sie die folgenden Werte aus, um OCSP-Stapling zu aktivieren.

OCSP-Stapling aktivieren: Ja
OCSP-Antwortmaximalalter (Sekunden): 300
OCSP-Responder: http://r3.o.lencr.org

OpenLiteSpeed OCSP-Stapling

Klicken Sie auf Speichern, wenn Sie fertig sind. Gehen Sie als Nächstes zu Virtuelle Hosts >> example.com >> SSL-Registerkarte >> Sicherheit (Bearbeiten-Schaltfläche) und füllen Sie die folgenden Werte aus, um das HTTP3/QUIC-Protokoll zu aktivieren.

ALPN: HTTP/2 und HTTP/3 aktivieren
HTTP3/QUIC aktivieren: Ja

Wir müssen keine anderen Optionen aktivieren, da sie standardmäßig aktiviert sind. OpenLiteSpeed SSL- und HTTPS-Protokolle aktivieren

Klicken Sie auf Speichern, wenn Sie fertig sind.

Starten Sie den Server neu, indem Sie auf die Schaltfläche Graceful restart klicken.

Schritt 10 - Testseite

Erstellen Sie eine Testdatei in Ihrem html-Verzeichnis.

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

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



    

OpenLiteSpeed Server Install Test

Hello,

'; // Definieren Sie PHP-Variablen für die MySQL-Verbindung. $servername = "localhost"; $username = "testuser"; $password = "Your_Password123"; // Erstellen Sie eine MySQL-Verbindung. $conn = mysqli_connect($servername, $username, $password); // Berichten Sie, ob die Verbindung fehlschlägt oder erfolgreich ist. if (!$conn) { exit('

Your connection has failed.

' . mysqli_connect_error()); } echo '

You have connected successfully.

'; ?>

Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden. Öffnen Sie die URL https://example.com in einem Browser und Sie sollten die folgende Seite sehen.

OpenLiteSpeed Site Test

Die Testseite ist voll funktionsfähig. Sie können den Server jetzt verwenden, um dynamische PHP-Websites und -Anwendungen bereitzustellen.

Fazit

Damit endet unser Tutorial zur Installation des LOMP-Stacks (OpenLiteSpeed, MySQL und PHP) auf einem Ubuntu 24.04-Server. Wenn Sie Fragen haben, posten Sie diese in den Kommentaren unten.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.