problema con connessione database mysql e Drupal (funziona solo con utente root)

Ciao a tutti, sono nuovo di questo forum e non sono super ferrato in materia anzi.

Sto tentando di far funzionare Drupal versione 4.7.3 in locale con i seguenti applicativi Apache 2.0.59, Php 4.4.4, Phpmyadmin 2.8.2.2, Mysql 4.1.21-community-nt.

Inizialmente avevo provato con Easyphp 1.8 ma sul pc aziendale erano più le rogne con il firewall(aziendale) che altro quindi ho fatto uninstall e poi ho usato un applicativo freeware "Advanced WindowsCare" http://download.html.it/software/vedi/2203/advanced-windowscare/ e "CCleaner" http://download.html.it/software/vedi/1968/ccleaner/

Al lavoro mi hanno chiesto di creare un sito di news che sia anche una banca dati con le informazioni anagrafiche dei dipendenti e Drupal fa al caso mio con un po' di modifiche.

Veniamo al problema che mi si è presentato dopo aver installato le versioni dei vari applicativi e configurate come da guida che ho trovato qui: http://php.html.it/guide/leggi/94/guida-php-su-windows/

Dopo aver creato l'utente root (con la relativa password) che ha tutti i privilegi sono entrato con phpmyadmin e ho creato il database, ho caricato il file per la versione superiore di mysql 4.1.2 (sono due i file .mysql tra cui scegliere, uno per le versioni superiori di mysql 4.1 e uno per quelle inferiori) e ho creato un nuovo utente che ha i privilegi sul database appena creato.

Fatto ciò sono andato sul file setting.php e ho impostato

$db_url = 'mysql://nomeutente_creato:password_assegnata@localhost/nomedatabase_creato';

>$db_prefix = http://sito'';

(Ho modificato il nome del computer della rete aziendale da Sistema --> Nome Computer --> Cambia nome computer) Prima aveva il nome di una matricola tipo N1234567 adesso l'ho chiamato "sito".

Adopero ad esempio l'utente "amministratore" creo i privilegi solo per il database "rmo" e faccio il flushing.

Poi scrivo così

$db_url = 'mysql://amministratore:abcdefg@localhost/rmo';

>$db_prefix = http://sito'';

Salvo e scrivendo nel browser(Internet Explorer) http://sito

ottengo la seguente pagina

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

Unable to connect to database server

This either means that the username and password information in your

settings.php file is incorrect or we can't contact the MySQL database

server. This could mean your hosting provider's database server is down.

The MySQL error was: Client does not support authentication protocol

requested by server; consider upgrading MySQL client.

Currently, the username is amministratore and the database server is localhost.

Are you sure you have the correct username and password?

Are you sure that you have typed the correct hostname?

Are you sure that the database server is running?

For more help, see the Installation and upgrading handbook. If you are

unsure what these terms mean you should probably contact your hosting

provider.

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

Se al posto dell'utente amministratore metto l'utente root con la sua password così:

$db_url = 'mysql://root:123edfg@localhost/rmo';

>$db_prefix = http://sito'';

Compare la pagina di Drupal per configurare il primo utente del sito (che poi altro non è che l'amministratore).

Ho provato creando altri utenti oltre ad amministratore anche admin e altro.

Ma ottengo sempre la stessa pagina solo con root funziona.

Il brutto che se provo a cancellare utilizzando sempre phpmyadmin gli utenti creati non me li fa cancellare(sono riuscito a cancellarne solo uno): e mi scrive

Errore

query SQL:

DROP USER 'admin'@ 'localhost';

Messaggio di MySQL:

#1268 - Can't drop one or more of the requested users

stesso messaggio anche per amministratore quando provo a cancellarlo.

Da cosa dipende il fatto che non riesco a far funzionare Drupal con altri utenti?

Devo aggiornare mysql? C'è forse qualche incompatibilità?

Aiutatemi perchè sto impazzendo letteralmente

Grazie a tutti per la pazienza :(

Enrico  

inviato 10 anni fa
ecgiver
X 0 X

Quando hai installato Drupal, cosa eri amministratore o altro utente?

se scrivi root ed esso funziona, è probabile che Drupal sia stato installato da root e quindi accetta solo quell'utente.

Tra l'altro è pericoloso utilizzare root come utente ;)

Prova a controllare i permessi degli script, vedrai che ci sono incongruenze di gruppo e proprietario.

risposto 10 anni fa
Marco Grazia
X 0 X

Quando hai installato Drupal, cosa eri amministratore o altro utente?

se scrivi root ed esso funziona, è probabile che Drupal sia stato installato da root e quindi accetta solo quell'utente.

Tra l'altro è pericoloso utilizzare root come utente ;)

Prova a controllare i permessi degli script, vedrai che ci sono incongruenze di gruppo e proprietario.

Quando ho installato Drupal ho utilizzato root perchè su phpmyadmin entro scrivendo http://sito/phpmyadmin e  entro per forza come root.

Come faccio a controllare i permessi degli script e sistemare le cose affinchè tutto funzioni non come root ma come altro utente?

all'utente che ho creato con il nome amministratore do i permessi sul database ma non ho capito bene che tipo di permessi se dare tutti i permessi ma solo sul database. Se invio lo screenshot di phpmyadmin con i permessi può essere utile?

Grazie

risposto 10 anni fa
ecgiver
X 0 X

Che sistema operativo hai?

risposto 10 anni fa
Marco Grazia
X 0 X
Che sistema operativo hai?

Xp pro.

E' possibile che l'errore derivi dalla versione di Php? Php4.4.4

Ho visto che Drupal 4.7.3 supporta la 5.1.2 e stavo pensando di upgradare a php 5.1 ma non so come fare

risposto 10 anni fa
ecgiver
X 0 X

Credo che il problema derivi più che altro dal modo di gestire gli utenti di Windows, ma parlando di root mi stavi portanto fuori strada, credevo, speravo che avessi un sistema *nix.

Allora, per l'upgrade ti consiglio la versione 5.1.5 che è l'ultima del PHP dato che corregge diversi bugs delle versioni precendenti, però senza aggiungere grosse differenze come nel passaggio tra la 5.0 e la 5.1.

Nel mio server abbiamo la 5.1.4 e Drupal gira benissimo.

Come farlo ... non lo so, non ho ai installato il PHP dal nulla su una macchina Win, preferisco utilizzare gli script automatici, come XAMPP ad esempio.

Per il tuo problema con Drupal: non ho ben capito che giro di utenti hai combinato, però ti sconsiglio di utilizzare sempre un utente di ammnistrazione, dato che rischi di fare casini.

Comunque, se entri in PHPMyAdmin, creati un database da usarsi solo con Drupal, ma connesso ad un utente con poteri limititati, lo stesso della cartella dove hai installato Drupal.

So che i permessi in Windows si cambiano da GUI, chiedendo le proprietà di un file (tasto destro del mouse su di esso) vedi se coincidono i permessi utente e quelli del database.

Praticamente, mi pare di capire che semplicemente Drupal non può accedere al database, in quanto questo è di esclusivo uso per root.

Domanda: ma su Windows non esistono i gruppi di utenti come su linux?

risposto 10 anni fa
Marco Grazia
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda