Cambiare il prefisso delle tabelle del sito in Joomla
Cambiare il prefisso delle tabelle del sito
Cambiare il prefisso delle tabelle del sito è una operazione relativamente semplice, ma richiede comunque una certa comprensione della terminologia e delle operazioni sui database, nonché una certa disinvoltura nell'uso degli strumenti descritti.
Questo articolo si applica a Joomla 1.5, 2.5 e 3.x. Le versioni attuali di Joomla utilizzano un prefisso casuale per le proprie tabelle, rendendone così più difficile l'individuazione.
Tenete presente che questa è un'operazione che sì contribuisce alla sicurezza del sito, ma sicuramente non è risolutiva di tutti i problemi.
Rinominare le tabelle del sito manualmente
Fermare il sito
Mettete offline il sito dal pannello di configurazione dell'interfaccia di amministrazione, in modo che altri utenti non possano modificare le informazioni contenute nel sito durante la modifica del codice sql.
Ottenere il codice sql
Scaricate il dump del db. Se disponete di phpmyadmin potete ricorrere al menù di esportazione, selezionando il formato 'sql' e specificando l'opzione 'create table'.
Copia di sicurezza
Effettuate una copia del dump scaricato e salvatela in posto sicuro: NON lavorate mai sul documento originale.
Editor da usare
Ricordatevi di usare un editor come notepad++ verificando che la codifica sia su utf8 (standard j1.5) senza BOM. Non usate l'editor base di Windows, correreste il rischio di non poter più usare il file modificato, dato che Windows inserisce una marcatura all'inizio del file (il byte order mark) che non è gradita al mondo unix.
Sostituzione del prefisso
Usando le funzioni di cerca e sostituisci dell'editor sostituite il vecchio prefisso 'jos_' con il nuovo: è consigliato di mantenere lo stesso formato usato da Joomla, ovvero: iniziare con una lettera seguita da una sequenza di ulteriori lettere e/o numeri terminata dal carattere di sottolineatura ('_').
Salvare
Sembra un consiglio banale ma ricordatevi di salvare.
Svuotare il vecchio database
Verificate di avere la copia originale del database che avete scaricato prima, in modo di poter ripristinare le funzionalità del sito in caso di errori.
Tramite l'interfaccia di amministrazione del db date ora il drop a tutte le tabelle di Joomla. Non cancellate l'intero database perché potreste poi avere dei problemi a ricrearlo con i giusti permessi/utenti ed inoltre potrebbe essere usato anche per altri scopi e/o siti.
Caricare il nuovo codice sql
Importate ora il codice sql modificato nel database. Se disponete di phpmyadmin potete ricorrere al menù di importazione, se notate che il file è troppo grande per le capacità di upload del vostro server provvedete a comprimerlo prima dell'invio.
Aggiornare la configurazione
Cambiate il prefisso delle tabelle in configuration.php (la variabile $dbprefix) sostituendo jos_ con il nuovo prefisso.
Riattivare il sito
Ricollegatevi all'interfaccia di amministrazione del sito e rimettete online il sito. Il fatto di riuscire a collegarsi è già indice della corretta riuscita della configurazione.
Rinominare le tabelle del sito in automatico con un programma
Leggere comunque con attenzione il predente punto.
Il seguente programma permette di rinominare le tabelle del sito, cambiandone il prefisso, in maniera automatica. È sufficiente caricarlo nella directory che contiene Joomla! e poi richiamarlo direttamente dal browser. Il programma vi chiederà il prefisso attualmente in uso (non ne ha bisgno in realtà, è solo per verificare che l'utente sappia che sta facendo) ed il nuovo prefisso, dopo di che provvederà a rinominare le tabelle che iniziano con il vecchio prefisso. Alla fine dell'esecuzione ricordatevi aggiornare configuration.php (la variabile $dbprefix) con il nuovo prefisso.
Lo script è gratuito e rilasciato sotto licenza GNU/GPL, in che implica, però, anche l'esclusione di qualsiasi garanzia di funzionamento.
Effettuate sempre il back up del db prima di procedere.
Compatibile con Joomla 1.5, 2.5 e 3.x
L'intervento sul sito
Come si può vedere cambiare il prefisso delle tabelle del sito non è un'operazione particolarmente complessa, tuttavia non deve essere affrontata con superficialità: se non siete esperti rivolgervi a dei professionisti, soprattutto per quanto riguarda i siti aziendali, è sempre una scelta saggia.
Commenti
Cosa e' successo ?
Ovviamente il sito al momento non e' piu accessibile.
===Risposta:
buongiorno mauro,
sicuramente sarebbe stato utile, al fine dell'individuaz ione del problema, indicare l'esatto messaggio di errore, e non riportarne genericamente la presenza.
Dato che la tabella #__session è la prima ad essere usata, e data la situazione specifica, si può solo presupporre che il prefisso indicato nel file configuration.p hp non corrisponda con quello effettivamente in uso; una verifica con l'interfaccia di amministrazione del dbase scioglierà ogni dubbio.
buona giornata,
marco
ora è tutto a posto.
grazie a presto
P.S. appena posso ti farò una donazione
====Risposta:
no problem. questo sito non richiede alcuna donazione.
"tablesession::store failed
DB function failed with error number 1146
Table 'miosito_blog.m ml25_session' doesn't exist [...omissis...]
ho cambiato il prefisso nel configuration.p hp
se puoi illuminarmi!
====Risposta:
mml25_session! non hai cambiato il prefisso in configuration.p hp
RSS feed dei commenti di questo post.