Capita di avere la necessità di creare un utente amministratore di Joomla direttamente dal database, ad esempio se per errore è stato eliminato l'utente admin.
Per farlo è necessario:
- Avere accesso alla piattaforma del database, es PHPMyadmin
- conoscere il nome del database (nomedb)
- conoscere il nome utente del database
- la password del database
- il prefisso delle tabelle di joomla (es 1234_)
(queste ultime informazioni sono reperibili dal file configuration.php del sito)
Una volta fatto accesso al db è necessario trovare la tabella users e trovare l'id dell'ultimo record inserito (es 5), nella query si andrà a incrementare di 1 l'ultimo id usato es ( 5+1 =6)
Dalla console SQL si andrà a eseguire la query:
Per Joomla 3:
INSERT INTO `nomedb`.`1234_users` (`id`, `name`, `username`, `email`, `password`, `block`, `sendEmail`, `registerDate`, `lastvisitDate`, `activation`, `params`, `lastResetTime`, `resetCount`, `otpKey`, `otep`, `requireReset`)
VALUES ('ID+1', 'Nome_completo', 'User', Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.', MD5('PWD'), '0', '1', '0000-00-00 00:00:00.000000', '0000-00-00 00:00:00.000000', '0', '', '0000-00-00 00:00:00.000000', '0', '', '', '0');
Per Joomla 2.5
INSERT INTO `nomedb`.`1234_users` (`id`, `name`, `username`, `email`, `password`, `block`, `sendEmail`, `registerDate`, `lastvisitDate`, `activation`, `params`, `lastResetTime`, `resetCount`)
VALUES ('ID+1', 'Nome_completo', 'User', Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.', MD5('PWD'), '0', '1', '0000-00-00 00:00:00.000000', '0000-00-00 00:00:00.000000', '0', '', '0000-00-00 00:00:00.000000', '0');
Dove:
- ID+1 è il valore dell' ID da assegnare in questo caso 6
- Nome_completo è il Nome completo dell'amministratore
- User è il nome utente da usare per il login
- Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. è la mail dell'amministratore
- PWD è la password da assegnare all'utente
Dopo aver eseguito la query senza errori è necessario associare l'utente appena creato al gruppo admin con la query
Per Joomla 3
INSERT INTO `nomedb`.`1234_user_usergroup_map` (`user_id`, `group_id`) VALUES ('ID+1', '8');
Per Joomla 2.5
INSERT INTO `nomedb`.`1234_user_usergroup_map` (`user_id`, `group_id`) VALUES ('ID+1', '8');
Dove
- ID+1 è il valore dell' ID assegnato all'utente appena creato.
Dopo aver eseguito la query senza errori è possibile fare il login al sito con le credenziali appena create.
Articolo creato da più fonti in rete