GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a nakonfigurovat OpenLiteSpeed ​​Server spolu s MariaDB a PHP na Ubuntu 20.04

OpenLiteSpeed ​​je odlehčená a open-source verze serveru LiteSpeed ​​vyvinutá společností LiteSpeed ​​Technologies. Dodává se s Administračním panelem založeným na WebGUI, díky kterému se liší od ostatních serverů a snáze se spravuje.

V tomto tutoriálu se naučíme, jak nainstalovat OpenLiteSpeed ​​Server na Ubuntu 20.04 spolu s PHP 7.4 a serverem MariaDB.

Předpoklady

  • Webový server založený na Ubuntu 20.04.

  • Uživatelský účet bez oprávnění root s právy sudo.

Aktualizujte svůj systém.

$ sudo apt update
$ sudo apt upgrade

Krok 1 – Konfigurace brány firewall

Než začneme s výukovým programem, musíme nakonfigurovat Uncomplicated Firewall (UFW) který je obvykle ve výchozím nastavení povolen. Nejprve zkontrolujeme stav brány firewall.

Pro firewall musíme povolit SSH, HTTP, HTTPS a porty 7080, 8088.

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

Zkontrolujte stav brány 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)     

Pokud nefunguje, spusťte firewall.

$ sudo ufw enable

Krok 2 – Instalace OpenLiteSpeed

Existují různé verze OpenLiteSpeed, které si můžete nainstalovat. Doporučené verze jsou ze série 1.6.x nebo 1.7.x v době psaní tohoto návodu.

Pro náš tutoriál použijeme oficiální úložiště OpenLiteSpeed, které udržuje pouze verzi 1.6.x.

Přidejte klíč úložiště OpenLiteSpeed.

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

Přidejte úložiště.

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

Aktualizujte úložiště.

$ sudo apt update

Nainstalujte OpenLiteSpeed

$ sudo apt install openlitespeed

Zkontrolujte stav serveru.

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

Pokud neběží, můžete začít následujícím příkazem.

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

Otevřete http://<YOURSERVERIP>:8088 pro přístup k vašemu webovému serveru. Měli byste vidět následující stránku.

Krok 3 – Instalace PHP

Server OpenLiteSpeed ​​je dodáván s PHP 7.3, které je předem povoleno. Ale my chceme používat PHP 7.4, takže si nainstalujeme vlastní kopii.

Nainstalujte PHP 7.4 spolu s některými dalšími balíčky.

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

Ověřte svou instalaci PHP.

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

Můžete zkontrolovat povolené moduly PHP.

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

PHP nakonfigurujeme pro práci s OpenLiteSpeed ​​později.

Krok 4 – Instalace MariaDB

Nainstalujte server MariaDB.

$ sudo apt install mariadb-server

Spusťte a povolte službu MariaDB.

$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb

Zabezpečte instalaci MariaDB. Tento skript nastaví vaše root heslo, odstraní anonymní uživatele, zakáže vzdálené přihlášení root a zahodí testovací tabulky. Zvolte si silné heslo a odpovězte na otázky, jak je popsáno níže.

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

Jakmile to uděláte, můžete se přihlásit do prostředí MySQL pomocí následujícího příkazu.

$ sudo mysql -u root -p

Vytvořte testovací databázi a uživatele s přístupovým oprávněním. Nahraďte testdb a testuser s vhodnými názvy pro vaše nastavení. Nahraďte password se silným heslem.

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

Ukončete prostředí MySQL.

exit

Krok 5 – Konfigurace OpenLiteSpeed

Konfigurovat panel administrátora

Nastavte přihlašovací údaje panelu správce.

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

Tento příkaz můžete také použít v případě, že zapomenete své přihlašovací údaje.

Pro přístup do administračního panelu otevřete http://<YOURSERVERIP>:7080 .

Při prvním přihlášení vám prohlížeč zobrazí varování, že vaše připojení není soukromé. Klikněte na Pokročilé a klikněte na „Přijmout riziko a pokračovat“ (v případě Firefoxu) nebo „Pokračovat na <YOURSERVERIP>(unsafe) " (v případě prohlížeče založeného na Chromium). Varování se již nezobrazí.

Uvítá vás následující obrazovka.

Přepnout port HTTP zpět na 80

Dovolte nám změnit výchozí HTTP port na 80. Přihlaste se do svého administračního panelu na http://<YOURSERVERIP>:7080 s přihlašovacími údaji, které jste právě vytvořili.

Uvítá vás následující obrazovka.

Navštivte Posluchači úsek zleva. Uvidíte výchozí posluchače s portem 8080.

Kliknutím na tlačítko Zobrazit zobrazíte podrobnosti konfigurace. Na další stránce v části Výchozí nastavení posluchače> Obecné Page, klikněte na ikonu Upravit a změňte port z 8080 na 80.

Klikněte na Uložit a poté restartujte server kliknutím na tlačítko Graceful restart.

Krok 6 – Konfigurace PHP

V tomto kroku potřebujeme přiřadit naši kopii PHP 7.4 k serveru.

Klikněte na Konfigurace serveru v levé části a poté na kartě Externí aplikace . Uvidíte existující aplikaci LiteSpeed ​​pro PHP 7.3. Vytvoříme si vlastní LiteSpeed ​​App pro PHP 7.4. Pokud chcete, můžete mezi nimi později snadno přepínat.

Kliknutím na tlačítko Přidat vytvoříte novou aplikaci. Jako typ vyberte LiteSpeed ​​SAPI App a klikněte na Další.

Dále přidejte konfiguraci níže. Všechna ostatní pole nechte prázdná.

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

Po dokončení klikněte na Uložit.

Nyní, když jsme vytvořili naši vlastní aplikaci založenou na PHP 7.4, musíme říci serveru, aby ji začal používat.

Přejděte na Obslužný program skriptu kartu a upravte obslužnou rutinu lsphp. Přepněte název rukojeti na lsphp74 z rozbalovací nabídky.

Klikněte na Uložit a poté restartujte server kliknutím na Graceful restart tlačítko.

Chcete-li otestovat, zda bylo vaše PHP přepnuto správně, navštivte http://<YOURSERVERIP>/phpinfo.php ve vašem prohlížeči.

Krok 7 – Nastavení virtuálního hostitele

Nejprve musíme vytvořit adresáře pro našeho virtuálního hostitele.

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

html adresář bude obsahovat veřejné soubory a logs adresář bude obsahovat protokoly serveru.

Poté otevřete administrátorskou konzoli a získejte přístup k Virtuálním hostitelům sekce zleva a klikněte na tlačítko Přidat.

Vyplňte hodnoty, jak je uvedeno

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

Po dokončení klikněte na tlačítko Uložit. Zobrazí se následující chyba, protože konfigurační soubor zatím neexistuje. Kliknutím na odkaz vytvoříte konfigurační soubor.

Opětovným kliknutím na tlačítko Uložit dokončete vytváření virtuálního hostitele.

Po vytvoření virtuálního hostitele přejděte na Virtuální hostitelé -> Vyberte virtuální hostitel (example.com) -> Obecné a upravte konfiguraci, jak je uvedeno.

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

Po dokončení klikněte na tlačítko Uložit. Dále musíme nastavit indexové soubory. Klikněte na tlačítko Upravit u souborů indexu pod Obecné Sekce. Nastavte následující možnosti.

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

Po dokončení klikněte na Uložit. Dále musíme vybrat Soubory protokolu. Přejděte do Protokol a klikněte na Upravit proti Protokol virtuálního hostitele a vyplňte následující hodnoty.

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

Můžete si vybrat Úroveň protokolu jako DEBUG pokud jste na produkčním/vývojovém stroji.

Klikněte na Uložit a poté na znaménko plus v Protokolu přístupu sekce pro přidání nového záznamu. Vyplňte následující hodnoty.

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

Po dokončení klikněte na Uložit. Dále musíme nakonfigurovat Řízení přístupu v části Zabezpečení sekce. Nastavte následující hodnoty.

Allowed List: *
Denied List: Not set

Po dokončení klikněte na Uložit. Dále musíme nastavit Definici obslužného programu skriptu . Nastavte následující hodnoty.

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

Dále musíme nastavit Ovládání přepisu v části Přepsat sekce. Nastavte následující hodnoty.

A nakonec musíme nastavit posluchače. Přejděte na Posluchači a klikněte na tlačítko Zobrazit proti Výchozímu posluchači . Poté klikněte na tlačítko Přidat proti Mapování virtuálního hostitele přidejte nové mapování a nastavte následující hodnoty.

Po dokončení klikněte na Uložit. Nyní klikněte na Graceful restart tlačítko pro použití všech výše uvedených změn a restartování serveru.

Krok 8 – Nastavení SSL

Nastavení SSL v OpenLiteSpeed ​​vyžaduje, abychom nastavili dva certifikáty. Certifikát s vlastním podpisem pro celý server a server Let's Encrypt specifický pro daný web.

Nejprve vytvořte certifikát s vlastním podpisem.

$ 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 []:

Můžete stisknout enter přes všechna pole a nechat je prázdná.

Certifikáty jsou nyní uloženy na /home/user adresář. Tyto informace budeme potřebovat později.

Abychom mohli používat Let's Encrypt, musíme si nainstalovat nástroj Certbot.

$ sudo apt install certbot

Získejte certifikát SSL.

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

Postupujte podle interaktivní výzvy.

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

Nyní otevřete administrátorskou konzoli a přejděte na Posluchači>> Přidat nového posluchače a přidejte následující hodnoty.

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

Po dokončení klikněte na Uložit. Dále přejděte na Mapování virtuálních hostitelů sekce pod SSL Listener kliknutím na SSL, kliknutím na tlačítko Přidat a vyplňte následující hodnoty.

Virtual Host: example.com
Domains: example.com

Po dokončení klikněte na Uložit.

Dále přejděte na Posluchači>> Posluchač SSL>> Karta SSL>>Soukromý klíč a certifikát SSL (tlačítko Upravit) a vyplňte následující hodnoty pro certifikát s vlastním podpisem, který jsme dříve vytvořili.

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

Dále přejděte na Virtuální hostitelé>> example.com>> karta SSL>> Soukromý klíč a certifikát SSL (tlačítko Upravit) a vyplňte následující hodnoty pomocí certifikátu Let's Encrypt.

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

Po dokončení klikněte na Uložit.

Restartujte server kliknutím na tlačítko Graceful restart.

Krok 9 – Testovací web

Vytvořte testovací soubor ve svém html adresář.

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

Vložte následující kód do editoru Nano.

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

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

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

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

Navštivte svůj web na adrese https://example.com v prohlížeči a měli byste vidět následující stránku.

To je pro tento tutoriál vše. Pokud máte nějaké dotazy, napište je do komentářů níže.


Ubuntu
  1. Jak nainstalovat OpenLiteSpeed ​​a PHP na Ubuntu

  2. Jak nainstalovat a nakonfigurovat server SVN na Ubuntu a LinuxMint

  3. Jak nainstalovat a nakonfigurovat Mariadb 10 v Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat Nginx na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat Nextcloud s Apache na Ubuntu 18.04

  3. Jak nainstalovat OpenLiteSpeed ​​Web Server PHP a MariaDB na Ubuntu 20.10

  1. Jak nainstalovat a nakonfigurovat OpenLiteSpeed ​​s PHP 7.4 na CentOS 8

  2. Jak nainstalovat OpenLiteSpeed ​​HTTP Server s PHP na Ubuntu 18.04 LTS

  3. Jak nainstalovat OpenLiteSpeed ​​HTTP Server s PHP 7.1 na Ubuntu 16.04 LTS