Come Configurare un LOMP Stack su Ubuntu Server

Come sviluppatore web, potresti trovarti in una situazione in cui devi configurare un server stack Linux, OpenLiteSpeed, MariaDB (o MySQL) e PHP (LOMP). Questo può essere un compito scoraggiante. Qui ti mostriamo i passaggi per installare un stack LOMP sul tuo server Linux.
Indice dei Contenuti
- Perché Usare LOMP Rispetto ad Altri Stack (LAMP, LEMP)?
- Requisiti
- Installazione di OpenLiteSpeed
- Installazione di MariaDB
- Installazione di PHP
- Accesso e Configurazione di OpenLiteSpeed
- Domande Frequenti
Perché Usare LOMP Rispetto ad Altri Stack (LAMP, LEMP)?
LOMP è una scelta popolare per lo sviluppo web perché è open source e ha un’ampia gamma di supporto. Inoltre, tutti i componenti dello stack LOMP sono compatibili tra loro, rendendo facile la configurazione e la manutenzione.
Inoltre, OpenLiteSpeed è un server web ad alte prestazioni rispetto ad altri server web, come Apache e Nginx. OpenLiteSpeed è in grado di gestire più richieste concorrenti e utilizzare meno risorse, rendendolo una scelta eccellente per siti web ad alto traffico.
Requisiti
Prima di iniziare questa guida, ci sono alcune cose che dovrai avere in atto.
Server Linux. Questo tutorial utilizza Ubuntu 22.04, l’ultima versione al momento della scrittura.
Account utente non root con privilegi sudo configurato sul tuo server.
Nome di dominio che punta al tuo server.
Installazione di OpenLiteSpeed
Nello stack LOMP, OpenLiteSpeed è utilizzato come server web. Un server web è un software che risponde alle richieste di file che compongono il tuo sito web. Quando qualcuno digita il tuo nome di dominio, il suo browser invia una richiesta al tuo server web chiedendo i file che compongono il tuo sito web. Il server web risponde quindi inviando quei file di nuovo al browser.
Prima di installare OpenLiteSpeed su Ubuntu, prima aggiorna l’indice dei pacchetti del tuo server:
sudo apt updateRecupera il repo OLS con il comando wget.
sudo wget -O - https://repo.litespeed.sh | catIl flag -O dice a wget di scrivere l’output dello script nel tuo terminale piuttosto che creare un file. Il carattere | (noto come pipe) prende l’output del primo comando e lo passa come input al secondo comando, che è cat. Questo ti consente di rivedere lo script prima di eseguirlo.

Se l’output sembra buono, puoi eseguire lo script con il seguente comando:
sudo wget -O - https://repo.litespeed.sh | sudo bashLa parte sudo bash del comando dice al tuo sistema di eseguire lo script con privilegi di root. Questo è necessario perché lo script deve essere in grado di modificare i repository del tuo sistema.

Una volta aggiunto il repository, aggiorna di nuovo l’indice dei pacchetti per riflettere le modifiche:
sudo apt updateInfine, installa OpenLiteSpeed con il seguente comando apt.
sudo apt install openlitespeed -yOpenLiteSpeed sarà installato sul tuo server.

Avvia e abilita il servizio OpenLiteSpeed in modo che si avvii automaticamente quando il tuo server si avvia:
sudo systemctl start openlitespeed
sudo systemctl enable openlitespeedPuoi controllare lo stato del servizio OpenLiteSpeed per assicurarti che stia funzionando correttamente:
sudo systemctl status openlitespeedL’output apparirà simile a quello qui sotto.

Installazione di MariaDB
MariaDB è un fork del popolare server di database MySQL. Viene utilizzato al posto di MySQL nello stack LOMP perché è compatibile con il resto del software nello stack ma sviluppato sotto una licenza open-source. MariaDB è gratuito da usare e distribuire.
Esegui il seguente comando apt per installare MariaDB:
sudo apt install mariadb-server -yCome per OpenLiteSpeed, avvia e abilita il servizio MariaDB in modo che si avvii automaticamente quando il tuo server si avvia.
sudo systemctl start mariadb
sudo systemctl enable mariadbPuoi controllare lo stato del servizio MariaDB per assicurarti che stia funzionando correttamente.
sudo systemctl status mariadbL’output apparirà simile a quello qui sotto.

Sicurezza della Tua Installazione di MariaDB
Per impostazione predefinita, un’installazione fresca di MariaDB viene fornita con alcune impostazioni predefinite pericolose che potrebbero rendere il tuo server di database vulnerabile ad attacchi. Per mettere in sicurezza la tua installazione, esegui lo script mariadb-secure-installation fornito con MariaDB.
sudo mariadb-secure-installationQuesto script modifica alcune delle opzioni predefinite meno sicure e imposta una password per l’utente root di MariaDB.
Ti verrà posta una serie di domande. Per ciascuna, rispondi “Y” (per sì) o “N” (per no).
Per prima cosa, ti verrà chiesto di inserire la password root. Poiché hai appena installato MariaDB, non avrai ancora impostato una password per l’utente root, quindi lascia questo campo vuoto e premi Invio.

Successivamente, ti verrà chiesto se desideri il metodo di autenticazione “unix_socket” per l’utente root. Questo significa che puoi accedere a MariaDB automaticamente quando sei connesso come utente root del sistema. Inserisci Y e premi Invio.
Se desideri cambiare la password dell’utente root sarà la prossima domanda. Inserisci Y e premi Invio. Ti verrà chiesto di inserire e confermare una nuova password per l’utente root. È buona prassi utilizzare una password forte che sia difficile da indovinare.
Dopo di ciò, ti verrà chiesto se desideri rimuovere gli utenti anonimi dal tuo database. Un utente anonimo è uno che non ha ricevuto un nome utente o una password. Inserisci Y e premi Invio. Per impostazione predefinita, MariaDB consente a chiunque di connettersi al server di database senza un nome utente o una password. Questo non è sicuro, quindi rimuoveremo questi utenti anonimi.
Successivamente, ti verrà chiesto se desideri disabilitare l’accesso remoto per l’utente root. Disabilitare l’accesso remoto per l’utente root è una buona misura di sicurezza, poiché significa che un attaccante dovrebbe avere accesso fisico al tuo server per accedere come utente root. Inserisci Y e premi Invio.
Infine, ti verrà chiesto se desideri rimuovere i database di test e l’accesso a essi. Questi vengono utilizzati per scopi di test e non sono più necessari. Inserisci Y e premi Invio.
Ti verrà chiesto di ricaricare le tabelle dei privilegi affinché le tue modifiche abbiano effetto. Inserisci Y e premi Invio. La tua installazione di MariaDB è ora sicura.

Installazione di PHP
PHP è un linguaggio di scripting lato server utilizzato per elaborare contenuti dinamici, come dati di moduli o immagini. Se stai utilizzando WordPress, dovrai installare PHP.
Esegui il seguente comando per cercare i pacchetti PHP disponibili.
sudo apt-cache search lsphpVedrai un elenco di pacchetti con nomi che iniziano con PHP. Questi sono i pacchetti PHP7.4, PHP8.0 e PHP8.1. Per questa guida, installeremo PHP8.1, l’ultima versione di PHP. Questo pacchetto include le ultime funzionalità e aggiornamenti di sicurezza.
Per installare PHP8.1, esegui il seguente comando:
sudo apt install lsphp81 lsphp81-{common,mysql} -yLa parte {common,mysql} dice a apt di installare i moduli common e mysql per PHP8.1. Il modulo common fornisce un insieme di funzioni di base necessarie per la maggior parte delle applicazioni PHP. Il modulo mysql fornisce funzioni che consentono a PHP di interagire con MariaDB.

La tua applicazione PHP potrebbe essere compatibile con una versione diversa di PHP, quindi assicurati di controllare la documentazione della tua applicazione prima di scegliere una versione di PHP.
Se desideri installare altre versioni di PHP, sostituisci lsphp81 con la versione desiderata. Ad esempio, per installare PHP7.4, utilizzeresti il nome del pacchetto lsphp74 come mostrato di seguito:
sudo apt install lsphp74 lsphp74-{common,mysql}Accesso e Configurazione di OpenLiteSpeed
Configurazione del Firewall
Ubuntu viene fornito con un firewall predefinito chiamato UFW. Dovrai consentire il traffico sulle porte 7080 e 8088 per accedere alla Console di Amministrazione Web e al tuo sito web.
Consenti il traffico su queste porte eseguendo il seguente comando:
sudo ufw allow 7080/tcp && sudo ufw allow 8088/tcpControlla lo stato del tuo firewall eseguendo il seguente comando:
ufw statusVedrai un output simile a quello qui sotto. Come puoi vedere, l’output mostra che il traffico sulle porte 7080 e 8088 è consentito.

Accesso a OpenLiteSpeed
Ora che abbiamo tutto configurato, siamo pronti ad accedere a OpenLiteSpeed.
Per fare ciò, apri il tuo browser web e vai su http://your_domain:8088. Sostituisci “your_domain” con il tuo nome di dominio.
Vedrai una pagina simile a quella qui sotto: la pagina di benvenuto di OpenLiteSpeed.

Scorri verso il basso e fai clic sul link “Test PHP” per testare se PHP funziona correttamente con OpenLiteSpeed.

Vedrai una pagina simile a quella qui sotto. Questa pagina mostra che PHP funziona correttamente con OpenLiteSpeed. Anche se la versione PHP mostra come PHP7.4, cambieremo quella versione in PHP8.1 nella sezione successiva.

Fai clic sul link sotto lo script “Hello World CGI” per testare se la funzionalità CGI di OpenLiteSpeed funziona correttamente.
CGI è un meccanismo per eseguire programmi su un server web in risposta a richieste da browser web. OpenLiteSpeed può eseguire script CGI scritti in qualsiasi linguaggio, ma l’uso più comune per CGI è eseguire script Perl o PHP.
Questa funzionalità è molto utile se desideri utilizzare un linguaggio di programmazione non supportato da OpenLiteSpeed.

Vedrai una pagina Hello World simile a quella qui sotto, il che significa che la funzionalità CGI funziona correttamente.
Successivamente, esegui il seguente comando per impostare una password per la Console di Amministrazione Web.
sudo /usr/local/lsws/admin/misc/admpass.shFornisci un nome utente e una password per la Console di Amministrazione Web quando richiesto e premi INVIO.

Naviga su http://your_domain:7080 per aprire la Console di Amministrazione Web: l’interfaccia grafica (GUI) per gestire il tuo server OpenLiteSpeed.
Ti consente di eseguire tutte le operazioni che puoi eseguire utilizzando la riga di comando in modo molto più semplice. Puoi configurare il tuo server direttamente nel browser web senza dover modificare alcun file di configurazione, come i server web tradizionali.
Sostituisci your_domain con il tuo nome di dominio reale per vedere una pagina simile a quella qui sotto.
Inserisci il nome utente e la password che hai creato nel passaggio precedente e fai clic su “Login” per accedere alla Console di Amministrazione Web.

Vedrai una pagina simile a quella qui sotto. Questa pagina è la pagina principale della Console di Amministrazione Web. Ti mostra una panoramica del tuo server.

Configurare OpenLiteSpeed per Usare PHP8.1
Per impostazione predefinita, OpenLiteSpeed è configurato per lavorare con PHP7.4. Se stai utilizzando una versione diversa di PHP, dovrai dire a OpenLiteSpeed quale versione di PHP utilizzare.
Nella pagina principale della Console di Amministrazione Web, fai clic sulla scheda “Server Configuration”, quindi fai clic su “External App”. Vedrai un elenco di tutte le applicazioni esterne attualmente configurate.
Accanto a “LiteSpeed SAPI App”, fai clic sull’icona “Modifica” sotto Azione come mostrato.

Vedrai una pagina simile a quella qui sotto. Nel campo “Command”, inserisci lsphp81/bin/lsphp, il percorso del binario lsphp. Questa impostazione dice a OpenLiteSpeed di utilizzare PHP8.1 invece del PHP7.4 predefinito.

Mantieni le altre impostazioni come predefinite e fai clic sull’icona Salva per salvare le tue modifiche.
Fai clic sull’icona della freccia curva per eseguire un riavvio gradito. Le tue modifiche non avranno effetto fino a quando non riavvii gradualmente OpenLiteSpeed.
Infine, naviga su http://your_domain:8088/phpinfo.php. Vedrai una pagina simile a quella qui sotto, che mostra che OpenLiteSpeed sta utilizzando PHP8.1.
Congratulazioni! Hai installato e configurato con successo lo stack LOMP sul tuo server Ubuntu.
Domande Frequenti
Posso usare OpenLiteSpeed insieme ad altri server web?
No. OpenLiteSpeed è progettato per essere utilizzato come server web autonomo. Non è progettato per funzionare insieme ad altri server web. OpenLiteSpeed utilizza le stesse porte di altri server web (80 per HTTP e 443 per HTTPS). Ciò significa che solo un server web può essere in esecuzione sul tuo server in un dato momento.
Posso mettere in sicurezza il mio server web OpenLiteSpeed con un certificato SSL gratuito come Let’s Encrypt?
Sì, puoi. OpenLiteSpeed ha supporto integrato per Let’s Encrypt e altre autorità di certificazione compatibili con ACMEv2. Puoi utilizzare la Console di Amministrazione Web per installare un certificato SSL gratuito con pochi clic. Consulta la documentazione ufficiale di OpenLiteSpeed per ulteriori informazioni.
Crediti immagine: Unsplash. Tutti gli screenshot di Nicholas Xuan Nguyen.