Pagina 1 di 1

Integrazione phpmyadmin e mysql [RISOLTO]

Inviato: ven 23 mar 2012, 15:57
da Burroughs
Salve, ragazzi!

Sto letteralmente impazzendo da ieri su un problema che ritenevo non dovesse presentarsi.
Per farla breve: voglio implementare Apache in locale, in modo tale da testare qualche CMS; bene, installo Apache seguendo questa guida, controllo che l'index.php del CMS venga correttamente interpretato così da passare ad installare phpmyadmin.
Sulla base di questo wiki, apro l'URL http://localhost/phpMyAdmin/, vado ad inserire username e password, ma non c'è verso di farmi autenticare.
Questa è la configurazione di /srv/http/phpMyAdmin/config/config.inc.php:

Codice: Seleziona tutto

    <?php

    /* $Id: config.sample.inc.php 9689 2006-11-10 20:05:49Z nijel $ */
    // vim: expandtab sw=4 ts=4 sts=4:

    /**
     * phpMyAdmin sample configuration, you can use it as base for
     * manual configuration. For easier setup you can use scripts/setup.php
     *
     * All directives are explained in Documentation.html and on phpMyAdmin
     * wiki <http://wiki.cihar.com>.
     */

    /*
     * This is needed for cookie based authentication to encrypt password in
     * cookie
     */
    $cfg['blowfish_secret'] = '******'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

    /*
     * Servers configuration
     */
    $i = 0;

    /*
     * First server
     */
    $i++;
    /* Authentication type */
    $cfg['Servers'][$i]['auth_type'] = 'cookie';
    /* Server parameters */
    $cfg['Servers'][$i]['host'] = 'andy';
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['compress'] = false;
    /* Select mysqli if your server has it */
    $cfg['Servers'][$i]['extension'] = 'mysql';
    /* User for advanced features */
    $cfg['Servers'][$i]['controluser'] = 'root';
    $cfg['Servers'][$i]['controlpass'] = 'pippo';
    /* Advanced phpMyAdmin features */
    // $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
    // $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
    // $cfg['Servers'][$i]['relation'] = 'pma_relation';
    // $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
    // $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
    // $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
    // $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
    // $cfg['Servers'][$i]['history'] = 'pma_history';
    // $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';

    /*
     * End of servers configuration
     */

    /*
     * Directories for saving/loading files from server
     */
    $cfg['UploadDir'] = '';
    $cfg['SaveDir'] = '';

    ?>
Il server MySQL funziona regolarmente (è up da anni, ormai) sicché non so proprio da dove derivi questo problema di autenticazione...
Che ne pensate?

Burroughs.

Re: Integrazione phpmyadmin e mysql

Inviato: ven 23 mar 2012, 17:37
da conraid
io sinceramente tutto quel caos di quel wiki non lo faccio
per apache basta decommentare una riga ed hai php
per phpmyadmin se è per usi "locali" nel tuo pc non serve nemmeno creare un file di configurazione, accedi alla directory metti le credenziali (root per tutti i db o un utente per alcuni db, dipende da come è configurato mysql) e va normalmente.

Re: Integrazione phpmyadmin e mysql

Inviato: ven 23 mar 2012, 18:41
da nyquist
Per installare Wordpress in locale avevo fatto come dice Conraid. Per quanto riguarda Phpmyadmin, l'avevo scaricato, avevo copiato la directory nella dir principale del sito e vi accedevo normalmente via browser.

Re: Integrazione phpmyadmin e mysql

Inviato: ven 23 mar 2012, 20:03
da Burroughs
Sono appena rientrato a casa e non ho avuto il tempo di provare la soluzione "basica" proposta da conraid.
L'unica cosa strana che ho notato, qualche ora fa, è che, allorquando ho provato ad installare il CMS (Joomla, nel mio caso), al momento di configurare il database, pur avendolo fatto puntare ad un database già esistente, mi ha restituito un messaggio che attestava che non riusciva a connettersi a MySQL.
Penso dipenda tutto da lì, ivi compreso il problema di phpmyadmin, eppure in /etc/php/php.ini ho decommentato le righe che, correggetemi se sbaglio, dovrebbero consentire, tramite php, di connettere apache ad un database esterno...
Mah, se avete qualche idea più particolare, suggerite pure... :-)

Burroughs.

Re: Integrazione phpmyadmin e mysql

Inviato: ven 23 mar 2012, 20:09
da conraid
se sei su una slackware non hai bisogno di niente. Se decommenti la riga per caricare il modulo apache di php sei a posto. Per sicurezza guardare se c'è

Codice: Seleziona tutto

extension=mysql.so
extension=mysqli.so
extension=pdo_mysql.so
tutte e tre perché non sai il cms quale può usare

però dovresti guardare i log per capire la natura dell'errore, di apache, php e mysql
in php.ini metti

Codice: Seleziona tutto

error_reporting = E_ALL | E_STRICT
display_errors = On
poi potresti anche guardare tramite phpinfo se viene caricato il modulo, etc... ti basta una pagina fatta così

Codice: Seleziona tutto

<?php
phpinfo();
?>
e la fai caricare al browser tramite apache

Re: Integrazione phpmyadmin e mysql

Inviato: sab 24 mar 2012, 9:57
da Burroughs
conraid ha scritto:se sei su una slackware non hai bisogno di niente. Se decommenti la riga per caricare il modulo apache di php sei a posto. Per sicurezza guardare se c'è

Codice: Seleziona tutto

extension=mysql.so
extension=mysqli.so
extension=pdo_mysql.so
tutte e tre perché non sai il cms quale può usare
Sì, le tre estensioni sono presenti.
conraid ha scritto:però dovresti guardare i log per capire la natura dell'errore, di apache, php e mysql
in php.ini metti

Codice: Seleziona tutto

error_reporting = E_ALL | E_STRICT
display_errors = On
Allora, il log di mysql mi dice:

Codice: Seleziona tutto

120324  9:44:31	    2 Connect	root@localhost on 
120324  9:45:18	    3 Connect	root@localhost on 
120324  9:46:04	    4 Connect	root@localhost on 
120324  9:51:19	    5 Connect	root@localhost on 
120324  9:51:50	    6 Connect	root@localhost on 
120324  9:52:17	    7 Connect	root@localhost on 
120324  9:52:36	    8 Connect	root@localhost on  
Apache non mi dice nulla di significativo, come anche php.
conraid ha scritto:poi potresti anche guardare tramite phpinfo se viene caricato il modulo, etc... ti basta una pagina fatta così [CUT]
Già fatto, Corrado, la prima pagina dell'installazione del CMS è un index.php e viene caricata regolarmente...

Burroughs.

[EDIT]: in un momento di sconforto ho anche aperto la porta 3306 del mio firewall ma non è cambiato nulla lo stesso... :evil:

Re: Integrazione phpmyadmin e mysql

Inviato: sab 24 mar 2012, 10:54
da conraid
Non intendevo se caricasse il modulo php, ma se php ha il modulo mysql, tramite phpinfo() vedi ogni cosa caricata e relative configurazioni dei moduli php

per mysql poi potresti fare una prova da solo, senza cms o altro, tipo un banale connect. Prendi spunto dagli esempi del manuale
http://www.php.net/manual/en/mysql.examples-basic.php (togli pure la parte della query)
http://www.php.net/manual/en/mysqli.construct.php

il secondo usa mysqli, che io trovo ormai da usare sempre, ma è un discorso puramente tecnico

Re: Integrazione phpmyadmin e mysql

Inviato: sab 24 mar 2012, 11:11
da Burroughs
conraid ha scritto:Non intendevo se caricasse il modulo php, ma se php ha il modulo mysql, tramite phpinfo() vedi ogni cosa caricata e relative configurazioni dei moduli php
E' tutto a posto, almeno così mi pare:

Codice: Seleziona tutto

'./configure' '--srcdir=../php-5.3.10' '--prefix=/usr' '--sysconfdir=/etc/php' '--localstatedir=/var' '--with-layout=GNU' '--with-config-file-path=/etc/php' '--with-config-file-scan-dir=/etc/php/conf.d' '--enable-inline-optimization' '--disable-debug' '--disable-rpath' '--disable-static' '--enable-shared' '--mandir=/usr/share/man' '--without-pear' '--disable-cli' '--with-apxs2' '--enable-bcmath=shared' '--enable-calendar=shared' '--enable-dba=shared' '--enable-exif=shared' '--enable-ftp=shared' '--enable-gd-native-ttf' '--enable-intl=shared' '--enable-json=shared' '--enable-mbregex' '--enable-mbstring' '--enable-pdo' '--enable-phar=shared' '--enable-posix=shared' '--enable-session' '--enable-shmop=shared' '--enable-soap=shared' '--enable-sockets=shared' '--enable-sqlite-utf8' '--enable-sysvmsg=shared' '--enable-sysvsem=shared' '--enable-sysvshm=shared' '--enable-xml' '--enable-zip=shared' '--with-bz2=shared' '--with-curl=shared' '--with-db4=/usr' '--with-enchant=shared,/usr' '--with-freetype-dir=shared,/usr' '--with-gd=shared' '--with-gdbm=shared' '--with-gettext=shared' '--with-gmp=shared' '--with-iconv=shared' '--with-icu-dir=/usr' '--with-imap-ssl=shared' '--with-imap=shared' '--with-jpeg-dir=shared,/usr' '--with-ldap=shared' '--with-ldap-sasl' '--with-mcrypt=shared' '--with-mhash' '--with-mssql=shared' '--with-mysql-sock=/var/run/mysqld/mysqld.sock' '--with-mysql=shared,mysqlnd' '--with-mysqli=shared,mysqlnd' '--with-openssl=shared' '--with-pcre-regex=/usr' '--with-pdo-mysql=shared,mysqlnd' '--with-pdo-odbc=shared,unixODBC,/usr' '--with-pdo-pgsql=shared' '--with-pdo-sqlite=shared,/usr' '--with-pgsql=shared' '--with-png-dir=shared,/usr' '--with-pspell=shared' '--with-regex=php' '--with-snmp=shared' '--with-sqlite3=shared,/usr' '--with-sqlite=shared' '--with-tidy=shared' '--with-unixODBC=shared,/usr' '--with-xmlrpc=shared' '--with-xsl=shared' '--with-zlib' '--without-db2' '--without-db3' 
conraid ha scritto:per mysql poi potrei a fare una prova da solo, senza cms o altro, tipo un banale connect. Prendi spunto dagli esempi del manuale
http://www.php.net/manual/en/mysql.examples-basic.php (togli pure la parte della query)
http://www.php.net/manual/en/mysqli.construct.php

il secondo usa mysqli, che io trovo ormai da usare sempre, ma è un discorso puramente tecnico
Ho utilizzato il primo script, purgando la parte relativa alle query, ottenendo questo risultato:

Codice: Seleziona tutto

Warning: mysql_connect(): Premature end of data (mysqlnd_wireprotocol.c:553) in /srv/http/prova.php on line 3 Warning: mysql_connect(): OK packet 1 bytes shorter than expected in /srv/http/prova.php on line 3 Warning: mysql_connect(): mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file in /srv/http/prova.php on line 3 Could not connect: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file
Burroughs.

Re: Integrazione phpmyadmin e mysql

Inviato: sab 24 mar 2012, 11:19
da conraid
Mi sembra che l'errore ti dia anche la soluzione. Hai sempre una vecchia configurazione per l'autenticazione su mysql. Cerca su google, uno dei primi risultati
http://lampsailesh.blogspot.it/2011/05/ ... ation.html

Re: Integrazione phpmyadmin e mysql

Inviato: sab 24 mar 2012, 11:37
da aschenaz
Pochi giorni fa ho reistallato phpmyadmin ed ho fatto esattamente come ha detto Corrado. Basta accedere alla directory in locale ed inserire la password. Se poi la password la inserisci nel config, accedi direttamente. Naturalmente parliamo della password che hai settato per mysql con
mysqladmin -u root password 'tuapassword'

Hai fatto tutti i passaggi per la configurazione iniziale di mysql?

Re: Integrazione phpmyadmin e mysql [RISOLTO]

Inviato: sab 24 mar 2012, 12:38
da Burroughs
Beh, il messaggio di errore era chiaro... :D
Un grazie sentito a conraid ed aschenaz ed alla community di slacky.eu, come al solito impareggiabile...

Burroughs.