Differences between revisions 5 and 7 (spanning 2 versions)
Revision 5 as of 2018-03-08 18:30:28
Size: 1729
Editor: Kurgan
Comment:
Revision 7 as of 2018-07-21 07:55:31
Size: 2493
Editor: Kurgan
Comment:
Deletions are marked like this. Additions are marked like this.
Line 25: Line 25:
== Creiamo un utente con tutti i privilegi ==

In alternativa al metodo precedente, possiamo lasciare "root" così com'è e creare un utente con gli stessi privilegi, da usarsi da phpmyadmin.

 * Dal prompt di root, entriamo in mysql
 {{{
mysql mysql
}}}
 * Dentro mysql creiamo un utente che possa connettersi da localhost usando una password e abbia tutti i privilegi:
 {{{
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password-di-admin';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
flush privileges;
\q
}}}

 * Ora vediamo se funziona: (inserire la password quando richiesta)
 {{{
 mysql -u admin -p
}}}

Line 42: Line 64:
Ovviamente in questo caso dovremo creare il file con le password. Ovviamente in questo caso dovremo creare il file con le password, usando il comando
{{{
htpasswd -c /etc/phpmyadmin/htpasswd
.phpmyadmin <il mio username preferito>
}}}

Mysql (MariaDB) e Phpmyadmin

Rimettiamo la password a root in MariaDB

In debian 9 sono state fatte molte modifiche a mysql, tipo che ora e` installato MariaDB al posto di mysql.

La modifica piu` significativa e` che ora l'utente root di mysql si autentica usando ident quando si e` in locale, e NON SI PUO` piu` accedere in altro modo. Questo non va bene se vuoi usare phpmyadmin comodamente. Tuttavia e` possibile rimettere le cose come prima.

Per rimettere una password occorre:

  • Mettere una password sicura all'utente root di mariadb usando il comando

    mysqladmin password
  • Disattivare la funzione di ident dentro mariadb
    mysql mysql
    update user set plugin='' where user='root';
    flush privileges;
    \q

Ora se provate di nuovo a entrare in mysql dovrete usare il comando mysql mysql -p e inserire la password dell'utente root come avete sempre fatto.

Creiamo un utente con tutti i privilegi

In alternativa al metodo precedente, possiamo lasciare "root" così com'è e creare un utente con gli stessi privilegi, da usarsi da phpmyadmin.

  • Dal prompt di root, entriamo in mysql
    mysql mysql
  • Dentro mysql creiamo un utente che possa connettersi da localhost usando una password e abbia tutti i privilegi:
    CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password-di-admin';
    GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
    flush privileges;
    \q
  • Ora vediamo se funziona: (inserire la password quando richiesta)
     mysql -u admin -p

Configurazione di sicurezza per limitare l'accesso a phpmyadmin

Modificare /etc/phpmyadmin/apache.conf e metterci dentro (in cima, per dire) una di queste due configurazioni

Per limitare l'accesso con una password di apache:

<Location /phpmyadmin>
        AuthType Basic
        AuthName "phpMyAdmin"
        AuthUserFile /etc/phpmyadmin/htpasswd.phpmyadmin
        Require valid-user
</Location>

Ovviamente in questo caso dovremo creare il file con le password, usando il comando

htpasswd -c /etc/phpmyadmin/htpasswd.phpmyadmin <il mio username preferito>

Per limitare per indirizzo IP:

<Location /phpmyadmin>

       order deny,allow
       deny from all
       allow from 127.0.0.0/255.0.0.0 ::1/128
       allow from 192.168.0.0/255.255.0.0
</Location>

Per limitare al solo protocollo SSL:

        SSLRequireSSL

LinuxDebian/PhpMyAdmin (last edited 2021-06-03 14:30:20 by Kurgan)