GNU/Linux >> Znalost Linux >  >> Fedora

Jak nainstalovat a nakonfigurovat OpenLiteSpeed ​​Server na Fedoře 31 spolu s MariaDB

OpenLiteSpeed ​​je odlehčená a open-source verze serveru LiteSpeed ​​vyvinutá společností LiteSpeed ​​Technologies. Podporuje pravidla Apache Rewrite, HTTP/2 a HTTP/3 spolu s protokoly TLS v1.3 a QUIC. 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 Fedoru 31 spolu s PHP 7.4 a serverem MariaDB.

Předpoklady

  • Webový server založený na Fedoře 31.

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

  • Aktualizujte svůj systém.

    $ sudo dnf update
    
  • balíček libnsl. Tento balíček obsahuje veřejné klientské rozhraní pro služby NIS. Chcete-li jej nainstalovat, zadejte následující příkaz.

    $ sudo dnf install libnsl -y
    

Krok 1 – Konfigurace brány firewall

Než začneme s tutoriálem, musíme nakonfigurovat Fedora Firewall, který je obvykle ve výchozím nastavení povolen. Nejprve zkontrolujeme stav brány firewall.

$ sudo systemctl status firewalld

Pokud nefunguje, spusťte firewall.

$ sudo systemctl start firewalld

Dále musíme povolit SSH, HTTP, HTTPS a porty 7080, 8088 pro firewall.

$ sudo firewall-cmd --permanent --add-service=ssh
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
$ sudo firewall-cmd --permanent --add-port=7080/tcp
$ sudo firewall-cmd --permanent --add-port=8088/tcp

Až budete hotovi, uvidíte seznam výjimek, které budou implementovány.

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

Až budete se změnami spokojeni, znovu načtěte bránu firewall, aby se změny projevily.

$ sudo firewall-cmd --reload

Povolte bránu firewall, aby byla znovu načtena při každém spuštění.

$ sudo systemctl enable firewalld

Krok 2 – Instalace OpenLiteSpeed

Spusťte následující příkaz a stáhněte si binární balíček OpenLiteSpeed ​​z webu. V době psaní tohoto návodu byla nejnovější dostupná verze 1.6.4. Zkontrolujte nejnovější verzi na stránce stahování a podle potřeby změňte adresu URL.

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

Rozbalte archiv.

$ tar -zxvf openlitespeed-1.6.4.tgz

Přepněte na openlitespeed adresář a spusťte instalační skript.

$ cd openlitespeed
$ sudo ./install.sh

Spusťte webový server.

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

Zkontrolujte stav serveru.

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

Otevřete http://: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 5.6, které je předem povoleno. Ale my chceme používat PHP 7.4, takže nainstalujeme naši kopii.

Nainstalujte si úložiště REMI, což je oficiální úložiště Fedory pro instalaci balíčků PHP.

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

Povolte remi a remi-php74 repozitáře a deaktivujte remi-modular úložiště. To umožňuje úložiště potřebné k instalaci balíčků PHP 7.4.

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

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

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

Ověřte svou instalaci PHP.

$ php -v
PHP 7.4.0 (cli) (built: Nov 26 2019 20:13:36) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
   with Zend OPcache v7.4.0, Copyright (c), by Zend Technologies

Můžete zkontrolovat povolené moduly PHP.

$ php --modules

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

Krok 4 – Instalace MariaDB

Nainstalujte server MariaDB.

$ sudo dnf 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

Pomocí tohoto příkazu můžete nastavit uživatelské jméno i heslo. Tento příkaz můžete také použít v případě, že zapomenete své přihlašovací údaje.

Pro přístup k panelu administrace otevřete http://:7080 .

Přepnout port HTTP zpět na 80

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

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

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

Klikněte na Zobrazit tlačítko pro zobrazení podrobností konfigurace. Na další stránce pod Výchozí nastavení posluchače> Obecná stránka , klikněte na ikonu Upravit a změňte port z 8088 na 80.

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

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 5.6. 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: /usr/bin/lsphp
Back Log: 100
Instances: 1
Priority: 0
Memory Soft Limit (bytes): 2047M
Memory Hard Limit (bytes): 2047M
Process Soft Limit: 1400
Process Hard Limit: 1500

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 lsphp handler . 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:///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ým oddílem. 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 části Protokol a klikněte na možnost Upravit proti Protokolu 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

Úroveň protokolu můžete zvolit jako LADĚNÍ pokud jste na produkčním/vývojovém stroji.

Klikněte na Uložit a poté otevřete Protokol přístupu sekce. 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 obsluhu 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. Nastavte následující hodnoty.

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

A nakonec musíme nastavit posluchače. Přejděte do sekce Posluchače 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.

Virtual Host: example.com
Domains: example.com

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

Krok 8 – Nastavení SSL

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

$ sudo dnf 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-03-07. To obtain a new or tweaked version of this
   certificate in the future, simply run certbot again. To
   non-interactively renew *all* of your certificates, run "certbot
   renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

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ů v části SSL Listener , klikněte 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če>> Posluchač SSL>> Karta SSL>>Soukromý klíč a certifikát SSL (tlačítko Upravit) a vyplňte následující hodnoty

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.


Fedora
  1. Jak nainstalovat a nakonfigurovat Mysql Server 8 na Fedoře 34/35

  2. Jak nainstalovat a nakonfigurovat Redis 6 na Fedoře 34

  3. Jak nainstalovat a nakonfigurovat Mariadb ve Fedoře 35

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

  2. Jak nainstalovat a nakonfigurovat Postgres 14 na Fedoře 34

  3. Jak nainstalovat a nakonfigurovat Ansible na Fedoře 35

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

  2. Jak nainstalovat a nakonfigurovat OpenLiteSpeed ​​Server na Ubuntu 18.04 spolu s MariaDB

  3. Jak nainstalovat Nginx s PHP a MariaDB (LEMP Stack) na Fedora 31