Ricerca nel sito web

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.