GNU/Linux >> Linux Esercitazione >  >> Fedora

Come installare e configurare OpenLiteSpeed ​​Server su Fedora 31 insieme a MariaDB

OpenLiteSpeed ​​è una versione leggera e open source di LiteSpeed ​​Server sviluppata da LiteSpeed ​​Technologies. Supporta le regole Apache Rewrite, HTTP/2 e HTTP/3 insieme ai protocolli TLS v1.3 e QUIC. Viene fornito con un pannello di amministrazione basato su WebGUI che lo rende diverso dagli altri server e più facile da gestire.

In questo tutorial impareremo come installare OpenLiteSpeed ​​Server su Fedora 31 insieme a PHP 7.4 e MariaDB server.

Prerequisiti

  • Server web basato su Fedora 31.

  • Un account utente non root con privilegi sudo.

  • Aggiorna il tuo sistema.

    $ sudo dnf update
    
  • pacchetto libnsl. Questo pacchetto contiene l'interfaccia client pubblica per i servizi NIS. Per installarlo, emettere il seguente comando.

    $ sudo dnf install libnsl -y
    

Passaggio 1:configurazione del firewall

Prima di iniziare con il tutorial, dobbiamo configurare il Fedora Firewall che di solito è abilitato per impostazione predefinita. Controlliamo prima lo stato del firewall.

$ sudo systemctl status firewalld

Se non funziona, avvia il firewall.

$ sudo systemctl start firewalld

Successivamente, dobbiamo abilitare SSH, HTTP, HTTPS e le porte 7080, 8088 per il 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

Al termine, puoi visualizzare l'elenco delle esenzioni che verranno implementate.

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

Quando sei soddisfatto delle modifiche, ricarica il firewall per rendere attive le modifiche.

$ sudo firewall-cmd --reload

Abilita il firewall in modo che venga ricaricato ad ogni avvio.

$ sudo systemctl enable firewalld

Fase 2:installa OpenLiteSpeed

Eseguire il comando seguente per scaricare il pacchetto binario OpenLiteSpeed ​​dal sito Web. Al momento della stesura di questo tutorial, l'ultima versione disponibile era la 1.6.4. Controlla l'ultima versione dalla pagina dei download e modifica l'URL come richiesto.

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

Estrai l'archivio.

$ tar -zxvf openlitespeed-1.6.4.tgz

Passa a openlitespeed directory ed eseguire lo script di installazione.

$ cd openlitespeed
$ sudo ./install.sh

Avvia il server web.

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

Controlla lo stato del server.

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

Apri http://:8088 per accedere al tuo server web. Dovresti vedere la seguente pagina.

Fase 3 - Installa PHP

Il server OpenLiteSpeed ​​viene fornito con PHP 5.6 che è pre-abilitato. Ma vogliamo usare PHP 7.4, quindi installeremo la nostra copia.

Installa il repository REMI che è il repository ufficiale di Fedora per l'installazione dei pacchetti PHP.

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

Abilita il remi e remi-php74 repository e disabilitare il remi-modular deposito. Ciò abilita il repository richiesto per installare i pacchetti 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

Installa PHP 7.4 insieme ad alcuni pacchetti aggiuntivi.

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

Verifica la tua installazione di 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

Puoi controllare i moduli PHP abilitati.

$ php --modules

Configurare PHP per funzionare con OpenLiteSpeed ​​in un secondo momento.

Passaggio 4:installa MariaDB

Installa il server MariaDB.

$ sudo dnf install mariadb-server

Avvia e abilita il servizio MariaDB.

$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb

Proteggi la tua installazione di MariaDB. Questo script imposterà la password di root, rimuoverà gli utenti anonimi, non consentirà l'accesso root remoto e rimuoverà le tabelle di test. Scegli una password complessa e rispondi alle domande come descritto di seguito.

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

Una volta fatto, puoi accedere alla shell MySQL usando il seguente comando.

$ sudo mysql -u root -p

Crea un database di prova e un utente con autorizzazione di accesso. Sostituisci testdb e testuser con i nomi appropriati per la tua configurazione. Sostituisci password con una password complessa.

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

Esci dalla shell MySQL.

exit

Passaggio 5 - Configura OpenLiteSpeed

Configura il pannello di amministrazione

Imposta le credenziali del pannello amministratore.

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

È possibile impostare sia il nome utente che la password utilizzando questo comando. Puoi anche utilizzare questo comando nel caso in cui dimentichi i tuoi dati di accesso.

Per accedere al pannello di amministrazione, apri http://:7080 .

Riporta la porta HTTP a 80

Cambiamo la porta HTTP predefinita su 80. Accedi al tuo pannello di amministrazione su http://:7080 con le credenziali appena create.

Verrai accolto dalla seguente schermata.

Visita la sezione Ascoltatori da sinistra. Vedrai i listener predefiniti con la porta 8080.

Fai clic su Visualizza pulsante per visualizzare i dettagli della configurazione. Nella pagina successiva in Predefinito Listener> Pagina Generale , fai clic sull'icona Modifica e cambia la porta da 8088 a 80.

Fare clic su Salva, quindi riavviare il server facendo clic su Riavvio regolare pulsante.

Fase 6 - Configura PHP

In questo passaggio, dobbiamo associare la nostra copia di PHP 7.4 al server.

Fare clic su Configurazione server sezione a sinistra e poi nella scheda App esterna . Vedrai un'app LiteSpeed ​​esistente per PHP 5.6. Creeremo la nostra app LiteSpeed ​​per PHP 7.4. Puoi passare facilmente da uno all'altro in seguito, se lo desideri.

Fare clic sul pulsante Aggiungi per creare una nuova app. Per il tipo, seleziona App LiteSpeed ​​SAPI e fare clic su Avanti.

Quindi, aggiungi la configurazione di seguito. Lascia vuoti tutti gli altri campi.

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

Al termine, fai clic su Salva.

Ora che abbiamo creato la nostra app basata su PHP 7.4, dobbiamo dire al server di iniziare a usarla.

Vai al gestore di script scheda e modifica il gestore lsphp . Cambia il nome dell'handle in lsphp74 dal menu a tendina.

Fare clic su Salva, quindi riavviare il server facendo clic su Riavvio regolare pulsante.

Per verificare se il tuo PHP è stato cambiato correttamente, visita http:///phpinfo.php nel tuo browser.

Passaggio 7:configurazione dell'host virtuale

Innanzitutto, dobbiamo creare directory per il nostro host virtuale.

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

Il html directory conterrà i file pubblici ei logs directory conterrà i log del server.

Quindi, apri la Console di amministrazione e accedi agli Host virtuali sezione da sinistra e fare clic sul pulsante Aggiungi.

Compila i valori come specificato

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

Al termine, fai clic sul pulsante Salva. Riceverai il seguente errore perché il file di configurazione non esiste al momento. Fare clic sul collegamento per creare il file di configurazione.

Fare nuovamente clic sul pulsante Salva per completare la creazione dell'host virtuale.

Una volta creato l'host virtuale, vai su Host virtuali -> Scegli host virtuale(example.com) -> Generale e modificare la configurazione come indicato.

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

Fare clic sul pulsante Salva al termine. Successivamente, dobbiamo impostare i file di indice. Fare clic sul pulsante di modifica rispetto ai file di indice sotto la sezione generale. Imposta le seguenti opzioni.

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

Al termine, fai clic su Salva. Successivamente, dobbiamo scegliere File di registro. Vai alla sezione Registro e fai clic su Modifica rispetto a Registro host virtuale e inserisci i seguenti valori.

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

Puoi scegliere il livello di registro come DEBUG se sei su una macchina di produzione/sviluppo.

Fai clic su Salva, quindi apri il Registro di accesso sezione. Inserisci i seguenti valori.

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

Al termine, fai clic su Salva. Successivamente, dobbiamo configurare Controllo accesso nella sezione Sicurezza sezione. Imposta i seguenti valori.

Allowed List: *
Denied List: Not set

Al termine, fai clic su Salva. Successivamente, dobbiamo impostare il gestore dello script. Imposta i seguenti valori.

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

Successivamente, dobbiamo impostare Controllo riscrittura nella sezione Riscrivi. Imposta i seguenti valori.

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

E alla fine, dobbiamo impostare gli ascoltatori. Vai alla sezione Ascoltatori e fai clic sul pulsante Visualizza contro Ascoltatore predefinito . Quindi, fai clic sul pulsante Aggiungi in corrispondenza di Mapping host virtuali per aggiungere una nuova mappatura e impostare i seguenti valori.

Virtual Host: example.com
Domains: example.com

Al termine, fai clic su Salva. Ora, fai clic sul pulsante Riavvio grazioso per applicare tutte le modifiche precedenti e riavviare il server.

Passaggio 8 - Imposta SSL

Per utilizzare Let's Encrypt, dobbiamo installare lo strumento Certbot.

$ sudo dnf install certbot

Ottieni il certificato SSL.

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

Segui il prompt interattivo.

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

Ora apri la Console di amministrazione e vai su Ascoltatori>> Aggiungi nuovo ascoltatore e aggiungi i seguenti valori.

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

Al termine, fai clic su Salva. Quindi, vai a Mapping host virtuali nella sezione Ascoltatore SSL , fai clic sul pulsante Aggiungi e inserisci i seguenti valori.

Virtual Host: example.com
Domains: example.com

Al termine, fai clic su Salva.

Quindi vai a Ascoltatori>> Listener SSL>> Scheda SSL>>Chiave privata e certificato SSL (pulsante Modifica) e inserisci i seguenti valori

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

Al termine, fai clic su Salva. Riavvia il server facendo clic sul pulsante Riavvio grazioso.

Fase 9 - Test del sito

Crea un file di prova nel tuo html directory.

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

Incolla il codice seguente nell'editor 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>

Visita il tuo sito su https://example.com in un browser e dovresti vedere la seguente pagina.

Questo è tutto per questo tutorial. Se hai domande, scatta nei commenti qui sotto.


Fedora
  1. Come installare e configurare Mysql Server 8 su Fedora 34/35

  2. Come installare e configurare Redis 6 su Fedora 34

  3. Come installare e configurare Postgres 14 su Fedora 34

  4. Come installare e configurare Ansible su Fedora 35

  5. Come installare e configurare Mariadb in Fedora 35

Come installare e configurare Drupal su Fedora 35/34

Come installare e configurare Git su Fedora 35

Come installare Redis e configurare su Fedora 35

Come installare MariaDB su Fedora 35

Come installare Apache Server su Fedora 35

Come installare il server Web OpenLiteSpeed ​​con MariaDB e PHP