GNU/Linux >> Linux Esercitazione >  >> Linux

Installa e configura phpMyAdmin

phpMyAdmin® è uno strumento di amministrazione gratuito e open source per MySQL® e MariaDB®. Essendo un'applicazione web portatile scritta principalmente in PHP, phpMyAdmin è diventata uno degli strumenti di amministrazione MySQL più popolari, soprattutto per i servizi di web hosting.

Questo articolo descrive come installare e configurare phpMyAdmin sul tuo server web per CentOS® 7, Red Hat® Enterprise Linux® (RHEL) 7 e Ubuntu® 16.04 LTS.

Prerequisiti

Prima di poter installare phpMyAdmin, devi avere installato quanto segue sul tuo server:

  • Un server web, come Apache® o NGINX®
  • PHP

Verifica se è installato un server web

Utilizzare i comandi nella tabella seguente per verificare se è installato un server Web:

Sistema operativo Server Web Comando
CentOS e RHEL Apache rpm -qa | grep httpd
CentOS e RHEL NGINX rpm -qa | grep nginx
Sistema operativo Ubuntu Apache dpkg -l | grep apache
Sistema operativo Ubuntu NGINX dpkg -l | grep nginx

Verifica se PHP è installato

Utilizzare il comando seguente per verificare se PHP è installato su CentOS o RHEL:

rpm -qa | grep php

Utilizzare il comando seguente per verificare se PHP è installato sul sistema operativo Ubuntu:

dpkg -l | grep php

Installa phpMyAdmin

Usa le istruzioni nelle sezioni seguenti per installare phpMyAdmin.

CentOS e RHEL

Installa phpMyAdmin usando il seguente comando:

yum install phpmyadmin

L'output dovrebbe essere simile al seguente esempio:

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.mhd.uk.as44574.net
 * epel: mirror.freethought-internet.co.uk
 * extras: mirror.mhd.uk.as44574.net
 * updates: mirror.mhd.uk.as44574.net
Resolving Dependencies
--> Running transaction check
---> Package phpMyAdmin.noarch 0:4.4.15.10-3.el7 will be installed
--> Processing Dependency: php-mysqli >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-mbstring >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-gd >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-xmlwriter for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-tcpdf-dejavu-sans-fonts for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-tcpdf for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-php-gettext for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Running transaction check

Il sistema operativo Ubuntu

Installa phpMyAdmin usando il seguente comando:

apt-get install php phpmyadmin

L'output dovrebbe essere simile al seguente esempio:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  dbconfig-common dbconfig-mysql fontconfig-config fonts-dejavu-core javascript-common libfontconfig1 libgh3 libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc libjs-underscore libtiff5 libvpx3 libxpm4 libxslt1.1 php-gd php-gettext php-mbstring php-pear php-phpseclib php-tcpdf php-xml php7.0-gd php7.0-mbstring php7.0-xml
Suggested packages:
  libgd-tools php-libsodium php-gmp php-imagick www-browser
The following NEW packages will be installed:
  dbconfig-common dbconfig-mysql fontconfig-config fonts-devaju-core javascript-common libfontconfig1 libgd3 libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc libjs-underscore libtiff5 libvpx3 libxpm4 libxslt1.1 php-gd php-gettext php-mbstring php-pear php-phpseclib php-tcpdf php-xml php7.0-gd php7.0-mbstring php7.0-xml phpmyadmin
0 upgraded, 28 newly installed, 0 to remove and 6 not upgraded.
Need to get 16.3 MB of archives.
After this operation, 61.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Premi Y e quindi premi Invio per continuare con il processo di configurazione. Vedi Configura phpMyAdmin sul sistema operativo Ubuntu sezione per ulteriori istruzioni.

Configura phpMyAdmin su CentOS e RHEL

Dopo aver installato phpMyAdmin sul tuo server web, usa le istruzioni nelle sezioni seguenti per configurare phpMyAdmin.

Server web Apache

Devi prima aggiungere l'indirizzo IP (Internet Protocol) che desideri utilizzare per accedere a phpMyAdmin a /etc/phpMyAdmin/config.inc.php file di configurazione.

  1. Apri /etc/phpMyAdmin/config.inc.php file in un editor di testo.

  2. Nella sezione che inizia con la riga <IfModule !mod_authz_core.c> , aggiungi l'indirizzo IP come mostrato nell'esempio seguente:

    <IfModule !mod_authz_core.c>
    # Apache 2.2
    Order Deny,Allow
    Deny from All
    Allow from 127.0.0.1
    Allow from ::1
    Allow from
    Require ip 94.236.7.190
    </IfModule>
    </Directory>
    
  3. Salva e chiudi il file.

Imposta un alias URL (opzionale)

L'URL standard per un'installazione di phpMyAdmin è https://ipaddress/phpMyAdmin , dove indirizzo IP è l'indirizzo IP che hai aggiunto al file di configurazione nella sezione precedente. Se vuoi modificare l'URL, puoi impostare un alias.

  1. Apri /etc/httpd/conf.d/phpMyAdmin.conf file in un editor di testo.

  2. Trova le righe che iniziano con Alias e cambia /phpMyAdmin all'alias di tua scelta, come mostrato nell'esempio seguente:

    Alias /NewName /usr/share/phpMyAdmin
    Alias /newname /usr/share/phpMyAdmin
    
  3. Salva ed esci dal file.

File di configurazione del database

Se il server di database MySQL o MariaDB che desideri utilizzare con phpMyAdmin non si trova sullo stesso server del tuo server web, devi modificare il file di configurazione del database per definire la posizione del server di database.

Sono disponibili due opzioni di configurazione:

  1. Host MySQL o indirizzo IP
  2. Porta MySQL/MariaDB

Utilizzare i seguenti passaggi per definire la posizione del server del database:

  1. Apri /etc/phpMyAdmin/config.inc.php file in un editor di testo.

  2. Modifica il file come mostrato nell'esempio seguente:

    $cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address
    $cfg['Servers'][$i]['port']          = '';          // MySQL port - leave blank for default port
    $cfg['Servers'][$i]['socket']        = '';          // Path to the socket - leave blank for default socket
    $cfg['Servers'][$i]['connect_type']  = 'tcp';       // How to connect to MySQL server ('tcp' or 'socket')
    $cfg['Servers'][$i]['extension']     = 'mysqli';    // The php MySQL extension to use ('mysql' or 'mysqli')
    $cfg['Servers'][$i]['compress']      = FALSE;       // Use compressed protocol for the MySQL connection
                                                        // (requires PHP >= 4.3.0)
    $cfg['Servers'][$i]['controluser']   = '';          // MySQL control user settings
                                                        // (this user must have read-only
    $cfg['Servers'][$i]['controlpass']   = '';          // access to the "mysql/user"
                                                        // and "mysql/db" tables).
    
  3. Salva ed esci dal file.

Per rendere attive le modifiche, devi controllare la sintassi del demone del motore web e quindi riavviarlo o ricaricarlo con grazia.

Verifica la sintassi usando il seguente comando:

apachectl configtest

Se non ci sono errori nel file di configurazione, dovresti vedere Syntax OK nell'output.

Ricaricare il server Web Apache utilizzando il seguente comando:

CentOS e RHEL 6

service httpd graceful

CentOS e RHEL 7

systemctl status httpd

Controllare lo stato del servizio httpd per assicurarsi che funzioni come previsto utilizzando il comando seguente:

CentOS e RHEL 6

service httpd status

CentOS e RHEL 7

systemctl status httpd

Ora dovresti essere in grado di visualizzare phpMyAdmin tramite un browser web, come mostrato nell'immagine seguente:

server web NGINX

Su NGINX, il pacchetto phpMyAdmin non viene fornito con un file di configurazione, quindi devi creare un blocco server per puntare al file di configurazione phpMyAdmin.

  1. Apri un editor di testo e crea il file /etc/nginx/conf.d/phpMyAdmin.conf .

  2. Immettere le seguenti impostazioni di configurazione:

    server {
    listen 80;
    server_name 95.138.162.233;
    root /var/www;
    location /phpMyAdmin {
        root /usr/share/;
        index index.php;
    
    # auth_basic "phpMyAdmin Login";                # uncomment if using .htaccess & .htpasswd security
    # auth_basic_user_file /etc/nginx/.pma_pass;    # uncomment if using .htaccess & .htpasswd security
    
        location ~\.php$ {
            try_files $uri =404;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
            }
    
        location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
         root /usr/share/;
            }
        }
    
    location /phpmyadmin {
        rewrite ^/* /phpMyAdmin last;
        }
    }
    
  3. Salva ed esci dal file.

Per rendere attive le modifiche, devi controllare la sintassi del demone del motore web e quindi riavviarlo o ricaricarlo con grazia.

Utilizzare il comando seguente per verificare la sintassi:

nginx -t

Se non ci sono errori nel file di configurazione, dovresti vedere Syntax OK nell'output.

Ricarica il server web NGINX utilizzando il comando seguente:

CentOS e RHEL 6

service nginx graceful

CentOS e RHEL 7

systemctl reload nginx

Controlla lo stato del servizio NGINX per assicurarti che funzioni come previsto utilizzando il comando seguente:

CentOS e RHEL 6

service nginx status

CentOS e RHEL 7

systemctl status nginx

Ora dovresti essere in grado di visualizzare phpMyAdmin tramite un browser web, come mostrato nell'immagine seguente:

Configura phpMyAdmin sul sistema operativo Ubuntu

Usa i passaggi nelle sezioni seguenti per configurare phpMyAdmin sul sistema operativo Ubuntu.

Server web Apache

Il processo di installazione aggiunge il file di configurazione di phpMyAdmin Apache a /etc/apache2/conf-enabled/ directory, dove viene letto automaticamente. L'unica cosa che devi fare è abilitare mbstring Estensione PHP, che puoi eseguire eseguendo il seguente comando:

sudo phpenmod mbstring

Dopo aver installato phpMyAdmin, viene visualizzata la schermata di configurazione del pacchetto, come mostrato nell'immagine seguente.

Usa la barra spaziatrice per selezionare apache2 , premi Tab per selezionare Ok , quindi premi Invio .

Il processo di installazione continua finché non viene visualizzata un'altra schermata di configurazione che richiede di confermare se si desidera configurare il database per phpMyAdmin utilizzando dbconfig-common .

Seleziona , quindi premi Invio .

Viene richiesta la password dell'amministratore del database. Inserisci la tua password, premi Tab per selezionare Ok , quindi premi Invio .

Quindi, inserisci una password per l'applicazione phpMyAdmin stessa, premi Tab per selezionare Ok , quindi premi Invio .

Conferma la password selezionando Ok , quindi premi Invio .

Al termine del processo di installazione, il file di configurazione di phpMyAdmin viene aggiunto a /etc/apache2/conf-enabled/phpmyadmin.conf .

Se questo file non esiste al termine dell'installazione, puoi copiarlo da /etc/phpmyadmin/apache.conf su /etc/apache2/conf-enabled . Se quel file non esiste, devi creare un host virtuale per phpMyAdmin con le seguenti impostazioni:

server {
       listen 80;
       server_name example.com www.example.com;
       root /var/www/vhosts/example.com;
       ..

       location /phpMyAdmin {
           root /usr/share/;
           index index.php;

           # auth_basic "phpMyAdmin Login";                                # uncomment if using .htaccess & .htpasswd security
           # auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd;    # uncomment if using .htaccess & .htpasswd security

           location ~\.php$ {
                   try_files $uri =404;
                   fastcgi_pass unix:/var/run/php-fpm.sock;
                   fastcgi_index index.php;
                   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                   include /etc/nginx/fastcgi_params;
           }
           location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                   root /usr/share/;
           }
    }
    location /phpmyadmin {
           rewrite ^/* /phpMyAdmin last;
    }
    ...
}

Se in qualsiasi momento hai bisogno di riconfigurare phpMyAdmin, puoi usare il seguente comando:

dpkg-reconfigure phpmyadmin
Configurazione database remoto

Se il server di database che vuoi gestire con phpMyAdmin è remoto, devi configurare phpMyAdmin in modo diverso. I file di configurazione si trovano in /etc/phpmyadmin directory. Il file di configurazione principale è/etc/phpmyadmin/config.inc.php , che contiene le opzioni di configurazione che si applicano globalmente a phpMyAdmin.

Per utilizzare phpMyAdmin per amministrare un database MySQL ospitato su un altro server, apri /etc/phpmyadmin/config.inc.php in un editor di testo e quindi modificare la riga seguente:

Vecchia linea Nuova linea
$cfg['Servers'][$i]['host'] = '$dbserver'; $cfg['Servers'][$i]['host'] = '192.168.71.21';

Nota: Sostituisci $dbserver con l'effettivo nome del server del database remoto o l'indirizzo IP. Inoltre, assicurati che l'host phpMyAdmin abbia i permessi per accedere al database remoto.

L'altro file di configurazione che devi modificare è/etc/phpmyadmin/apache.conf . Questo file è collegato simbolicamente a /etc/apache2/conf-available/phpmyadmin.conf . Dopo essere stato abilitato, viene utilizzato per configurare Apache2 per servire il sito phpMyAdmin. Il file contiene le direttive per il caricamento di PHP, i permessi delle directory e così via.

Eseguire il comando seguente per abilitare il file di configurazione, quindi ricaricare il servizio:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin.conf sudo systemctl reload apache2.service

Ora che phpMyAdmin è installato sul computer client, connettiti al server remoto in cui è installato il database MySQL o MariaDB. Apri il file /etc/mysql/mysql.conf.d/mysql.cnf e modifica la seguente riga:

bind-address           =              0.0.0.0

Sostituisci 0.0.0.0 con l'indirizzo IP del server remoto, quindi salva ed esci dal file.

Eseguire il comando seguente per consentire all'utente root di accedere al server dal computer client:

sudo mysql -u root -p GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.71.20' IDENTIFIED BY 'root_password_here' WITH GRANT OPTION;

Sostituisci l'indirizzo IP con l'indirizzo del server remoto e root_password_here con la password dell'utente root.

Dopo aver modificato le impostazioni di configurazione, apri un browser e vai a https://clientPC/phpmyadmin , utilizzando l'indirizzo IP del computer client o il nome host. Dovresti essere in grado di accedere in remoto al server dal portale web phpMyAdmin del client.

Ricarica il server web

Per rendere attive le modifiche ai file di configurazione, devi prima controllare la sintassi del file e poi riavviare o ricaricare il server web in modo corretto.

Utilizzare il comando seguente per verificare la sintassi dei file di configurazione:

apache2ctl configtest

Quindi ricarica il server web Apache eseguendo il seguente comando:

systemctl reload apache2

Verifica lo stato del servizio per assicurarti che funzioni come previsto eseguendo il comando seguente:

system status apache2

Ora dovresti essere in grado di visualizzare phpMyAdmin tramite un browser web, come mostrato nell'immagine seguente:

Server web NGINX

Dopo aver installato phpMyAdmin, viene visualizzata la schermata di configurazione del pacchetto, come mostrato nell'immagine seguente:

Usa la barra spaziatrice per selezionare apache2 , premi Tab per selezionare Ok , quindi premi Invio .

Il processo di installazione continua finché non viene visualizzata un'altra schermata di configurazione che richiede di confermare se si desidera configurare il database per phpMyAdmin utilizzando dbconfig-common .

Seleziona , quindi premi Invio .

Viene richiesta la password dell'amministratore del database. Inserisci la tua password, premi Tab per selezionare Ok , quindi premi Invio .

Quindi, inserisci una password per l'applicazione phpMyAdmin stessa, premi Tab per selezionare Ok , quindi premi Invio .

Conferma la password selezionando Ok , quindi premi Invio .

Al termine del processo di installazione, è necessario creare il file phpMyAdminconfiguration qui:/etc/nginx/sites-enabled/phpmyadmin.conf .

Inserisci le seguenti informazioni nel file e poi salvalo:

server {
   listen 80;
   server_name 95.138.162.233;
   root /var/www;

   location /phpmyadmin {
             root /usr/share/;
             index index.php;
             try_files $uri $uri/ =404;

             # auth_basic "phpMyAdmin Login";   # uncomment if using .htaccess & .htpasswd security

             # auth_basic_user_file /etc/nginx/.pma_pass;  # uncomment if using .htaccess & .htpasswd security


    location ~ ^/phpmyadmin/(doc|sql|setup)/ {
           deny all;
    }

    location ~ /phpmyadmin/(.+\.php)$ {
         fastcgi_pass unix:/run/php/php7.0-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params; include snippets/fastcgi-php.conf;
   }
  }
}

I tuoi file phpMyAdmin si trovano in /usr/share/phpmyadmin/ directory. La configurazione sopra indica a NGINX che se i visitatori entrano https://indirizzo_ip/phpmyadmin nella barra degli indirizzi del browser, dovrebbe trovare index.php nel file /usr/share/phpmyadmin/ directory e visualizzarlo.

Ricarica il server web

Per rendere attive le modifiche ai file di configurazione, devi prima controllare la sintassi del file e poi riavviare o ricaricare il server web in modo corretto.

Utilizzare il comando seguente per verificare la sintassi dei file di configurazione:

nginx -t

Quindi ricarica il server web Apache eseguendo il seguente comando:

RHEL e CentOS 6

service nginx graceful

RHel e CentOS 7

systemctl reload nginx

Verifica lo stato del servizio per assicurarti che funzioni come previsto eseguendo il comando seguente:

RHEL e CentOS 6

service nginx status

RHEL e CentOS 7

systemctl status nginx

Ora dovresti essere in grado di visualizzare phpMyAdmin tramite un browser web, come mostrato nell'immagine seguente:

Configura sicurezza aggiuntiva (opzionale)

htpasswd viene utilizzato per creare e aggiornare i file flat che memorizzano nomi utente e password per l'autenticazione di base degli utenti HTTP. Sehtpasswd non può accedere a un file (non può scrivere nel file di output o leggere il file per aggiornarlo), restituisce uno stato di errore e non apporta modifiche.

Utilizzare i passaggi nelle sezioni seguenti per impostare l'autenticazione di base su un server Web che esegue phpMyAdmin.

Server web Apache

Per impostazione predefinita, Apache non consente l'uso di .htaccess . Devi configurareApache per consentire .htaccess autenticazione basata su.

Apri il file di configurazione di Apache in un editor di testo e trova la sezione che inizia con <Directory "/var/www/html"> .

Per RHEL e CentOS, il file di configurazione è /etc/httpd/conf/httpd.conf .

Per il sistema operativo Ubuntu, il file di configurazione è /etc/apache2/conf/httpd.conf .

Modifica la riga da AllowOverride none a AllowOverride AuthConfig .

Nota :Se questa riga legge AllowOverride All , non è richiesta alcuna modifica.

Salva e chiudi il file.

Il htpasswd comando viene utilizzato per creare e aggiornare i file che memorizzano nomi utente e password per l'autenticazione di base degli utenti Apache. Utilizzare il comando seguente per creare un file nascosto in cui memorizzare il nome utente e la password crittografata per ciascun utente:

htpasswd -c /etc/phpMyAdmin/.phpmyadmin-htpasswd username

Dopo aver creato un utente, esegui il comando seguente per vedere il nome utente e la password in /etc/phpMyAdmin/.phpmyadmin-htpasswd file:

cat /etc/phpMyAdmin/.phpmyadmin-htpasswd

L'output dovrebbe essere simile al seguente esempio:

user1:$apr1$0r/2zNGG$jopiWY3DEJd2FvZxTnugJ/
user2:$apr1$07FYIyjx$7Zy1qcBd.B8cKqu0wN/MH1

Ora devi consentire apache utente per leggere il .htpasswd file eseguendo i seguenti comandi:

chown apache:apache /etc/phpMyAdmin/.phpmyadmin-htpasswd
chmod 0660 /etc/phpMyAdmin/.phpmyadmin-htpasswd

Infine, devi decommentare le seguenti righe dai file di phpMyAdminconfiguration:

# auth_basic "phpMyAdmin Login";   # uncomment if using .htaccess & .htpasswd security
# auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd;   # uncomment if using .htaccess & .htpasswd security

Server web NGINX

Il htpasswd comando viene utilizzato per creare e aggiornare i file che memorizzano nomi utente e password per l'autenticazione di base degli utenti Apache. Utilizzare il comando seguente per creare un file nascosto in cui memorizzare il nome utente e la password crittografata per ciascun utente:

htpasswd -c /etc/nginx/.pma_pass username

Dopo aver creato un utente, esegui il comando seguente per vedere il nome utente e la password in /etc/nginx/.pma_pass file:

cat /etc/nginx/.pma_pass

L'output dovrebbe essere simile al seguente esempio:

user1:$apr1$0r/2zNGG$jopiWY3DEJd2FvZxTnugJ/
user2:$apr1$07FYIyjx$7Zy1qcBd.B8cKqu0wN/MH1

Ora devi consentire apache utente per leggere il .htpasswd file eseguendo i seguenti comandi:

chown nginx:nginx /etc/nginx/.pma_pass
chmod 0660 /etc/nginx/.pma_pass

Infine, devi decommentare le seguenti righe dai file di phpMyAdminconfiguration:

# auth_basic "phpMyAdmin Login";   # uncomment if using .htaccess & .htpasswd security
# auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd;   # uncomment if using .htaccess & .htpasswd security

Linux
  1. Come installare e configurare OpenVPN Server su Debian 10

  2. Installa e configura Elasticsearch su Rocky Linux 8

  3. Come installare e configurare Redis 6.0 su Debian 11

  4. Come installare e configurare il server OpenVPN su Ubuntu 20.04

  5. Installa e configura Dovecot su CentOS

PhpMyAdmin Installa e configura con Nginx su CentOS 7

Installa e configura Ansible in Linux

Come installare e configurare Grafana

Come installare e configurare Elasticsearch su Ubuntu 20.04

Come installare e configurare il sistema di ticketing Zammad su Ubuntu 20.04

Come installare e configurare Nextcloud su Ubuntu 20.04