Esistono due procedure per trasferire un sito, una che possiamo definire “automatica” con il componente Akeeba Backup, la seconda che definiamo “manuale” che è quella che spiego in questo articolo.
Seguendo alla lettera questa guida sarà difficile sbagliare. Le ultime parole famose… 😀
Per prima cosa vediamo cosa ci occorre
Ambiente remoto
- avere a disposizione un dominio ed il relativo servizio di hosting
- 1 account ftp
- 1 database MySQL con i relativi dati di accesso
- Accesso a PHPMyAdmin
- Filezilla o un altro client FTP
- Accesso completo alla cartella in cui è installato Joomla
Ambiente locale
- Accesso completo alla cartella in cui è installato Joomla
- Accesso a PHPMyAdmin
- Disattivare TUTTE le funzioni url SEF eventualmente abilitate, altrimenti daranno errore 404 o pagina bianca una volta trasferito in remoto.
Preparazione dell’ambiente remoto per il trasferimento di Joomla
Joomla! per funzionare in remoto necessita di un server preferibilmente Linux e un database MySQL, in questo caso vuoto.
Qui trovate le informazioni tecniche con i requisiti minimi per un hosting compatibile con Joomla!
Accedete al pannello di controllo del vostro servizio di hosting e create un nuovo database, il nome del database non ha importanza, l’importante è che annotiate i dati (utente, password, nome database, nome host) . Nel caso in cui non abbiate la possibilità di creare il db direttamente dal pannello di controllo, potete utilizzare l’applicativo PHPMyAdmin (disponibile sempre nel pannello di controllo) e crearne uno dall’interfaccia grafica, creando anche un utente ed assegnando tutti i privilegi sul database creato.
Quindi annota questi dati :
Database MySQL
- nome host che di solito è “localhost” ma alcuni provider indicano un ip o un indirizzo diverso
- nome del database MySQL
- nome utente di connessione al database MySQL
- password per connessione al database MySQL
Accessi FTP
- nome host che normalmente è ftp.nomedominoscelto.estensione, esempio ftp.miodominio.it
- utente ftp
- password utente ftp
Ok, mettili da parte perché ti serviranno in seguito.
Come copiare l’installazione Joomla! da locale a remoto
Copia l’intero contenuto della cartella (NON la cartella) dove hai installato Joomla, considerando che :
Se hai installato XAMPP su Windows la cartella sarà C:\xampp\htdocs\nome_della_cartella , se invece usi MAMP su Mac OS /Applications/MAMP/htdocs/nome_della_cartella
Ora connettiti per mezzo FTP al servizio di hosting ed identifica la root, la root è la cartella principale in cui sarà necessario copiare i file precedentemente copiati dalla carte locale di XAMPP/MAMP, purtroppo ogni hosting ha la sua, le più comuni sono :
/httpdocs , /htpdocs , /web , /home/nome_utente/public_html
una volta identificata la root trasferisci i file prelevati dall’installazione in locale (ricorda SOLO il contenuto della cartella!).
Come conoscere il percorso assoluto del server aka path
La path o percorso assoluto è necessario per il corretto funzionamento di Joomla!, in modo particolare per indicare la cartella temporanea (tmp) e quella dei log, infatti una path errata genera numerosi problemi tra cui l’impossibilità di installare nuove estensioni per il CMS.
Per identificare la path esatta è necessaria creare un file php e scrivergli dentro una piccola istruzione, elaborando tale file il server ci restituirà il percorso assoluto.
Quindi, creiamo un file vuoto che chiameremo “joomlapath.php” ed incolliamo quanto segue :
1 2 3 4 5 |
<?php $path = getcwd(); echo "Il percorso assoluto del mio server e’: "; echo $path; ?> |
Salviamo il file e copiamolo nella root in ftp, ora richiamiamolo dal browser in questo modo :
http://tuo-nome-dominio.com/joomlapath.php , restituirà un messaggio con la path simile a questa
Il percorso assoluto del mio server e’ : /home/alessioa/public_html
Come configurare il file configuration.php per Joomla 3
Adesso che sappiamo il percorso assoluto è necessario editare il file configuration.php ed inserire il relativo percorso, quindi preleviamo dall’ftp il file ed editiamolo con un editor di testo a basso livello tipo Notepad, Notepad ++, Smultron, ecc (a meno che non abbiate un editor PHP).
Identificate le seguenti stringe :
public $tmp_path =
public $log_path =
ed incollate la nuova path aggiungendo i riferimenti alle cartelle /tmp e /log, per esempio
public $tmp_path = ‘/var/www/clients/client0/web429/web/tmp’ ;
public $log_path = ‘/var/www/clients/client0/web429/web/log’ ;
è importantissimo racchiudere il valore tra apici (‘) ed alla fine della riga inserisci il punto e virgola (;)
Già che ci siamo possiamo inserire i nuovi dati del database remoto (quelli che ti sei annotato prima) , quindi identifichiamo le seguenti stringhe
public $host =
public $db =
public $password =
public $user =
ed inserite sempre tra apici (‘) e punto e virgola finale (;) i dati del database, per avere una cosa tipo :
public $host = ‘localhost’;
public $db = ‘joomladb’;
public $password = ‘dbpassword123’
public $user = ‘joomladbuser’;
Ora salviamo il file e ricopiamolo in ftp sovrascrivendo quello esistente.
Come importare ed eseguire il dump del database da locale a remoto
Bene il più è stato fatto, ora se provassimo a visitare il sito ci darebbe un errore MySQL in quanto il database è ancora vuoto, è necessario quindi eseguire una copia del db che abbiamo in locale, come si fa ?
Aprire il browser e digitare l’indirizzo locale di PHPMyAdmin, se non avete sostituito le porte durante l’installazione, gli indirizzi dovrebbero essere quelli di default, quindi
XAMMP (Windows) : localhost/phpmyadmin
MAMP (Mac) : localhost:8888/phpmyadmin
Se ti interessa ho scritto degli articoli su Come installare Joomla in locale con XAMMP e Come installare Joomla in locale su MAC con MAMP
All’interno di PHPMyAdmin clicchiamo su “Database” e poi selezioniamo il database corrispettivo all’installazione che stiamo trasferendo in remoto, a questo punto clicchiamo sulla voce “Esporta”, scegliamo come formato “SQL” e clicchiamo “Esegui”, verrà esportato un file con il nome del database ed estensione .sql, per esempio joomladb.sql .
Ora colleghiamoci sempre a PHPMyAdmin ma questa volta in remoto, selezioniamo il database che abbiamo creato in precedenza e clicchiamo su “Importa”, cliccando su “Sfoglia” sarà possibile selezionare il file .sql del database appena esportato, premere “Esegui” ed attendere il termine dell’importazione.
Ora che abbiamo importato il database possiamo visitare e navigare il sito in remoto 😀
Buon lavoro e alla prossima!
Programmatore WordPress Esperto WooCommerce
Sono l’autore di questo blog con tanti trucchi e guide su WordPress e WooCommerce.