Newsgroup: it.comp.www.php
Titolo: phpmyadmin e database "remoto"

Ho installato phpMyAdmin 2.3.1 e, sul database locale, funziona tutto
perfettamente.
Intendo però utilizzarlo per trasferire i dati dal db locale ad un db
remoto e viceversa.
Non c'è però stato verso di connettermi all'host remoto.
Mi spiego meglio: la documentazione asserisce che è possibile
specificare, nel file config.inc.php più server.
Per l'host locale, come ho detto, tutto bene.
Nel caso dell'host remoto, però, alla riga
$cfg['Servers'][2]['host']
di volta in volta ho provato ad inserire l'indirizzo web privo o
comprensivo del prefisso "http://" (es.: 
miosito.it
, 
www.miosito.it
 o
http://www.miosito.it
), il numero di macchina ecc. 
Alle righe only_db, user e password specifico ovviamente il nome del
mio database e le mie credenziali, dati con cui, per il resto, riesco
a lavorare normalmente.
Quando accedo a PhpMyAdmin mi viene proposta la scelta del server, e
se tento di accedere al remoto, la pagina "carica" a lungo ma alla
fine mi compare la classica pagina di errore di IExplorer:
"Impossibile visualizzare la pagina. La pagina cercata non è al
momento disponibile. Nel sito Web si sono verificate delle difficoltà
tecniche o è necessario modificare le impostazioni del browser."
Avete qualche idea?
Grazie in anticipo,
Matteo

 Avete qualche idea?
Ovviamente $cfg['Servers'][2]['host'] va solo l'indirizzo del host (e non il
protocollo http che non centra niente). Li metti l'IP oppure un nome
DNS-resolvable.
i.e.:
    $cfg['Servers'][2]['host'] = '
www.dominio.it
';
    $cfg['Servers'][2]['host'] = '
mysql.dominio.it
';
    $cfg['Servers'][2]['host'] = '192.168.1.123';
Hai messo i diritti sul host (database mysql, tabelle db e user) per
accedere da remoto?
- Usa un User e password diverso dal localhost (tabella user).
- Metti diritti 'buoni' per i privileges (e' tutto sniffabile).
- Nella tabella db metti i diritti per il database in questione.
- Non dimenticare il Flush dei Grants (Reload MySQL).
Alla fine devi trovare seguente situazione in 'db' (usa courier/Lucida per
vedere seguente tabella):
Host      | Db   | User  | Select_priv ...
----------+------+-------+-------------------
ClientIP  | myDB | pippo | Y ...
e in 'user'
Host      | User  | password         | Select_priv ...
----------+-------+------------------+-------------------
RemoteHost| pippo | 41cab7f21ec11d29 | Y ...
Puoi usare phpMyAdmin per mettere queste cose (e non dimenticare Flush
Grants, la causa per tanti mal di testa!!!).
Non funziona ancora? Il FW fa passare roba da porta 3306?

 remoto e viceversa.
Al di là della configurazione, sei sicuro che mysql del server accetti
connessioni da remoto?
Di solito è una funzionalità disabilitata per motivi di sicurezza.
Perchè non installi phpmyadmin anche sul server remoto? Così hai risolto.
Marco
+-----------------------------+
| Marco <no private messages> |
|                             |
| Software is like sex...     |
| It's better when it's free. |
+-----------------------------+

 [...]
Grazie per l'aiuto, ma il problema persiste! Penso che Marco abbia
avuto l'intuizione giusta, e cioč che il database non accetti la
connessione da un computer remoto: infatti caricandolo sul server
funziona. Ora mi rimane il problema dell'autenticazione: non riesco a
capire come funzionino i metodi 'http' e 'cookie'...
Grazie ancora,
Matteo


A questo punto penso che sia proprio così. Installandolo sul server
remoto, infatti, funziona perfettamente. Grazie per la dritta!
Ora il problema è ovviamente di sicurezza; non posso inserire user e
password nel file config.inc.php3 per evitare che qualcuno possa
manomettere il database; non ho capito come funzioni il metodo di
autenticazione 'http': la documentazione è, a mio avviso, abbastanza
complicata su questo aspetto.
Come devo fare?
Matteo

 complicata su questo aspetto.
Se il server é Apache puoi usare l'autenticazione di Apache.
Guarda la documentazione su htaccess e htpasswd.
