Come installare PhpMyAdmin con Apache nei sistemi RHEL
In questo articolo ti guideremo attraverso la procedura passo passo per installare l'ultima versione di PhpMyAdmin con il server web Apache su distribuzioni basate su RHEL come CentOS Stream , Fedora, Rocky Linux e Alma Linux.
Cos'è PhpMyAdmin?
PhpMyAdmin è uno strumento di gestione di database basato sul Web popolare e potente e avere la versione più recente ti garantisce l'accesso alle funzionalità più aggiornate e ai miglioramenti della sicurezza. Al termine di questa guida sarai in grado di gestire facilmente i tuoi database MySQL o MariaDB utilizzando PhpMyAdmin.
Prerequisiti
Prima di iniziare, assicurati di avere quanto segue:
- Accesso a un sistema RHEL, CentOS Stream, Fedora, Rocky Linux o AlmaLinux.
- Assicurati di poter accedere come utente root o di disporre dei privilegi sudo per installare il software.
- Uno stack LAMP esistente, che include Apache, MySQL/MariaDB e PHP. Se non disponi di LAMP, puoi seguire questi passaggi per configurarlo.
Passaggio 1: aggiorna il sistema
Prima di installare qualsiasi software, è fondamentale assicurarsi che il sistema sia aggiornato eseguendo il seguente comando dnf.
sudo dnf update
Questo aggiornerà tutti i pacchetti sul tuo sistema alle versioni più recenti.
Passaggio 2: installare il server Web Apache
PhpMyAdmin è uno strumento basato sul web e per utilizzarlo è necessario installare il server web Apache utilizzando il seguente comando.
sudo dnf install httpd
Una volta installato, avvia il servizio Apache e abilitalo all'avvio all'avvio.
sudo systemctl start httpd
sudo systemctl enable httpd
Passaggio 3: installa MariaDB o MySQL
Avrai anche bisogno di un server database. Puoi scegliere di installare MariaDB o MySQL, ma in questo esempio utilizzeremo MariaDB.
sudo dnf install mariadb-server
Una volta installato, avvia il servizio MariaDB e abilitalo all'avvio 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, non consentire accessi root remoti e rimuovere gli utenti anonimi. Verrà inoltre rimosso il database di test, a cui per impostazione predefinita possono accedere gli utenti anonimi.
sudo mysql_secure_installation
Passaggio 4: installa PHP
PhpMyAdmin è costruito con PHP, quindi dobbiamo installare PHP e alcune estensioni richieste utilizzando il seguente comando.
sudo dnf install php php-mysqlnd php-json php-mbstring
Passaggio 5: installa PhpMyAdmin
Ora procediamo con l'installazione di PhpMyAdmin sul nostro sistema Linux accedendo alla directory root dei documenti del server web /var/www/html come mostrato.
cd /var/www/html
Successivamente, scarica l'ultima versione 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 riga seguente e imposta il tuo Blowfish_secret:
$cfg['blowfish_secret'] = 'your_secret';
Salvare ed uscire dal file.
Passaggio 6: apri la porta Apache in firewalld
Per impostazione predefinita, Apache utilizza comunemente le porte 80 e 443 per HTTP e HTTPS, rispettivamente. Per aprire le porte 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 entrata sulla porta specificata e ricaricano il firewall per applicare le modifiche.
Passaggio 7: riavviare il server Web Apache
Infine, riavvia Apache per applicare le modifiche:
sudo systemctl restart httpd
Passaggio 8: accedi a PhpMyAdmin
Ora puoi accedere a PhpMyAdmin tramite il tuo browser web accedendo all'indirizzo IP o al nome di dominio del tuo server seguito da "/phpmyadmin" nell'URL:
http://your_server_ip/phpmyadmin
Accedi utilizzando le tue credenziali MySQL o MariaDB.
Passaggio 9: consenti l'accesso esterno in PhpMyAdmin
Apri il file di configurazione PhpMyAdmin.
sudo vi /etc/httpd/conf/httpd.conf
Trova la sezione
o la sezione in cui è configurato il tuo PhpMyAdmin e aggiorna la direttiva Require
per consentire tutti gli indirizzi IP per accedere a PhpMyAdmin.
<Directory "/var/www/html/phpmyadmin">
...
Require all granted
...
</Directory>
La configurazione precedente consente l'accesso da qualsiasi indirizzo IP, ma se desideri limitare l'accesso a IP specifici, sostituisci Richiedi tutti concessi
con Richiedi ip tuo_ip
.
Riavvia 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 o il dominio del tuo server.
http://your_server_ip/phpmyadmin
Ricorda, aprire l'accesso a PhpMyAdmin dal mondo esterno può comportare rischi per la sicurezza. Assicurati di disporre di un meccanismo di autenticazione efficace e considera l'utilizzo di HTTPS per le comunicazioni crittografate. Inoltre, limita l'accesso solo agli indirizzi IP attendibili, se possibile, o proteggi l'URL di accesso PhpMyAdmin.
Modifica l'URL di accesso di phpMyAdmin
L'URL di accesso predefinito per phpMyAdmin è prevedibile e comunemente preso di mira da soggetti malintenzionati che tentano di sfruttare le vulnerabilità. La modifica dell'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 fare ciò, 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 l'URL di accesso personalizzato desiderato. Salva le modifiche e chiudi l'editor di testo.
Dopo aver apportato modifiche ai file di configurazione, riavviare Apache per applicare le modifiche:
systemctl restart httpd
Apri il tuo browser web e vai al nuovo URL di accesso phpMyAdmin.
http://yourdomain.com/my/
Configurazione SSL per phpMyAdmin
Proteggere la comunicazione tra il server web Apache e phpMyAdmin è fondamentale per proteggere le informazioni sensibili come le credenziali di accesso e il contenuto del database. Un modo efficace per raggiungere questo obiettivo è configurare SSL (Secure Socket Layer) per phpMyAdmin su un server web Apache.
Per fare ciò, installa prima il modulo mod_ssl sul tuo server.
yum install httpd mod_ssl openssl
Successivamente, crea una directory per archiviare il certificato e genera un certificato SSL autofirmato 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 e la chiave SSL, 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 e chiudi l'editor di testo.
Infine, apri il tuo browser web e vai al seguente URL per accedere a phpMyAdmin tramite una connessione SSL sicura.
https://yourdomain.com/my/
Tieni presente che il messaggio che indica una connessione non sicura è dovuto esclusivamente all'utilizzo di un certificato autofirmato. Per procedere, fare clic su "Avanzate" e confermare l'eccezione di sicurezza.
Conclusione
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 database, rendendo attività come la creazione di database, le query e la gestione dei dati un gioco da ragazzi.