Installazione Server · 23 min read · Nov 24, 2025
Come Installare LOMP Stack (OpenLiteSpeed, MySQL e PHP) su Ubuntu 24.04

OpenLiteSpeed è una versione leggera e open-source del LiteSpeed Server sviluppata da LiteSpeed Technologies. Supporta le regole di riscrittura di Apache, HTTP/2 e HTTP/3, e i protocolli TLS v1.3 e QUIC. Viene fornito con un pannello di amministrazione basato su WebGUI, rendendolo diverso da altri server e più facile da gestire.
Il LOMP Stack è un acronimo per Linux, OpenLiteSpeed, MySQL/MariaDB e PHP. I server Litespeed sono noti per la loro velocità, specialmente con PHP, che si integra utilizzando l’Interfaccia di Programmazione delle Applicazioni del Server LiteSpeed (LSAPI). L’interprete PHP LiteSpeed (LSPHP) serve pagine PHP dinamiche tramite LSAPI.
Questo tutorial ti mostrerà come installare un Server OpenLiteSpeed su Ubuntu 24.04.
Prerequisiti
- Un server che esegue Ubuntu 24.04.
- Un utente non root con privilegi sudo.
- Un nome di dominio completamente qualificato (FQDN) come
example.comche punta al server. - Assicurati che tutto sia aggiornato.
$ sudo apt update $ sudo apt upgrade - Alcuni pacchetti di cui il tuo sistema ha bisogno.
$ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -yAlcuni di questi pacchetti potrebbero già essere installati sul tuo sistema.
Passo 1 - Configurare il Firewall
Il primo passo è configurare il firewall. Debian viene fornito di default con ufw (Uncomplicated Firewall).
Controlla se il firewall è in esecuzione.
$ sudo ufw status
Otterrai il seguente output.
Status: inactive
Consenti la porta SSH in modo che il firewall non interrompa la connessione attuale al momento dell’abilitazione.
$ sudo ufw allow OpenSSH
Consenti anche le porte HTTP e HTTPS.
$ sudo ufw allow http
$ sudo ufw allow https
Apri le porte relative a Openlitespeed.
$ sudo ufw allow 7080/tcp
Abilita il Firewall
$ sudo ufw enable
Il comando potrebbe interrompere le connessioni ssh esistenti. Procedere con l'operazione (y|n)? y
Il firewall è attivo e abilitato all'avvio del sistema
Controlla di nuovo lo stato del firewall.
$ sudo ufw status
Dovresti vedere un output simile.
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
7080/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
7080/tcp (v6) ALLOW Anywhere (v6)
Passo 2 - Installare OpenLiteSpeed
Installeremo OpenLiteSpeed compilando il codice sorgente. Scarica il file del codice sorgente di OpenLiteSpeed. Puoi ottenere il link all’ultimo file di codice sorgente dalla pagina ufficiale dei download di OpenLiteSpeed. La versione 1.7.19 è l’attuale versione stabile disponibile.
$ wget https://openlitespeed.org/packages/openlitespeed-1.7.19.src.tgz
Estrai il file.
$ tar -zxf openlitespeed-*.tgz
Passa alla directory estratta.
$ cd openlitespeed-1.7.19
Compila il pacchetto del server.
$ sudo ./build.sh
Potresti dover aspettare buoni 5-10 minuti affinché il processo finisca. Ignora eventuali avvisi che ricevi durante il processo. Riceverai il seguente output quando sarà terminato.
...............
[100%] Linking CXX shared library modpagespeed.so
/usr/bin/ld: warning: 140.x25519-asm-x86_64.o.o: missing .note.GNU-stack section implies executable stack
/usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
[100%] Built target modpagespeed
Start to pack files.
-e Building finished, please run ./install.sh for installation.
-e You may want to update the ols.conf to change the settings before installation.
-e Enjoy.
Una volta terminato il processo, apri il file ols.conf per la modifica.
$ sudo nano ols.conf
Modifica il file come mostrato di seguito.
#Se vuoi cambiare i valori predefiniti, aggiorna questo file.
#
SERVERROOT=/usr/local/lsws
OPENLSWS_USER=nobody
OPENLSWS_GROUP=nobody
OPENLSWS_ADMIN=navjot
[email protected]
OPENLSWS_ADMINSSL=yes
OPENLSWS_ADMINPORT=7080
USE_LSPHP7=yes
DEFAULT_TMP_DIR=/tmp/lshttpd
PID_FILE=/tmp/lshttpd/lshttpd.pid
OPENLSWS_EXAMPLEPORT=8088
#Puoi impostare la password qui
#OPENLSWS_PASSWORD=
Non aggiungere la tua password qui. Imposteremo la password più tardi utilizzando la riga di comando. Una volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Ora che OpenLiteSpeed è stato costruito, procediamo con l’installazione.
$ sudo ./install.sh
Lo script di installazione installa e abilita il servizio lsws per il server. Riceverai il seguente output quando sarà terminato.
Updating webcache manager, please waiting ...
Downloading latest shared code tar file...
Checking tar file md5...
Removing existing shared code directory...
Extracting downloaded shared code...
Removing local shared code tar file...
Updating lscmctl script...
Done!
-e Installation finished, Enjoy!
-e Your webAdmin password is kXjWTl5j, written to file /usr/local/lsws/adminpasswd.
Avvia il server OpenLiteSpeed.
$ sudo systemctl start lsws
Controlla lo stato del servizio.
$ sudo systemctl status lsws
? lshttpd.service - OpenLiteSpeed HTTP Server
Loaded: loaded (/usr/lib/systemd/system/lshttpd.service; enabled; preset: enabled)
Active: active (running) since Sun 2024-06-02 12:58:44 UTC; 3s ago
Process: 52583 ExecStart=/usr/local/lsws/bin/lswsctrl start (code=exited, status=0/SUCCESS)
Main PID: 52604 (litespeed)
CGroup: /system.slice/lshttpd.service
??52604 "openlitespeed (lshttpd - main)"
??52610 "openlitespeed (lscgid)"
??52623 "openlitespeed (lshttpd - #01)"
??52624 lsphp
Jun 02 12:58:42 lompserver systemd[1]: Starting lshttpd.service - OpenLiteSpeed HTTP Server...
Jun 02 12:58:42 lompserver lswsctrl[52583]: [OK] litespeed: pid=52604.
Jun 02 12:58:44 lompserver systemd[1]: Started lshttpd.service - OpenLiteSpeed HTTP Server.
Controlla la versione del server installato.
$ /usr/local/lsws/bin/lshttpd -v
LiteSpeed/1.7.19 Open (BUILD built: Tue Apr 16 15:14:26 UTC 2024)
module versions:
lsquic 3.3.2
modgzip 1.1
cache 1.66
mod_security 1.4 (with libmodsecurity v3.0.12)
Crea la Password dell’Amministratore
Puoi utilizzare la password dell’amministratore fornita durante il processo di installazione. Tuttavia, dovresti crearne una tua reimpostandola. Esegui lo script di reimpostazione della password.
$ sudo /usr/local/lsws/admin/misc/admpass.sh
Riceverai il seguente output. Scegli il tuo nome utente e imposta una password forte.
Please specify the user name of administrator.
This is the user name required to login the administration Web interface.
User name [admin]: navjot
Please specify the administrator's password.
This is the password required to login the administration Web interface.
Password:
Retype password:
Administrator's username/password is updated successfully!
Ora puoi utilizzare la nuova password dell’amministratore.
Apri http:// per accedere al pannello di amministrazione di OpenLiteSpeed. Al primo accesso, il tuo browser avviserà che la tua connessione non è privata. Clicca su Avanzate e clicca su “Accetta il rischio e continua” (nel caso di Firefox) o “Procedi a “ (nel caso di browser basati su Chromium). Non vedrai più l’avviso.
Dovresti vedere la pagina di accesso.

Inserisci le credenziali impostate in precedenza e premi il pulsante Login per procedere.
Riceverai la seguente schermata.

Passo 3 - Installare MySQL
Prima di procedere con l’installazione di MySQL, dobbiamo aggiornare il repository di LiteSpeed. Il repository di Litespeed aggiunto tramite l’installer non funziona correttamente.
Apri il file /etc/apt/sources.list.d/lst_debian_repo.list per la modifica.
$ sudo nano /etc/apt/sources.list.d/lst_debian_repo.list
Cambia il contenuto del file aggiungendo il nome della release di Ubuntu 24.04 ( noble) all’URL del repository.
deb http://rpms.litespeedtech.com/debian/ noble main
Una volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Installa il server MySQL.
$ sudo apt install mysql-server
Il servizio MySQL viene avviato automaticamente e in esecuzione dopo l’installazione.
Controlla lo stato del servizio.
$ sudo systemctl status mysql
Riceverai il seguente output.
? mysql.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: enabled)
Active: active (running) since Sun 2024-06-02 13:42:12 UTC; 8min ago
Process: 57889 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 57898 (mysqld)
Status: "Server is operational"
Tasks: 37 (limit: 2263)
Memory: 370.6M (peak: 386.9M)
CPU: 6.762s
CGroup: /system.slice/mysql.service
??57898 /usr/sbin/mysqld
Jun 02 13:42:11 lompserver systemd[1]: Starting mysql.service - MySQL Community Server...
Esegui lo script di sicurezza di MySQL.
$ sudo mysql_secure_installation
Ti verrà chiesto di installare il Validate Password Component. Premi Y per procedere.
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: y
Successivamente, ti verrà chiesto di scegliere la forza della password. Seleziona 2 per Forte e procedi.
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
L’installazione di MySQL non ti chiederà di impostare una password root perché il tipo di autenticazione predefinito è auth_socket che dipende dall’autenticazione del tuo sistema Linux. Puoi però cambiarla in seguito.
Skipping password set for root as authentication with auth_socket is used by default.
If you would like to use password authentication instead, this can be done with the "ALTER_USER" command.
See https://dev.mysql.com/doc/refman/8.0/en/alter-user.html#alter-user-password-management for more information.
Successivamente, ti verranno poste alcune domande per migliorare la sicurezza di MySQL. Digita Y per rimuovere gli utenti anonimi, vietare i login remoti di root, rimuovere il database di test e ricaricare le tabelle dei privilegi.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : y
Success.
By default, MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : y
Success.
All done!
Puoi entrare nella shell di MySQL digitando sudo mysql nella riga di comando.
Passo 4 - Installare PHP
Poiché abbiamo costruito il nostro pacchetto dal sorgente, compila e costruisce una vecchia versione di PHP che non è raccomandata per l’uso. Puoi controllarlo tramite il seguente comando.
$ /usr/local/lsws/fcgi-bin/lsphp -v
PHP 5.6.40 (litespeed) (built: May 10 2023 23:03:31)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Pertanto, dobbiamo costruire e installare l’ultima versione di PHP. Ma, prima di procedere, dobbiamo installare gli strumenti di build.
$ sudo apt install build-essential autoconf libtool bison re2c pkg-config
Il passo successivo è installare i pacchetti richiesti dal processo di build di PHP.
$ sudo apt install libssl-dev libsqlite3-dev zlib1g-dev libcurl4-openssl-dev libonig-dev libzip-dev libmemcached-dev libreadline-dev libgmp-dev libpng-dev libjpeg-dev libwebp-dev libxpm-dev libicu-dev libfreetype6-dev libxslt-dev libldb-dev libtidy-dev libvips-dev libsodium-dev libavif-dev libldap2-dev libxml2-dev libkrb5-dev libc-client2007e-dev libpq-dev libargon2-1 libargon2-dev libbz2-dev libffi-dev libc-client-dev libpspell-dev flex libgmp3-dev libmcrypt-dev libmhash-dev freetds-dev libmysqlclient-dev libncurses5-dev libpcre3-dev libaspell-dev librecode-dev libsnmp-dev
Successivamente, scarica il codice sorgente di PHP. Scaricheremo la versione PHP 8.3.7 che è l’ultima versione disponibile al momento della scrittura.
$ cd ~
$ wget https://www.php.net/distributions/php-8.3.7.tar.gz
Estrai i file.
$ tar -xzf php-8.3.7.tar.gz
Passa alla directory scaricata.
$ cd php-8.3.7
Successivamente, esegui lo script di configurazione con le seguenti opzioni. L’opzione --enable-litespeed è essenziale.
$ sudo ./configure --prefix=/usr/local/lsws/lsphp83 --enable-bcmath --enable-calendar --enable-exif --enable-ftp --enable-gd --enable-intl --enable-mbregex --enable-mbstring --enable-mysqlnd --enable-opcache --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --with-avif --with-curl --with-ffi --with-freetype --with-gettext --with-gmp --with-imap --with-imap-ssl --with-jpeg --with-kerberos --with-libxml --with-ldap --with-mysqli --with-mysql-sock=/run/mysqld/mysqld.sock --with-openssl --with-password-argon2 --with-pdo-mysql=mysqlnd --with-pdo-pgsql=/usr/bin/pg_config --with-pear --with-pspell --with-readline --with-sodium --with-tidy --with-webp --with-xpm --with-xsl --with-zip --with-zlib --enable-litespeed
Dovresti ricevere il seguente output una volta che lo script è terminato.
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+
Thank you for using PHP.
Compila il sorgente.
$ sudo make -j $(nproc)
Riceverai un output simile una volta terminato.
Generating phar.php
Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
directorytreeiterator.inc
phar.inc
invertedregexiterator.inc
directorygraphiterator.inc
pharcommand.inc
clicommand.inc
Build complete.
Don't forget to run 'make test'.
Una volta terminato, esegui il seguente comando per provare a controllare la versione.
$ ./sapi/litespeed/php -v
PHP 8.3.7 (litespeed) (built: Jun 3 2024 05:28:43)
Copyright (c) The PHP Group
Zend Engine v4.3.7, Copyright (c) Zend Technologies
Installa PHP.
$ sudo make install
Riceverai il seguente output.
Installing shared extensions: /usr/local/lsws/lsphp83/lib/php/extensions/no-debug-non-zts-20230831/
Installing PHP CLI binary: /usr/local/lsws/lsphp83/bin/
Installing PHP CLI man page: /usr/local/lsws/lsphp83/php/man/man1/
Installing PHP LiteSpeed binary: /usr/local/lsws/lsphp83/bin/
Installing phpdbg binary: /usr/local/lsws/lsphp83/bin/
Installing phpdbg man page: /usr/local/lsws/lsphp83/php/man/man1/
Installing PHP CGI binary: /usr/local/lsws/lsphp83/bin/
Installing PHP CGI man page: /usr/local/lsws/lsphp83/php/man/man1/
Installing build environment: /usr/local/lsws/lsphp83/lib/php/build/
Installing header files: /usr/local/lsws/lsphp83/include/php/
Installing helper programs: /usr/local/lsws/lsphp83/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/lsws/lsphp83/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/lsws/lsphp83/lib/php/
[PEAR] Archive_Tar - installed: 1.4.14
[PEAR] Console_Getopt - installed: 1.4.3
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util - installed: 1.4.5
warning: pear/PEAR dependency package "pear/Archive_Tar" installed version 1.4.14 is not the recommended version 1.4.4
[PEAR] PEAR - installed: 1.10.15
Wrote PEAR system config file at: /usr/local/lsws/lsphp83/etc/pear.conf
You may want to add: /usr/local/lsws/lsphp83/lib/php to your php.ini include_path
Installing PDO headers: /usr/local/lsws/lsphp83/include/php/ext/pdo/
Verifica l’installazione di PHP. Ci sono due binari PHP disponibili nella directory /usr/local/lsws/lsphp83/bin. Uno è il normale php che è la versione da riga di comando e l’altro è la versione Litespeed lsphp. Quest’ultimo è quello che utilizzeremo.
$ /usr/local/lsws/lsphp83/bin/lsphp -v
PHP 8.3.7 (litespeed) (built: Jun 3 2024 05:28:43)
Copyright (c) The PHP Group
Zend Engine v4.3.7, Copyright (c) Zend Technologies
Puoi controllare l’elenco dei moduli PHP abilitati.
$ /usr/local/lsws/lsphp83/bin/php --modules
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
exif
FFI
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
imap
intl
json
ldap
libxml
mbstring
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
Phar
posix
pspell
random
readline
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
sysvsem
sysvshm
tidy
tokenizer
xml
xmlreader
xmlwriter
xsl
zip
zlib
[Zend Modules]
Copia il php.ini-production dalla cartella di installazione nella cartella /usr/local/lsws/lsphp83/lib.
$ sudo cp php.ini-production /usr/local/lsws/lsphp83/lib/php.ini
Configureremo OpenLiteSpeed per lavorare con PHP più tardi.
Apri il php.ini per la modifica.
$ sudo nano /usr/local/lsws/lsphp83/lib/php.ini
Trova la variabile include_path e cambia il suo valore come mostrato di seguito.
$ ;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
include_path = "/usr/local/lsws/lsphp83/lib/php"
Una volta terminato, salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Passo 5 - Configurare MySQL
Accedi alla shell di MySQL.
$ sudo mysql
Crea un database di test. Sostituisci testdb con il nome del database appropriato a tua scelta.
mysql> CREATE DATABASE testdb;
Crea un utente di test. Sostituisci testuser con un nome utente appropriato. Sostituisci Your_Password123 con una password forte.
mysql> CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'Your_Password123';
Concedi tutti i privilegi sul database all’utente.
mysql> GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
Ricarica i privilegi degli utenti.
mysql> FLUSH PRIVILEGES;
Esci dalla shell di MySQL.
mysql> exit
Passo 6 - Configurare OpenLiteSpeed
Cambiare la porta HTTP di nuovo a 80
Cambiamo la porta HTTP predefinita a 80. Accedi al tuo pannello di amministrazione su http:// con le credenziali che hai appena creato.
Visita la sezione Listeners a sinistra. Vedrai i listener predefiniti con la porta 8080.

Clicca sul pulsante View per vedere la configurazione dettagliata. Nella pagina successiva sotto Listener Default > General, clicca sull’icona di modifica e cambia la porta da 8080 a 80.


Clicca su Salva e riavvia il server cliccando sul pulsante di riavvio graduale.
Apri l’URL http:// nel tuo browser e dovresti vedere la seguente pagina.

Passo 7 - Configurare PHP
In questo passo, dobbiamo associare la nostra copia di PHP 8.3 con il server.
Clicca sulla sezione Server Configuration a sinistra e poi sulla scheda External App. Vedrai un’app LiteSpeed esistente per PHP. Apporteremo alcune modifiche.

Clicca sul pulsante Edit per modificare l’app PHP.
Successivamente, allinea la configurazione come mostrato di seguito. Lascia tutti gli altri campi vuoti.
Name: lsphp
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: lsphp83/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
Clicca su Salva quando hai finito.

Ora che abbiamo creato la nostra app PHP 8.3, dobbiamo dire al server di iniziare a usarla. Poiché abbiamo modificato il listing predefinito, è già configurato. Riavvia il server cliccando sul pulsante di riavvio graduale.
Per testare se PHP è stato cambiato correttamente, visita http:// nel tuo browser.

Riavviare PHP
Su OpenLiteSpeed, se modifichi php.ini o installi un nuovo modulo PHP, riavviare il server non mostrerà le modifiche. Dovrai riavviare il processo PHP per questo. Prima, dovrai localizzare gli ID di processo per il processo lsphp.
$ ps aux | grep lsphp
nobody 120093 0.0 0.8 123772 32920 ? S 06:35 0:00 lsphp
nobody 120111 0.0 0.4 123772 18980 ? Ss 06:38 0:00 lsphp
navjot 120139 0.0 0.0 6544 2304 pts/0 S+ 06:44 0:00 grep --color=auto lsphp
Termina manualmente i processi lsphp.
$ sudo kill -9 120093
$ sudo kill -9 120111
Riavvia il Server.
$ sudo systemctl restart lsws
Passo 8 - Creare VirtualHost
Per prima cosa, dobbiamo creare directory per il nostro virtual host.
$ sudo mkdir /usr/local/lsws/example.com/{html,logs} -p
La directory html conterrà i file pubblici e la directory logs conterrà i log del server.
Successivamente, apri la console di amministrazione, accedi alla sezione Virtual Hosts a sinistra e clicca 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

Clicca sul pulsante Salva quando hai finito. Riceverai il seguente errore perché il file di configurazione non esiste ancora. Clicca sul link per creare il file di configurazione.

Clicca di nuovo sul pulsante Salva per completare la creazione del Virtual Host.
Una volta creato il virtual host, vai su Virtual Hosts -> Scegli Virtual Host(example.com) -> Generale e modifica la configurazione come indicato.
Document Root: $VH_ROOT/html/
Domain Name: example.com
Enable GZIP Compression: Yes
Enable Brotli Compression: Yes

Clicca sul pulsante Salva quando hai finito. Successivamente, dobbiamo impostare i file indice. Clicca sul pulsante di modifica contro Index files sotto la Sezione Generale. Imposta le seguenti opzioni.
Use Server Index Files: No
Index files: index.php, index.html, index.htm
Auto Index: No

Clicca su Salva quando hai finito. Successivamente, dobbiamo scegliere i file di log. Vai alla sezione Log, clicca su Modifica contro Virtual Host Log, e compila i seguenti valori. Lascia le altre impostazioni inalterate.
Use Server’s Log: Yes
File Name: $VH_ROOT/logs/error.log
Log Level: ERROR
Rolling Size (bytes): 10M
Keep Days: 30
Compress Archive: Not Set

Puoi scegliere il Log Level come DEBUG se sei su una macchina di sviluppo.
Clicca su Salva e poi clicca sul segno più nella sezione Access Log per aggiungere una nuova voce. Compila 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
Compress Archive: Not Set
Bytes log: Not Set

Clicca su Salva quando hai finito. Successivamente, dobbiamo configurare Access Control sotto la sezione Sicurezza. Imposta i seguenti valori.
Allowed List: *
Denied List: Not set

Clicca su Salva quando hai finito. Successivamente, dobbiamo impostare la Definizione del Gestore degli Script. Clicca sul segno più (+) per aggiungere una nuova definizione. Imposta i seguenti valori.
Suffixes: php
Handler Type: LiteSpeed SAPI
Handler Name: [Server Level]: lsphp

Clicca su Salva quando hai finito. Successivamente, dobbiamo impostare Rewrite Control sotto la sezione Rewrite. Imposta i seguenti valori.
Enable Rewrite: Yes
Auto Load from .htaccess: Yes
Log Level: Not Set

Clicca su Salva quando hai finito. E infine, dobbiamo impostare i Listener. Vai alla sezione Listeners e clicca sul pulsante View contro Default Listener. Poi, clicca sul pulsante Aggiungi contro Virtual Host Mappings per aggiungere una nuova mappatura e imposta i seguenti valori.
Virtual Host: example.com
Domains: example.com
Clicca su Salva quando hai finito. Ora, clicca sul pulsante riavvio graduale per applicare tutte le modifiche sopra e riavviare il server.
Passo 9 - Installare SSL
Impostare SSL in OpenLiteSpeed richiede di impostare due certificati. Un certificato autofirmato per l’intero server e un certificato specifico per il sito di Let’s Encrypt.
Il pannello di amministrazione viene già fornito con un certificato autofirmato preinstallato che è disponibile nella directory /usr/local/lsws/admin/conf.
Creiamo prima il Certificato Autofirmato per l’intero server.
$ cd ~
$ openssl req -x509 -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes
Riceverai un output simile.
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:example.com
Email Address []:[email protected]
Puoi premere invio attraverso tutti i campi e lasciarli vuoti. Compila il tuo dominio per il Nome comune e il tuo indirizzo email.
Crea la directory per i certificati autofirmati.
$ sudo mkdir /usr/local/lsws/certs
Copia il certificato nella directory /usr/local/lsws/certs.
$ sudo mv *.pem /usr/local/lsws/certs
Dobbiamo installare Certbot per generare certificati SSL gratuiti offerti da Let’s Encrypt.
Puoi installare Certbot utilizzando il repository di Debian o prendere l’ultima versione utilizzando lo strumento Snapd. Utilizzeremo la versione Snapd. Ubuntu 24.04 viene fornito con Snapd preinstallato.
Esegui i seguenti comandi per assicurarti che la tua versione di Snapd sia aggiornata.
$ sudo snap install core
$ sudo snap refresh core
Emetti il seguente comando per installare Certbot.
$ sudo snap install --classic certbot
Usa il seguente comando per assicurarti che il comando Certbot possa essere eseguito creando un collegamento simbolico alla directory /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Verifica l’installazione.
$ certbot --version
certbot 2.10.0
Esegui il seguente comando per generare un certificato SSL.
Ottieni il certificato SSL. La directory webroot è impostata sulla directory HTML pubblica configurata in precedenza.
$ sudo certbot certonly --webroot -w /usr/local/lsws/example.com/html/ --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d example.com
Genera un certificato di gruppo Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Controlla il servizio di pianificazione del rinnovo di Certbot.
$ sudo systemctl list-timers
Troverai snap.certbot.renew.service come uno dei servizi programmati per l’esecuzione.
NEXT LEFT LAST PASSED UNIT ACTIVATES
Mon 2024-06-03 07:20:00 UTC 5min Mon 2024-06-03 07:10:02 UTC 4min 11s ago sysstat-collect.timer sysstat-collect.service
Mon 2024-06-03 08:29:00 UTC 1h 14min - - snap.certbot.renew.timer snap.certbot.renew.service
Mon 2024-06-03 08:50:32 UTC 1h 36min Mon 2024-06-03 07:04:04 UTC 10min ago fwupd-refresh.timer fwupd-refresh.service
Per controllare se il rinnovo SSL funziona correttamente, esegui un tentativo di dry run del processo.
$ sudo certbot renew --dry-run
Se non vedi errori, sei a posto. Il tuo certificato si rinnoverà automaticamente.
Ora apri la console di amministrazione, vai su Listeners >> Aggiungi Nuovo Listener, e aggiungi i seguenti valori.
Listener Name: SSL
IP Address: ANY IPv4
Port: 443
Secure: Yes

Clicca su Salva quando hai finito. Successivamente, vai alla sezione Virtual Host Mappings sotto il Listener SSL cliccando su SSL, cliccando sul pulsante Aggiungi, e compilando i seguenti valori.
Virtual Host: example.com
Domains: example.com
Clicca su Salva quando hai finito. Successivamente, vai a Listeners >> SSL Listener >> SSL Tab >> SSL Private Key & Certificate (pulsante Modifica) e compila i seguenti valori per il certificato autofirmato che abbiamo creato prima.
Private Key File: $SERVER_ROOT/certs/key.pem
Certificate File: $SERVER_ROOT/certs/cert.pem
Chained Certificate: Yes

Clicca su Salva quando hai finito. Successivamente, vai a Listeners >> SSL Listener >> SSL Tab >> SSL Protocol (pulsante Modifica) e compila i seguenti valori per il protocollo SSL e i dettagli del cifrario.
Protocol Version: TLS v1.2 TLS v1.3
Ciphers: ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
Enable ECDH Key Exchange: Yes
Enable DH Key Exchange: Yes
DH Parameter: /etc/ssl/certs/dhparam.pem

Clicca su Salva quando hai finito. Successivamente, vai a Virtual Hosts >> example.com >> SSL Tab >> SSL Private Key & Certificate (pulsante Modifica) e compila i seguenti valori con il Certificato di Let’s Encrypt.
Private Key File: /etc/letsencrypt/live/example.com/privkey.pem
Certificate File: /etc/letsencrypt/live/example.com/fullchain.pem
Chained Certificate: Yes

Clicca su Salva quando hai finito. Successivamente, vai a Virtual Hosts >> example.com >> SSL Tab >> OCSP Stapling (pulsante Modifica) e compila i seguenti valori per abilitare OCSP Stapling.
Enable OCSP Stapling: Yes
OCSP Response Max Age(Secs): 300
OCSP Responder: http://r3.o.lencr.org

Clicca su Salva quando hai finito. Successivamente, vai a Virtual Hosts >> example.com >> SSL Tab >> Security (pulsante Modifica) e compila i seguenti valori per abilitare il protocollo HTTP3/QUIC.
ALPN: Enable HTTP/2 and HTTP/3
Enable HTTP3/QUIC: Yes
Non è necessario abilitare altre opzioni poiché sono attive per impostazione predefinita.

Clicca su Salva quando hai finito.
Riavvia il server cliccando sul pulsante di riavvio graduale.
Passo 10 - Testare il Sito
Crea un file di Test nella tua directory html.
$ sudo nano /usr/local/lsws/example.com/html/index.php
Incolla il seguente codice nell’editor Nano.
OpenLiteSpeed Server Install Test
Hello,';
// Define PHP variables for the MySQL connection.
$servername = "localhost";
$username = "testuser";
$password = "Your_Password123";
// Create a MySQL connection.
$conn = mysqli_connect($servername, $username, $password);
// Report if the connection fails or is successful.
if (!$conn) {
exit('Your connection has failed.
' . mysqli_connect_error());
}
echo '
You have connected successfully.
';
?>
Salva il file premendo Ctrl + X e inserendo Y quando richiesto. Apri l’URL https://example.com in un browser e dovresti vedere la seguente pagina.

Il sito di test è completamente funzionale. Puoi iniziare a utilizzare il server per servire siti web e applicazioni PHP dinamiche.
Conclusione
Questo conclude il nostro tutorial su come installare LOMP Stack (OpenLiteSpeed, MySQL e PHP) su un server Ubuntu 24.04. Se hai domande, postale nei commenti qui sotto.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.