In questo articolo, ti guideremo attraverso il processo passo-passo di installazione della versione più recente di PhpMyAdmin con il server web Apache su distribuzioni basate su RHEL come CentOS Stream, Fedora, Rocky Linux, e Alma Linux.
Indice dei contenuti
Cos’è PhpMyAdmin?
PhpMyAdmin è uno strumento web-based di gestione del database popolare e potente, e avere la versione più recente garantisce che tu abbia accesso alle funzionalità più aggiornate e miglioramenti di sicurezza. Alla fine di questa guida, sarai in grado di gestire i tuoi database MySQL o MariaDB facilmente utilizzando PhpMyAdmin.
Prerequisiti
Prima di iniziare, assicurati di avere quanto segue:
- Accesso a un RHEL, CentOS Stream, Fedora, Rocky Linux o AlmaLinux system.
- Assicurati di poter accedere come utente root o di avere privilegi sudo per installare software.
- Un LAMP stack esistente, che include Apache, MySQL/MariaDB e PHP. Se non hai LAMP, puoi seguire questi passaggi per configurarlo.
Passo 1: Aggiorna il Sistema
Prima di installare qualsiasi software, è fondamentale assicurarsi che il tuo sistema sia aggiornato eseguendo il seguente comando dnf.
sudo dnf update

Questo aggiornerà tutti i pacchetti sul tuo sistema alle versioni più recenti.
Passo 2: Installa il Server Web Apache
PhpMyAdmin è uno strumento basato sul web, e per usarlo, devi installare il server web Apache utilizzando il seguente comando.
sudo dnf install httpd

Una volta installato, avvia il servizio Apache ed abilitalo per avviarlo all’avvio.
sudo systemctl start httpd sudo systemctl enable httpd
Passo 3: Installa MariaDB o MySQL
Avrai anche bisogno di un server di database. Puoi scegliere di installare MariaDB o MySQL, ma in questo esempio andremo con MariaDB.
sudo dnf install mariadb-server

Una volta installato, avvia il servizio MariaDB ed abilitalo per avviarlo all’avvio.
sudo systemctl start mariadb sudo systemctl enable mariadb
Successivamente, proteggi la tua installazione di MariaDB eseguendo lo script, che ti chiederà di inserire una password per l’utente root, vieterà i login remoti per root e rimuoverà gli utenti anonimi. Rimuoverà anche il database di test, che di default può essere accessibile dagli utenti anonimi.
sudo mysql_secure_installation

Passo 4: Installare PHP
PhpMyAdmin è costruito con PHP, quindi abbiamo bisogno di installare PHP e alcune estensioni richieste utilizzando il seguente comando.
sudo dnf install php php-mysqlnd php-json php-mbstring

Passo 5: Installare PhpMyAdmin
Ora, procediamo con l’installazione di PhpMyAdmin sul nostro sistema Linux navigando nella directory principale del server web /var/www/html come mostrato.
cd /var/www/html
Successivamente, scarica la versione più recente di PhpMyAdmin utilizzando il seguente comando wget come mostrato.
sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
Una volta scaricato, estrai l’archivio scaricato e rinomina la directory per comodità.
sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz sudo mv phpMyAdmin-*/ phpmyadmin
Crea un file di configurazione per PhpMyAdmin.
sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
Modifica il file di configurazione:
sudo nano /var/www/html/phpmyadmin/config.inc.php
Trova la seguente riga e imposta il tuo blowfish_secret:
$cfg['blowfish_secret'] = 'your_secret';
Salva ed esci dal file.
Passo 6: Aprire la porta Apache in firewalld
Per impostazione predefinita, Apache utilizza generalmente le porte 80 e 443 rispettivamente per HTTP e HTTPS. Per aprire le porte di Apache e consentire l’accesso a PhpMyAdmin sul tuo server, esegui:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent sudo firewall-cmd --zone=public --add-port=443/tcp --permanent sudo firewall-cmd --reload
Questi comandi aggiungono una regola per consentire il traffico in ingresso sulla porta specificata e ricaricano il firewall per applicare le modifiche.
Passo 7: Riavvia il server Web Apache
Infine, riavvia Apache per applicare le modifiche:
sudo systemctl restart httpd
Passo 8: Accedi a PhpMyAdmin
Ora puoi accedere a PhpMyAdmin attraverso il tuo browser web navigando all’indirizzo IP del tuo server o al nome di dominio seguito da “/phpmyadmin” nella URL:
http://your_server_ip/phpmyadmin
Accedi utilizzando le tue credenziali MySQL o MariaDB.


Passo 9: Consenti l’accesso esterno in PhpMyAdmin
Apri il file di configurazione PhpMyAdmin.
sudo vi /etc/httpd/conf/httpd.conf
Trova la sezione <Directory "/var/www/html">
o la sezione in cui è configurato il tuo PhpMyAdmin e aggiorna la direttiva Require
per consentire l’accesso a tutti gli indirizzi IP a PhpMyAdmin.
<Directory "/var/www/html/phpmyadmin"> ... Require all granted ... </Directory>
La configurazione precedente consente l’accesso da qualsiasi indirizzo IP, ma se si desidera limitare l’accesso a specifici indirizzi IP, sostituire Require all granted
con Require ip your_ip
.
Riavviare Apache per applicare le modifiche.
sudo systemctl restart httpd
Ora, dovresti essere in grado di accedere a PhpMyAdmin dal mondo esterno utilizzando l’indirizzo IP del tuo server o il dominio.
http://your_server_ip/phpmyadmin
Ricorda, l’accesso aperto a PhpMyAdmin dal mondo esterno può rappresentare rischi per la sicurezza. Assicurati di avere un meccanismo di autenticazione robusto in atto e considera l’uso di HTTPS per la comunicazione criptata. Inoltre, limita l’accesso solo a indirizzi IP affidabili se possibile o proteggi l’URL di accesso a PhpMyAdmin.
Modifica l’URL di accesso a phpMyAdmin
L’URL di accesso predefinito per phpMyAdmin è prevedibile e spesso oggetto di attacchi da parte di attori malevoli che cercano di sfruttare le vulnerabilità. Modificare l’URL di accesso aggiunge un ulteriore livello di sicurezza, rendendo più difficile per gli utenti non autorizzati ottenere l’accesso all’interfaccia di gestione del database.
Per farlo, crea un file di configurazione /etc/httpd/conf.d/phpMyAdmin.conf.
vi /etc/httpd/conf.d/phpMyAdmin.conf
Successivamente, aggiungi la seguente configurazione.
#Alias /phpMyAdmin /var/www/html/phpmyadmin Alias /my /var/www/html/phpmyadmin <Directory /var/www/htm/lphpmyadmin> AddDefaultCharset UTF-8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAny> Require all granted # Additional IP or hostname-based access control can be added here </RequireAny> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 # Additional IP or hostname-based access control can be added here </IfModule> </Directory>
Sostituisci /my
con il tuo desiderato URL di accesso personalizzato. Salva le modifiche ed esci dal text editor.
Dopo aver apportato modifiche ai file di configurazione, riavvia Apache per applicare le modifiche:
systemctl restart httpd
Apri il tuo browser web e naviga alla nuova URL di accesso phpMyAdmin.
http://yourdomain.com/my/

Configurazione di SSL per phpMyAdmin
Proteggere la comunicazione tra il server web Apache e phpMyAdmin è fondamentale per proteggere informazioni sensibili come credenziali di accesso e contenuto del database. Un modo efficace per ottenere ciò è configurare SSL (Secure Socket Layer) per phpMyAdmin su un server web Apache.
Per farlo, installa prima il modulo mod_ssl sul tuo server.
yum install httpd mod_ssl openssl
Successivamente, crea una directory per memorizzare il certificato e genera un certificato SSL auto-firmato e una chiave privata come mostrato.
mkdir /etc/httpd/ssl openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt

Dopo aver creato il certificato SSL e la chiave, apri il file di configurazione SSL di Apache.
vi /etc/httpd/conf.d/ssl.conf
Successivamente, aggiungi le seguenti righe al file di configurazione.
SSLEngine on SSLCertificateFile /etc/httpd/ssl/apache.crt SSLCertificateKeyFile /etc/httpd/ssl/apache.key
Salva le modifiche e riavvia il server web Apache.
systemctl restart httpd
Ora, apri il file di configurazione di phpMyAdmin.
vi /var/www/html/phpmyadmin/config.inc.php
Aggiungi le seguenti righe per forzare SSL per phpMyAdmin.
$cfg['ForceSSL'] = true;
Salva le modifiche ed esci dal text editor.
Infine, apri il tuo browser web e naviga alla seguente URL per accedere a phpMyAdmin tramite una connessione SSL sicura.
https://yourdomain.com/my/
Si prega di tenere presente che il messaggio che indica una connessione non sicura è dovuto esclusivamente all’utilizzo di un certificato auto-firmato. Per procedere, fai clic su “Advanced” e conferma l’eccezione di sicurezza.


Conclusion
Congratulazioni! Hai installato con successo PhpMyAdmin con Apache sul tuo sistema RHEL, CentOS Stream, Rocky Linux o AlmaLinux. Questo strumento basato sul web semplifica la gestione dei tuoi database, rendendo facili compiti come la creazione di database, le query e la gestione dei dati.
Source:
https://www.tecmint.com/install-phpmyadmin-rhel-centos-fedora-linux/