GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren und konfigurieren Sie OpenLiteSpeed ​​Server zusammen mit MariaDB und PHP unter Ubuntu 20.04

OpenLiteSpeed ​​ist eine leichtgewichtige Open-Source-Version des von LiteSpeed ​​Technologies entwickelten LiteSpeed-Servers. 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 Ubuntu 20.04 zusammen mit PHP 7.4 und MariaDB-Server installiert.

Voraussetzungen

  • Ubuntu 20.04-basierter Webserver.

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

Aktualisieren Sie Ihr System.

$ sudo apt update
$ sudo apt upgrade

Schritt 1 - Firewall konfigurieren

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

Wir müssen SSH, HTTP, HTTPS und die Ports 7080, 8088 für die Firewall aktivieren.

$ sudo ufw allow OpenSSH
$ sudo ufw allow http
$ sudo ufw allow https
$ sudo ufw allow 7080/tcp
$ sudo ufw allow 8088/tcp

Überprüfen Sie den Status der Firewall.

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
443/tcp                    ALLOW       Anywhere                  
7080/tcp                   ALLOW       Anywhere                  
8088/tcp                   ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             
443/tcp (v6)               ALLOW       Anywhere (v6)             
7080/tcp (v6)              ALLOW       Anywhere (v6)             
8088/tcp (v6)              ALLOW       Anywhere (v6)     

Wenn es nicht funktioniert, starten Sie die Firewall.

$ sudo ufw enable

Schritt 2 - OpenLiteSpeed ​​installieren

Es gibt verschiedene Versionen von OpenLiteSpeed, die Sie installieren können. Empfohlene Versionen stammen aus der 1.6.x- oder 1.7.x-Serie zum Zeitpunkt der Erstellung dieses Tutorials.

Wir werden das offizielle Repository von OpenLiteSpeed ​​für unser Tutorial verwenden, das nur die Version 1.6.x verwaltet.

Fügen Sie den OpenLiteSpeed-Repository-Schlüssel hinzu.

$ wget -qO - https://rpms.litespeedtech.com/debian/lst_repo.gpg | sudo apt-key add -

Repository hinzufügen.

$ echo "deb http://rpms.litespeedtech.com/debian/ focal main" | sudo tee /etc/apt/sources.list.d/openlitespeed.list

Aktualisieren Sie das Repository.

$ sudo apt update

Installieren Sie OpenLiteSpeed

$ sudo apt install openlitespeed

Überprüfen Sie den Status des Servers.

$ sudo /usr/local/lsws/bin/lswsctrl status
litespeed is running with PID 21825.

Wenn es nicht läuft, können Sie mit dem folgenden Befehl starten.

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

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

Schritt 3 - PHP installieren

Der OpenLiteSpeed-Server wird mit PHP 7.3 ausgeliefert, das vorab aktiviert ist. Aber wir wollen PHP 7.4 verwenden, also werden wir unsere eigene Kopie installieren.

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

$ sudo apt install lsphp74 lsphp74-common lsphp74-mysql lsphp74-curl

Überprüfen Sie Ihre PHP-Installation.

$ /usr/local/lsws/lsphp74/bin/php7.4 -v
PHP 7.4.5 (cli) (built: May  7 2020 23:08:38) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.5, Copyright (c), by Zend Technologies

Sie können nach aktivierten PHP-Modulen suchen.

$ /usr/local/lsws/lsphp74/bin/php7.4 --modules

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

Schritt 4 – MariaDB installieren

MariaDB-Server installieren.

$ sudo apt 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
Please specify the user name of administrator.
This is the user name required to login the administration Web interface.

User name [admin]: <username>

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 diesen Befehl auch verwenden, falls Sie Ihre Anmeldedaten vergessen haben.

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

Bei Ihrer ersten Anmeldung gibt Ihr Browser Warnungen aus, dass Ihre Verbindung nicht privat ist. Klicken Sie auf Erweitert und dann auf „Risiko akzeptieren und fortfahren“ (bei Firefox) oder „Weiter zu <YOURSERVERIP>(unsafe) " (bei Chromium-basierten Browsern). Die Warnung wird nicht mehr angezeigt.

Sie werden von folgendem Bildschirm begrüßt.

Stellen Sie den HTTP-Port zurück auf 80

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

Sie werden von folgendem Bildschirm begrüßt.

Besuchen Sie Zuhörer Abschnitt von links. Sie sehen die Standard-Listener mit Port 8080.

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

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

Schritt 6 - PHP konfigurieren

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

Klicken Sie auf Serverkonfiguration Abschnitt links und dann auf den Reiter Externe App . Sie sehen eine vorhandene LiteSpeed-App für PHP 7.3. 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: lsphp74/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 Registerkarte 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://<YOURSERVERIP>/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 unter Allgemein neben den Indexdateien auf die Schaltfläche Bearbeiten Abschnitt. 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 Protokoll Abschnitt und klicken Sie neben Virtual Host Log 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 auswählen als DEBUG wenn Sie sich auf einer Produktions-/Entwicklungsmaschine befinden.

Klicken Sie auf Speichern und dann auf das Pluszeichen im Zugriffsprotokoll Abschnitt, um einen neuen Eintrag hinzuzufügen. 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 die Skript-Handler-Definition 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 Umschreiben Sektion. Legen Sie die folgenden Werte fest.

Und zuletzt müssen wir die Listeners festlegen. Gehen Sie zu den Zuhörern Abschnitt 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.

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

Schritt 8 – SSL einrichten

Für die Einrichtung von SSL in OpenLiteSpeed ​​müssen wir zwei Zertifikate einrichten. Ein selbstsigniertes Zertifikat für den gesamten Server und einen standortspezifischen Let's Encrypt-Server.

Lassen Sie uns zuerst das selbstsignierte Zertifikat erstellen.

$ openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes
Generating a RSA private key
..++++
......................++++
writing new private key to 'key.pem'
-----
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) []:
Email Address []:

Sie können die Eingabetaste durch alle Felder drücken und sie leer lassen.

Die Zertifikate werden jetzt unter /home/user gespeichert Verzeichnis. Wir benötigen diese Informationen später.

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

$ sudo apt 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-09-04. 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 dem SSL-Listener, indem Sie auf SSL klicken, auf die Schaltfläche Hinzufügen klicken und die folgenden Werte eingeben.

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 für das zuvor erstellte selbstsignierte Zertifikat aus.

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

Gehen Sie als Nächstes zu Virtual Hosts>> example.com>> SSL Tab>> SSL Private Key &Certificate (Schaltfläche Bearbeiten) und füllen Sie die folgenden Werte mit dem Let's Encrypt-Zertifikat 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.


Ubuntu
  1. So installieren und konfigurieren Sie Nginx unter Ubuntu 20.04

  2. So installieren Sie OpenLiteSpeed ​​und PHP auf Ubuntu

  3. So installieren und konfigurieren Sie den SVN-Server unter Ubuntu und LinuxMint

  4. So installieren und konfigurieren Sie Mariadb 10 in Ubuntu 20.04

  5. So installieren Sie den OpenLiteSpeed-Webserver PHP und MariaDB unter Ubuntu 20.10

So installieren und konfigurieren Sie den VSFTPD-FTP-Server unter Ubuntu

So installieren Sie Lighttpd mit PHP und MariaDB unter Ubuntu 15.04

So installieren Sie Lighttpd mit PHP und MariaDB unter Ubuntu 16.04 LTS

So installieren Sie Lighttpd mit MariaDB und PHP unter Ubuntu 18.04 LTS

So installieren Sie Lighttpd, PHP und MariaDB unter Ubuntu 20.04 LTS

So installieren Sie den OpenLiteSpeed-Webserver mit MariaDB und PHP