# Apache+PHP+MySQL+phpmyadmin funzionanti ma solo da browser

## bustah

Dopo varie traversie sono riuscito ad avere un'installazione apache+PHP+mysql+phpmyadmin funzionanti!

Infatti sia dal PC windows collegato in LAN che dal PC Gentoo riesco ad accedere via browser a tutte le sopracitate componenti

Il problema nasce qnd cerco di accedere da Windows tramite "MySQL Control Center"

Infatti specificando l'IP della macchina con apache non si logga correttamente con l'user name e pass che invece funzionano via browser

MySQL cerca di stabilire una connessione al serve MySQL tramite qst configurazione:

```
Name: mio_server

Host name: 192.168.209.110

User name: root

Password: ******

Port: 3306
```

L'errore che mi viene dato qnd accedo con quei paramentri da MySQL Control Center è:

```
[mio_server] ERROR 2003: Can't connect to MySQL server on '192.168.209.110' (10061)
```

Chi è il colpevole? Devo mettere le mani sul server MySql ????   :Embarassed: 

----------

## randomaze

 *bustah wrote:*   

> Chi è il colpevole? Devo mettere le mani sul server MySql ????  

 

Devi mettere le mani sulla tabella utenti.

Considerando il codice di esempio del manuale:

```
GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'

    ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
```

quel "localhost" dovrebbe farti capire che gli utenti vengono identificati anche dalla macchina da cui si colegano...

----------

## !equilibrium

 *bustah wrote:*   

> Il problema nasce qnd cerco di accedere da Windows tramite "MySQL Control Center"
> 
> Infatti specificando l'IP della macchina con apache non si logga correttamente con l'user name e pass che invece funzionano via browser

 

ed è giusto che sia cosi, non c'è nessun problema a riguardo, di default mysql è configurato per rispondere solo alle richieste di "localhost" e non da altri indirizzi IP, se vuoi collegarti dall'esterno, devi modificare le impostazioni degli utenti e assegnargli oltre a localhost l'indirizzo IP che desideri (puoi farlo anche con phpmysql)

----------

## bustah

No asp! Le utenze le ho create con phpmyadmin (va bene uguale no, tanto le scrive per il server mysql)

Ad esempio: con phpmyadmin (entrando da root dal PC WIN) ho creato l'utente "qaz" con la sua bella password, accesso da LOCAL "localhost" e tutti i diritti

```
GRANT ALL PRIVILEGES ON * . * TO "qaz"@"localhost"IDENTIFIED BY "***"WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;
```

Ho effettuato il logout da root, ho chiuso il browser e riaperto entrando con successo con la nuova utenza "qaz"

Bene: se tento di accedere sempre dal PC WINDOWS con MySQL Control Center ottengo quell'errore!

Domanda: quelle utenze create sono per accedere a mysql vero? Non solo per accedere al tool phpmyadmin, giusto?

Sto andando un pò in confusione   :Confused:  [/code]

----------

## !equilibrium

 *bustah wrote:*   

> Sto andando un pò in confusione   

 

direi proprio di si...

in parole povere, il tuo mysql è configurato con le opzioni di default, quindi risponde solo in "localhost" (ed è meglio che sia cosi), per cui puoi accedere ai databases solo ed esclusivamente tramite "localhost" e non da remoto da altri pc, quindi è normale che puoi accedere solo da browser...

se vuoi accedere ad un particolare database da remoto, allora dei configurare mysql in modo tale che l'utente di quel databases possa accedere non solo da localhost ma anche da xxx.yyy.zzz.xxx...

per fare questa operazione puoi usare o la riga di comando o phpmyadmin, o altro tools, spero che cosi sia + chiaro

----------

## bustah

 *DarkAngel76 wrote:*   

>  *bustah wrote:*   Il problema nasce qnd cerco di accedere da Windows tramite "MySQL Control Center"
> 
> Infatti specificando l'IP della macchina con apache non si logga correttamente con l'user name e pass che invece funzionano via browser 
> 
> ed è giusto che sia cosi, non c'è nessun problema a riguardo, di default mysql è configurato per rispondere solo alle richieste di "localhost" e non da altri indirizzi IP, se vuoi collegarti dall'esterno, devi modificare le impostazioni degli utenti e assegnargli oltre a localhost l'indirizzo IP che desideri (puoi farlo anche con phpmysql)

 

Ho provato anche quella via

Il caro "qaz" è stato forkato: "qaz"  con host "localhost" (mi fa accedere via browser) e "qaz" con host "192.168.209.109" (l'IP della macchina windows)

Risultati: posso accedere con "qaz" da windows solo via browser xè usano MySQL Contro Center da lo stesso errore

Come cavolo lo configuro??

EDIT: ho aggiunto anche un'altra entry al caro qaz: ora ha 3 host: % (ANY), localhost e 192.168.209.109

----------

## !equilibrium

hai riavviato il demone di mysql dopo le modifiche?  :Wink: 

----------

## bustah

Ho pure riavviato la macchina T_T

----------

## bustah

Ho anche cambiato la classe di indirizzi per essere sicuro di non essere sotto nessun firewall che bloccasse la porta 3306....ma inutilmente   :Confused: 

----------

## randomaze

Hai fatto il flush dei privilegi?

I log non dicono nulla?

----------

## bustah

 *randomaze wrote:*   

> Hai fatto il flush dei privilegi?
> 
> I log non dicono nulla?

 

Mmm...flush...how to?  :Embarassed: 

Il log mysql.log non dice nulla riguardo alle connessioni mancate da MySQL Control Center

----------

## randomaze

 *bustah wrote:*   

> Mmm...flush...how to?  

 

se non ricordo male dalla shell di mysql:

```
FLUSH PRIVILEGES;
```

----------

## bustah

Ora ho FLUSHATO ma probabilmente già l'aveva fatto phpmyadmin xè il flush ha restituito: 

```
Query OK, 0 rows affected (0.00 sec)
```

----------

## bustah

Il file 

```
/var/log/mysql/mysql.log
```

 è vuoto

Come abilito i log?

Idea di mezzogiorno: può essere che MySQL Control Center, che lavora sulla porta 3306 abbia problemi a raggiungere la macchia?

----------

## !equilibrium

 *bustah wrote:*   

> Il file 
> 
> ```
> /var/log/mysql/mysql.log
> ```
> ...

 

premetto che in vita mia non ho mai usato MySQL Control Center, però vedo che in portage è MASKED, forse non funziona, prova a collegarti al server mysql con qualcosa di altro

----------

## bustah

Proverò a cercare anche altro, ma con quello collegandomi verso apache su winXP si conntette bene

Sta cosa è triste!

Cmq per esserne sicuri, come faccio a controllare se il serve mysql ascolta sulla porta 3306?

----------

## !equilibrium

 *bustah wrote:*   

> Proverò a cercare anche altro, ma con quello collegandomi verso apache su winXP si conntette bene
> 
> Sta cosa è triste!
> 
> Cmq per esserne sicuri, come faccio a controllare se il serve mysql ascolta sulla porta 3306?

 

nmap "indirizzo ip di mysql server"

----------

## bustah

nmap non l'ho...   :Crying or Very sad: 

----------

## !equilibrium

 *bustah wrote:*   

> nmap non l'ho...  

 

```
emerge nmap
```

non vedo il problema  :Rolling Eyes: 

----------

## bustah

Sorry, pensavo ci fosse un altro comando equivalente...ora emergo e in caso poi edito e ti dico  :Smile: 

Ecco   :Laughing:   ho scansito le porte tra la 3000 e la 3500

Sono tutte chiuse compreso la 3306 che dovrebbe essere up !

Eppure il demone mysql è attivo

----------

## bustah

```
/etc/mysql/my.cnf
```

ha

```

[client]

#password       =  my_password

port                 = 3306

socket              =  /var/run/mysqld/mysqld.sock

```

Ma più sotto leggo: 

```

bind-address = 127.0.0.1

```

Devo modificare il bind? come faccio a specificare tutte gli IP di tipo 10.0.0.XXX ?

EDIT: E cmq il fatto che il server non ascoplti nulla e non abbia porte aperte rimane  :Sad: Last edited by bustah on Wed Nov 10, 2004 12:09 pm; edited 1 time in total

----------

## !equilibrium

 *bustah wrote:*   

> Ma più sotto leggo: 
> 
> ```
> 
> bind-address = 127.0.0.1
> ...

 

mmmmm... pensavo avessi già modificato le impostazioni di default di mysql, stando a quanto hai scritto + sopra... comunque per abilitare mysql su tutti gli indirizzi di rete, ti basta commentare la riga "bind-adress"; se non ricordo male puoi specificare i range di ip in questo modo 172.16.1.* o con 172.16.1. ma non ne sono sicuro, fai un "man my.cnf" o "man mysql" per averne la certezza

----------

## bustah

Ho provato a specificare l'IP remoto dal quale voglio connettermi

Ora però dobbiamo dire a mysql di aprire le orecchie e mettersi in ascolto sulla porta!   :Laughing: 

Vado in pausa pranzo...altri suggerimenti sono superbenaccetti!

Intanto ti ringrazio per il tempo concessomi   :Wink: 

----------

## bustah

Ho dato un'occhiata allo status del srv:

```

mysql> \s

--------------

mysql  Ver 12.22 Distrib 4.0.22, for pc-linux-gnu (i686)

Connection id:          8

Current database:

Current user:           root@localhost

SSL:                    Not in use

Current pager:          /usr/bin/less

Using outfile:          ''

Server version:         4.0.22

Protocol version:       10

Connection:             Localhost via UNIX socket

Client characterset:    latin1

Server characterset:    latin1

UNIX socket:            /var/run/mysqld/mysqld.sock

Uptime:                 11 min 16 sec

Threads: 2  Questions: 7  Slow queries: 0  Opens: 6  Flush tables: 1  Open tables: 0  Queries per second avg: 0.010

```

Sembra andare...solo che facendo

```
nmap 10.0.0.110 -p 3000-3500
```

la porta 3306 non risulta essere aperta   :Crying or Very sad: 

Sono sul disperato

----------

## randomaze

 *bustah wrote:*   

> Sono sul disperato

 

Ricontrolla bene le opzioni di configurazione, una per una seguendo il manuale per verificare cosa fanno....

----------

