Come Configurare un LOMP Stack su Ubuntu Server

Lomp Stack Featured

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 update

Recupera il repo OLS con il comando wget.

sudo wget -O - https://repo.litespeed.sh | cat

Il 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.

Lomp Stack Ubuntu Review Repository

Se l’output sembra buono, puoi eseguire lo script con il seguente comando:

sudo wget -O - https://repo.litespeed.sh | sudo bash

La 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.

Lomp Stack Ubuntu Add Repository

Una volta aggiunto il repository, aggiorna di nuovo l’indice dei pacchetti per riflettere le modifiche:

sudo apt update

Infine, installa OpenLiteSpeed con il seguente comando apt.

sudo apt install openlitespeed -y

OpenLiteSpeed sarà installato sul tuo server.

Lomp Stack Install Openlitespeed

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 openlitespeed

Puoi controllare lo stato del servizio OpenLiteSpeed per assicurarti che stia funzionando correttamente:

sudo systemctl status openlitespeed

L’output apparirà simile a quello qui sotto.

Lomp Stack Status Openlitespeed Service

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 -y

Come 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 mariadb

Puoi controllare lo stato del servizio MariaDB per assicurarti che stia funzionando correttamente.

sudo systemctl status mariadb

L’output apparirà simile a quello qui sotto.

Lomp Stack Status Mariadb Service

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-installation

Questo 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.

Lomp Stack Status Secure Mariadb

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.

Lomp Stack Secure Mariadb Reload Privilege Tables

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 lsphp

Vedrai 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} -y

La 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.

Lomp Stack Installing Php

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

Controlla lo stato del tuo firewall eseguendo il seguente comando:

ufw status

Vedrai un output simile a quello qui sotto. Come puoi vedere, l’output mostra che il traffico sulle porte 7080 e 8088 è consentito.

Lomp Stack Check Firewall

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.

Lomp Stack Accessing Openlitespeed

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

Lomp Stack Test Php

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.

Lomp Stack Test Php2

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.

Lomp Stack Test Cgi

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.sh

Fornisci un nome utente e una password per la Console di Amministrazione Web quando richiesto e premi INVIO.

Lomp Stack Set User Password

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.

Lomp Stack Log In Web Ui

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.

Lomp Stack Main Web Ui

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.

Lomp Stack External App 1

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.

Lomp Stack Set Php81

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.