51 05/04/2026 07/04/2026 9 min

Installare phpMyAdmin con OpenLiteSpeed su Ubuntu e Debian

Se hai OpenLiteSpeed su Ubuntu o Debian e vuoi gestire MySQL/MariaDB via browser, phpMyAdmin è la strada più rapida. Il punto critico non è tanto l’installazione del pacchetto, quanto il modo in cui lo esponi dietro OpenLiteSpeed: vanno evitati conflitti con il virtual host principale, permessi troppo larghi e configurazioni che lasciano accessibile l’interfaccia da Internet senza controllo.

Qui sotto trovi un percorso pulito: installazione, collegamento con OpenLiteSpeed, verifica e hardening minimo. L’obiettivo è avere phpMyAdmin funzionante senza toccare inutilmente il resto dello stack.

Prerequisiti e assunzioni operative

Prima di iniziare verifica di avere:

  • accesso SSH con privilegi sudo;
  • OpenLiteSpeed già installato e in esecuzione;
  • PHP attivo su OpenLiteSpeed;
  • MySQL o MariaDB raggiungibile localmente o via socket;
  • un nome host o un percorso dedicato che userai per phpMyAdmin.

Su Ubuntu e Debian i repository possono differire leggermente a seconda della release. Se la tua versione non include direttamente phpMyAdmin nei repo standard, il flusso resta valido: cambia solo il metodo di installazione.

Installazione del pacchetto phpMyAdmin

Su Debian e Ubuntu moderni, il modo più semplice è usare APT. Aggiorna l’indice e installa phpMyAdmin insieme alle dipendenze comuni per MySQL/MariaDB e PHP:

sudo apt update
sudo apt install phpmyadmin

Durante l’installazione, il sistema può chiederti alcuni passaggi interattivi:

  • se vuoi configurare automaticamente il database per phpMyAdmin;
  • quale web server deve essere configurato automaticamente;
  • la password dell’utente amministrativo del DB di phpMyAdmin.

Con OpenLiteSpeed, in genere la configurazione automatica per Apache non ti serve. Se il pacchetto propone la selezione del web server, puoi anche saltare l’integrazione automatica e gestire tu l’esposizione via virtual host o alias.

Se il pacchetto non è disponibile nel tuo repository o la versione è vecchia, valuta i repository ufficiali della distribuzione prima di ricorrere a sorgenti terze. Evita installazioni manuali sparse in directory arbitrarie: rendono più difficile aggiornare e auditare.

Verifica dei file installati

Dopo l’installazione, controlla dove sono finiti i file principali. I percorsi tipici sono:

  • /usr/share/phpmyadmin per i file applicativi;
  • /etc/phpmyadmin per la configurazione;
  • /etc/phpmyadmin/config.inc.php per la configurazione locale, se presente;
  • /var/lib/phpmyadmin per dati e tabelle di supporto, a seconda del pacchetto e della distro.

Verifica anche che PHP sia effettivamente disponibile per OpenLiteSpeed. In molti casi l’errore non è phpMyAdmin ma il runtime PHP non agganciato correttamente al web server.

php -v
ls -ld /usr/share/phpmyadmin /etc/phpmyadmin

Se i percorsi non esistono, il pacchetto potrebbe non essere stato installato oppure stai usando una variante di distribuzione con layout diverso. In quel caso controlla con:

dpkg -L phpmyadmin | head -n 50

Configurare OpenLiteSpeed per servire phpMyAdmin

Con OpenLiteSpeed hai due strade pulite: usare un alias sotto il virtual host esistente oppure creare un virtual host dedicato. Per operatività e isolamento, il virtual host dedicato è spesso la scelta migliore; per semplicità, un alias è più veloce.

Se vuoi un accesso rapido, crea un alias come /pma che punti alla directory di phpMyAdmin. In OpenLiteSpeed questo si gestisce dal pannello web, nella configurazione del virtual host.

Percorso tipico nel pannello:

  • Virtual Hosts → seleziona il sito
  • ContextAdd
  • Tipo: Static o App secondo la tua versione e integrazione PHP
  • URI: /pma
  • Location: /usr/share/phpmyadmin

Se il tuo setup usa document root separata e mapping rigido, un virtual host dedicato è più ordinato. In quel caso puoi puntare il document root a una directory controllata, o creare un alias di sola lettura verso phpMyAdmin.

Attenzione: non esporre la directory di sistema in modo scrivibile dal web server. phpMyAdmin deve essere leggibile da PHP, non modificabile dall’utente del processo web.

Permessi corretti

I permessi devono consentire la lettura dei file da parte del processo di OpenLiteSpeed/PHP, ma senza concedere scrittura superflua. In genere i file del pacchetto sono già correttamente permessi. Il controllo minimo è questo:

sudo find /usr/share/phpmyadmin -maxdepth 2 -type d -o -type f | head

Se hai copiato phpMyAdmin manualmente, imposta proprietario e permessi in modo prudente. La regola pratica è: directory leggibili, file non scrivibili dal web server, e configurazioni sensibili fuori dal document root quando possibile.

Configurazione di phpMyAdmin

La configurazione principale si trova spesso in /etc/phpmyadmin/config.inc.php. Se il file non esiste, potrebbe esserci un template da copiare oppure la distro usa un altro meccanismo di configurazione.

Un set minimo sensato include il blowfish secret per le sessioni e il server DB locale. Esempio concettuale:

<?php
$cfg['blowfish_secret'] = 'stringa_lunga_e_casuale';
$i = 1;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

Non lasciare il secret in chiaro in un contesto pubblico o in un backup condiviso. Se lo rigeneri, considera l’effetto sulle sessioni attive: gli utenti verranno scollegati.

Se il database ascolta su socket locale invece che su TCP, verifica il valore corretto di host o del socket configurato. Su alcune installazioni di MariaDB, usare 127.0.0.1 e localhost non produce lo stesso comportamento.

Creare il database di supporto, se richiesto

Alcune installazioni di phpMyAdmin usano tabelle di configurazione o storage avanzato. Se il pacchetto ti propone un database dedicato o se vuoi sfruttare le funzioni aggiuntive, crea il database e l’utente con privilegi limitati.

Le tabelle di supporto non sono obbligatorie per il login base, ma aiutano con funzionalità come relation view, bookmark, history e altri extra. Se non ti servono, puoi evitare questa parte e ridurre la superficie di attacco.

Se decidi di abilitarle, segui la documentazione del pacchetto della tua distribuzione e usa credenziali separate da quelle amministrative del DB. Il principio è sempre lo stesso: account dedicati, privilegi minimi, rotazione se il secret viene esposto.

Proteggere phpMyAdmin prima di esporlo

phpMyAdmin non dovrebbe essere lasciato aperto senza controllo su Internet. È un bersaglio classico per brute force, scan automatici e tentativi di exploit su password deboli o versioni vecchie.

Le misure minime da applicare sono:

  • limitare l’accesso per IP, se possibile;
  • aggiungere autenticazione HTTP a monte, almeno in ambienti interni;
  • usare HTTPS valido;
  • tenere aggiornati pacchetto e PHP;
  • disabilitare account DB senza password;
  • evitare il login root diretto da phpMyAdmin se non strettamente necessario.

Su OpenLiteSpeed puoi applicare restrizioni a livello di virtual host, rewrite o access control. Se hai una VPN o una rete di amministrazione, ancora meglio: phpMyAdmin deve stare dietro a un perimetro già filtrato.

Regola pratica: se l’interfaccia serve solo agli amministratori, non deve essere raggiungibile liberamente da chiunque scopra l’URL.

Abilitare HTTPS su OpenLiteSpeed

Se il sito non è già in HTTPS, fallo prima di esporre phpMyAdmin. Le credenziali del database non devono transitare in chiaro. Con OpenLiteSpeed, il certificato si configura dal pannello del listener SSL o del virtual host, a seconda del layout.

Controlli minimi:

  • certificato valido e non scaduto;
  • catena completa corretta;
  • redirect da HTTP a HTTPS se appropriato;
  • nessun mixed content nella pagina di login.

Se usi Let’s Encrypt, verifica il rinnovo automatico e l’integrazione con il servizio. Un certificato scaduto su phpMyAdmin non è un semplice dettaglio: blocca l’accesso e può indurre alcuni operatori a bypassare il controllo, che è la cosa peggiore da fare.

Verifica del funzionamento

Dopo aver configurato alias o virtual host, apri l’URL scelto, ad esempio https://tuodominio.tld/pma. La pagina di login deve caricare correttamente e mostrare il form di accesso.

Se vuoi un controllo rapido da shell, usa:

curl -I https://tuodominio.tld/pma/

Atteso: HTTP/2 200 o un redirect coerente verso la pagina di login. Se ottieni 403, 404, 500 o timeout, il problema è nel layer di esposizione, nei permessi o nel PHP handler, non necessariamente nel database.

Se la pagina carica ma il login fallisce, controlla la connessione al DB e i log PHP/OpenLiteSpeed. Su sistemi recenti i punti utili sono in genere sotto /usr/local/lsws/logs/ per OpenLiteSpeed e nei log di sistema o di PHP-FPM se usi un backend separato.

Troubleshooting essenziale

Se phpMyAdmin non apre, ordina i controlli dal layer più esterno al più interno.

  1. DNS e raggiungibilità: il nome risolve e punta al server corretto? Verifica con dig +short tuodominio.tld.
  2. Edge/HTTPS: il certificato è valido e il listener ascolta? Verifica con curl -I https://tuodominio.tld/pma/.
  3. Web server: il context/alias è configurato? Controlla la configurazione del virtual host in OpenLiteSpeed.
  4. PHP: il modulo o handler PHP è attivo? Cerca errori nei log di OpenLiteSpeed o PHP.
  5. DB: MySQL/MariaDB è online e accessibile dal server locale? Verifica con systemctl status mariadb o systemctl status mysql.

Errori frequenti e cause tipiche:

  • pagina bianca: fatal error PHP o versione incompatibile;
  • 403: permessi o access control sul context;
  • 404: alias errato o document root sbagliata;
  • 500: configurazione PHP, secret mancante, dipendenze non risolte;
  • login non funziona: host DB errato, credenziali sbagliate, socket non disponibile.

Per isolare un errore PHP, un controllo utile è verificare la sintassi del file di configurazione, se hai modificato config.inc.php:

php -l /etc/phpmyadmin/config.inc.php

Atteso: No syntax errors detected.

Aggiornamenti e manutenzione

phpMyAdmin va tenuto aggiornato come qualsiasi componente esposto. Le patch di sicurezza arrivano spesso con correzioni importanti. Su Ubuntu e Debian, l’aggiornamento segue il normale flusso APT:

sudo apt update
sudo apt upgrade phpmyadmin

Dopo l’upgrade controlla che la configurazione locale non sia stata sovrascritta e che il login funzioni ancora. Se il pacchetto introduce modifiche alla struttura dei file, confronta i file di configurazione con attenzione prima di riavviare tutto a occhi chiusi.

Se hai personalizzazioni importanti, tieni una copia versionata di /etc/phpmyadmin/config.inc.php o del file equivalente. In produzione, una modifica non tracciata è un debito tecnico inutile.

Scelta architetturale: alias o virtual host dedicato

Se vuoi la soluzione più rapida, usa un alias sotto il sito principale. Se vuoi isolamento, audit più semplice e possibilità di applicare policy dedicate, crea un virtual host separato. In ambienti con più amministratori, il virtual host dedicato è spesso la scelta migliore perché separa chiaramente il traffico operativo dal sito pubblico.

In entrambi i casi, la regola non cambia: phpMyAdmin non va pubblicato senza restrizioni e senza HTTPS. L’URL deve essere noto solo a chi lo usa davvero.

Checklist finale operativa

  • pacchetto installato con apt;
  • file di configurazione presenti e sintassi valida;
  • OpenLiteSpeed serve il path o il virtual host corretto;
  • PHP funzionante nel contesto del sito;
  • DB raggiungibile e credenziali corrette;
  • HTTPS attivo;
  • accesso limitato per IP o autenticazione aggiuntiva;
  • aggiornamenti pianificati.

Se questi punti tornano, phpMyAdmin è installato in modo sensato e non solo “funzionante”. La differenza tra i due casi, in produzione, è tutta nella manutenzione e nella superficie d’attacco.

Assunzione: OpenLiteSpeed è già operativo su Ubuntu o Debian e il database è locale o comunque raggiungibile dal server web.