Questo tutorial ti mostrerà come installare stack LOMP (OpenLiteSpeed, MariaDB e PHP8.0) su Ubuntu 20.04/18.04. Uno stack software è un insieme di strumenti software raggruppati insieme. LOMP sta per Linux, OpenLiteSpeed, MariaDB/MySQL e PHP, che possono alimentare siti Web dinamici e applicazioni Web. Linux è il sistema operativo; OpenLiteSpeed è il server web; MariaDB/MySQL è il server del database e PHP è il linguaggio di scripting lato server responsabile della generazione di pagine Web dinamiche.
Perché OpenLiteSpeed è migliore di Apache/Nginx
In precedenza abbiamo discusso di come installare lo stack LAMP (Apache) e lo stack LEMP (Nginx). Perché stiamo passando a OpenLiteSpeed? Perché è molto più performante.
- 5 volte più richieste al secondo.
- LSAPI consente prestazioni PHP migliori rispetto a mod_PHP e PHP-FPM.
- CPU estremamente basso e footprint di memoria.
- HTTP/3 . Poiché OpenLiteSpeed si concentra sulla velocità, adotta la nuova tecnologia più velocemente di Nginx.
- PageSpeed integrato e ModSecurity modulo. Se usi Nginx, devi ricompilare questi due moduli ogni volta che aggiorni Nginx.
- cache della pagina incorporata integrazione con applicazioni web popolari come WordPress, Magento, Joomla, Prestashop, Opencart, Drupal, xenForo, Laravel, Shopware e MediaWiki.
- Connessione anti-DDoS e limitazione della larghezza di banda.
- Compressione Brotli incorporata per i file statici.
- Pannello di amministrazione basato sul Web.
Requisiti
Per seguire questo tutorial, è necessario un sistema operativo Ubuntu 20.04/18.04 in esecuzione su un server remoto.
Se stai cercando un VPS (Virtual Private Server) ad alte prestazioni, puoi andare sul sito web di ScalaHosting per creare un account. Scegli il piano VPS Linux autogestito. Usa il codice coupon linuxbabe2021
nella pagina di pagamento per risparmiare $ 100 se scegli di pagare 12 mesi in anticipo. Puoi seguire il tutorial collegato di seguito per configurare correttamente il tuo server VPS Linux su ScalaHosting.
- Come creare un server VPS Linux su ScalaHosting
E se devi configurare lo stack LOMP con un nome di dominio, ti consiglio di acquistare i nomi di dominio da NameCheap perché il prezzo è basso e offrono protezione della privacy a Whois gratuita per tutta la vita.
Fase 1:aggiorna i pacchetti software
Prima di installare lo stack LOMP, è buona norma aggiornare il repository e i pacchetti software eseguendo il seguente comando sul tuo sistema operativo Ubuntu 20.04/18.04.
sudo apt update;sudo apt upgrade
Fase 2:installa il server Web OpenLiteSpeed
OpenLiteSpeed non è incluso nel repository del software Ubuntu predefinito, quindi dovremo installarlo dal repository ufficiale a monte. Esegui il comando seguente per aggiungere il repository OpenLiteSpeed al tuo sistema Ubuntu.
wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debian_repo.sh | sudo bash
Il comando precedente importerà anche la chiave GPG OpenLiteSpeed nel sistema Ubuntu in modo che APT possa verificare l'integrità del pacchetto durante l'installazione. Quindi installa OpenLiteSpeed con:
sudo apt install -y openlitespeed
Dopo l'installazione, possiamo abilitare OpenLiteSpeed per l'avvio automatico all'avvio eseguendo il comando seguente.
sudo systemctl enable lshttpd
Quindi avvia OpenLiteSpeed con questo comando:
sudo systemctl start lshttpd
Ora controlla il suo stato.
sudo systemctl status lshttpd
Esempio di output:
● lshttpd.service - OpenLiteSpeed HTTP Server Loaded: loaded (/etc/systemd/system/lshttpd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-05-31 04:59:06 EDT; 14min ago Main PID: 7213 (litespeed) CGroup: /system.slice/lshttpd.service ├─7213 openlitespeed (lshttpd - main) ├─7224 openlitespeed (lscgid) ├─7253 openlitespeed (lshttpd - #01) └─7254 openlitespeed (lshttpd - #02) May 31 04:59:04 focal systemd[1]: Starting OpenLiteSpeed HTTP Server... May 31 04:59:04 focal lswsctrl[7171]: [OK] litespeed: pid=7213. May 31 04:59:06 focal systemd[1]: Started OpenLiteSpeed HTTP Server.
"Abilitato ” indica che l'avvio automatico all'avvio è abilitato e possiamo vedere che OpenLiteSpeed è in esecuzione. Se il comando precedente non si chiude immediatamente dopo l'esecuzione. Devi premere "q ” per farlo uscire.
Controlla la versione di OpenLiteSpeed.
/usr/local/lsws/bin/openlitespeed -v
Uscita:
LiteSpeed/1.6.21 Open module versions: modgzip 1.1 cache 1.62 modinspector 1.1 uploadprogress 1.1 mod_security 1.4 (built: Tue Apr 6 13:20:57 UTC 2021) module versions: modgzip 1.1 cache 1.62 modinspector 1.1 uploadprogress 1.1 mod_security 1.4
Per impostazione predefinita, OpenLiteSpeed è in ascolto sulla porta 8088, dobbiamo farlo ascoltare sulla porta 80. Modifica il file di configurazione principale con un editor di testo a riga di comando come Nano.
sudo nano /usr/local/lsws/conf/httpd_config.conf
Trova le seguenti righe
listener Default{ address *:8088 secure 0 map Example * }
Cambia 8088
a 80
.
listener Default{ address *:80 secure 0 map Example * }
Salva e chiudi il file. Quindi riavvia OpenLiteSpeed.
sudo systemctl restart lshttpd
Nota :Se hai altri server web come Nginx in esecuzione sul server, devi interromperlo, quindi riavviare OpenLiteSpeed.
sudo systemctl stop nginx
Ora digita l'indirizzo IP pubblico del tuo server Ubuntu 20.04/18.04 nella barra degli indirizzi del browser. Dovresti vedere la pagina Web "Congratulazioni", il che significa che il server Web OpenLiteSpeed funziona correttamente.
Se la connessione viene rifiutata o non viene completata, potrebbe esserci un firewall che impedisce le richieste in arrivo alla porta TCP 80. Se stai utilizzando il firewall iptables, devi eseguire il comando seguente per aprire la porta TCP 80.
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
Se stai usando il firewall UFW, esegui questo comando per aprire la porta TCP 80.
sudo ufw allow http
Per impostazione predefinita, il server Web OpenLiteSpeed viene eseguito come nobody
utente e nogroup
gruppo. La directory principale del documento predefinita è /usr/local/lsws/Example/html
.
Fase 3:installa il server di database MariaDB
MariaDB è un sostituto drop-in di MySQL. È stato sviluppato da ex membri del team MySQL preoccupati che Oracle possa trasformare MySQL in un prodotto closed-source. Immettere il comando seguente per installare MariaDB su Ubuntu 20.04/18.04.
sudo apt install mariadb-server mariadb-client
Dopo l'installazione, il server MariaDB dovrebbe essere avviato automaticamente. Usa systemctl per verificarne lo stato.
systemctl status mariadb
Uscita:
● mariadb.service - MariaDB 10.3.29 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-04-10 14:19:16 UTC; 18s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 9161 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 9451) Memory: 64.7M CGroup: /system.slice/mariadb.service └─9161 /usr/sbin/mysqld
Se non è in esecuzione, avvialo con questo comando:
sudo systemctl start mariadb
Per consentire a MariaDB di avviarsi automaticamente all'avvio, esegui
sudo systemctl enable mariadb
Ora esegui lo script di sicurezza post installazione.
sudo mysql_secure_installation
Quando ti chiede di inserire la password di root di MariaDB, premi il tasto Invio poiché la password di root non è ancora impostata. Quindi inserisci y per impostare la password di root per il server MariaDB.
Successivamente, puoi premere Invio per rispondere a tutte le domande rimanenti, che rimuoveranno l'utente anonimo, disabiliteranno l'accesso root remoto e rimuoveranno il database di test. Questo passaggio è un requisito di base per la sicurezza del database MariaDB. (Nota che Y è in maiuscolo, il che significa che è la risposta predefinita.)
Per impostazione predefinita, il pacchetto MaraiDB su Ubuntu utilizza unix_socket
per autenticare l'accesso dell'utente, il che significa sostanzialmente che puoi utilizzare il nome utente e la password del sistema operativo per accedere alla console MariaDB. Quindi puoi eseguire il seguente comando per accedere senza fornire la password di root di MariaDB.
sudo mariadb -u root
Per uscire, corri
exit;
Controlla le informazioni sulla versione del server MariaDB.
mariadb --version
Come puoi vedere, abbiamo installato MariaDB 10.3.29.
mariadb Ver 15.1 Distrib 10.3.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Fase 4:installa PHP8.0
Quando installiamo OpenLiteSpeed, installa automaticamente lsphp73
pacchetto, che è una build PHP 7.3 realizzata per OpenLiteSpeed. Possiamo installare PHP8.0 con il seguente comando.
sudo apt install lsphp80 lsphp80-mysql lsphp80-common lsphp80-opcache lsphp80-curl
Controlla il numero di versione.
/usr/local/lsws/lsphp80/bin/php8.0 -v
Esempio di output:
PHP 8.0.6 (cli) (built: May 7 2021 15:17:48) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.6, Copyright (c) Zend Technologies with Zend OPcache v8.0.6, Copyright (c), by Zend Technologies
Sebbene abbiamo installato solo 5 pacchetti PHP8.0, la build PHP di OpenLiteSpeed viene fornita con molti moduli PHP. Puoi controllare i moduli PHP abilitati con il seguente comando.
/usr/local/lsws/lsphp80/bin/php8.0 --modules
Fase 5:prova PHP
C'è un phpinfo.php
file in /usr/local/lsws/Example/html
directory, quindi puoi inserire server-ip-address/phpinfo.php
nella barra degli indirizzi del browser per testare PHP con il server Web OpenLiteSpeed, sostituire sever-ip-address
con il tuo IP effettivo.
Dovresti vedere le informazioni PHP del tuo server. Ciò significa che gli script PHP possono essere eseguiti correttamente con il server Web OpenLiteSpeed. Sono collegati tramite l'API LiteSpeed (LSAPI).
Congratulazioni! Hai installato con successo OpenLiteSpeed, MariaDB e PHP su Ubuntu 20.04/18.04. Puoi vedere che OpenLiteSpeed utilizza PHP7.3 per impostazione predefinita. Per modificare la versione di PHP, devi utilizzare il pannello di amministrazione.
Fase 5:Configura il Pannello di amministrazione
Imposta un nome utente e una password per il pannello di amministrazione.
sudo /usr/local/lsws/admin/misc/admpass.sh
Quindi puoi accedere al pannello di amministrazione su https://server-ip-address:7080/login.php
. Per impostazione predefinita utilizza un certificato TLS autofirmato, quindi è necessario aggiungere un'eccezione di sicurezza nel browser web.
- In Firefox, fai clic su
Advanced
e fai clic su "Accept the risk and Continue
“ - In Google Chrome, fai clic su Procedi a
your-server-ip(unsafe)
.
Passaggio a PHP8.0 nel Pannello di amministrazione
Per fare in modo che l'host virtuale predefinito utilizzi PHP8.0, dobbiamo prima abilitare PHP8.0 a livello di server. Vai a Server Configuration
-> External App
e fai clic su +
pulsante per aggiungere una nuova app esterna.
Seleziona LiteSpeed SAPI App
come tipo e fare clic su Next
pulsante.
Inserisci le seguenti informazioni:
- Nome :
lsphp8.0
- Indirizzo :
uds://tmp/lshttpd/lsphp80.sock
- Connessioni massime :
10
- Ambiente :PHP_LSAPI_CHILDREN=10
LSAPI_AVOID_FORK=200M - Timeout richiesta iniziale (sec) :
60
- Timeout tentativi (sec) :
0
- Connessione persistente :
Yes
- Buffering della risposta :
No
- Comando :
lsphp80/bin/lsphp
- Backlog :
100
- Istanze :
1
- Priorità :
0
- Limite memoria temporanea (byte) :2047 milioni
- Limite di memoria rigida (byte) :2047 milioni
- Limite di elaborazione soft :1400
- Elaborazione limite difficile :1500
Salva le impostazioni. Quindi vai su Virtual Hosts
-> Example
-> Script Handler
scheda e fai clic su +
per aggiungere un nuovo gestore di script.
Inserisci le seguenti informazioni:
- Suffissi :
php
- Tipo di gestore :
LiteSpeed SAPI
- Nome del gestore :
lsphp8.0
Salva le impostazioni. Quindi fai clic su Riavvio grazioso pulsante nell'angolo in alto a sinistra per rendere effettive le modifiche. Ora inserisci server-ip-address/phpinfo.php
nella barra degli indirizzi del browser per testare PHP con il server Web OpenLiteSpeed. Dovresti vedere che l'host virtuale predefinito ora utilizza PHP8.0.
Note
Dopo aver utilizzato OpenLiteSpeed per un po', ho provato a tornare a Nginx solo per i test. È strano che alcuni dei moduli PHP non siano più abilitati. Non è chiaro se sia dovuto a OpenLiteSpeed. Ho dovuto modificare /etc/php/7.4/cli/php.ini
e /etc/php/7.4/fpm/php.ini
per abilitare i moduli mancanti, incluso mysqlnd
, mysqli
, mbstring
, gd
, json
, ecc.
In una normale installazione dello stack LEMP, non devo modificare il php.ini
file per abilitare i moduli PHP, ma in questa situazione ho dovuto modificare questo file. Un modo semplice per abilitare tutti i moduli necessari è eseguire i seguenti due comandi:
cat /etc/php/7.4/mods-available/* | sudo tee -a /etc/php/7.4/fpm/php.ini cat /etc/php/7.4/mods-available/* | sudo tee -a /etc/php/7.4/cli/php.ini
Chiusura
Spero che questo tutorial ti abbia aiutato a installare lo stack LOMP su Ubuntu 20.04/18.04 LTS . Come sempre, se hai trovato utile questo post, iscriviti alla nostra newsletter gratuita per ricevere ulteriori suggerimenti e trucchi. Abbi cura di 🙂