Joomla: da locale a remoto
Usare un Content Management System (approfondisci su Wikipedia) per mettere in piedi un sito, più o meno dinamico, rappresenta ormai una scelta che si può prendere a cuor leggero, tanto è cresciuto il livello di flessibilità di tali piattaforme.
Ma, anche l’utilizzo di ambienti software per la gestione dei contenuti stabili e sicuri come Joomla, pone delle problematiche, legate principalmente alla loro natura, al loro essere cioè delle applicazioni lato-server.
Usando un software di questo tipo siamo costretti, infatti, a lavorare alle pagine del sito costantemente collegati a internet. Inoltre, dal momento dell’installazione del software sul server, il sito di fatto è già pubblicato, per cui risulta visibile a tutti.
La soluzione a questi problemi, comunque, esiste ed è proprio ciò di cui si vorrebbe discutere nell’articolo odierno.
La procedura è tutto sommato semplice.
Installiamo Joomla in locale, usando uno dei tanti ambienti di sviluppo che ci permettono di avere a disposizione gli strumenti necessari per sviluppare siti web dinamici (vedi tutorial – Installare Joomla usando Mamp).
Gli strumenti di cui abbiamo bisogno sono:
- il webserver Apache;
- il linguaggio php;
- uno strumento per la gestione di database MySql.
Chi offre questi strumenti?
L’elenco è lungo e la scelta può essere dettata anche dal sistema operativo usato.
Solo per citare alcune possibilità, direi Mamp, Xampp, il servizio Bitnami, Lamp, EasyPHP, Wamp…
Dopo aver completato il sito, dobbiamo trasferire tutti i files che lo compongono sul server remoto. L’operazione si compie molto semplicemente con un qualsiasi client ftp (vedi tutorial – Usare Cyberduck).
Una volta che abbiamo trasferito l’intero sito dalla cartella locale a quella on line, è necessario modificare il file “configuration.php” contenuto nel server remoto.
Apriamolo con l’editor di testo che preferiamo (io uso Smultron, ma ne esistono molti altri) e andiamo a variare alcuni parametri, relativi al database e all’indirizzo del sito.
Le informazioni da modificare sono:
- host mysql ($mosConfig_host)
- username mysql ($mosConfig_user)
- password mysql ($mosConfig_password)
- nome del database ($mosConfig_db)
- indirizzo web del sito ($mosConfig_live_site)
- percorso assoluto della cartella del sito ($mosConfig_absolute_path)
- percorso della cache ($mosConfig_cachepath).
I valori vanno cambiati, sostituendo le impostazioni che erano state inserite in sede di installazione locale, con quelle relative al nuovo server.
Completata la modifica del file di configurazione, dobbiamo compiere ancora delle operazioni sul database a cui fa riferimento il sito.
Apriamo, con uno strumento per la gestione di database MySql, (phpMyAdmin, esiste altro?) la pagina contenente il database dove sono memorizzate le informazioni del sito in locale.
Clicchiamo su Esporta e, dopo aver messo il segno di spunta sull’opzione Salva con nome, selezioniamo il pulsante Esegui.
In questo modo salviamo sul nostro disco rigido un file contenente alcune informazioni sul sito.
Il file deve essere in formato .sql.
Ora lo stesso file deve essere importato nel nuovo database; in quello cioè che risiede nel server remoto.
Digitiamo quindi nel browser che preferiamo l’indirizzo del server mysql, che il provider con cui abbiamo sottoscritto l’abbonamento, per forza di cose, ci deve aver fornito.
Presumibilmente, si aprirà l’ennesima schermata di phpMyAdmin.
Nella colonna sinistra selezioniamo il database, il cui nome abbiamo inserito nel file “configuration.php”, e clicchiamo sul pulsante Importa.
Scegliamo il documento da importare (che deve essere il file .sql esportato in precedenza) e clicchiamo su Esegui.
Aspettiamo alcuni secondi, in modo che il database si popoli con le informazioni relative al sito e, trascorsi questi pochi attimi, l’operazione di trasferimento è di fatto completata.
L’operazione appena descritta è stata da me provata, e portata a termine con successo, già in un paio di occasioni; ma siccome in situazioni di questo tipo la prudenza non è mai troppa, il consiglio è sempre quello di eseguire un bel backup di tutti i dati (locali e remoti) prima di iniziare il trasferimento.
Comments
Comment from luca
Time: 28 novembre 2008, 21:36
Se posso, sicuramente
Comment from federico
Time: 3 febbraio 2009, 11:46
Ciao Luca,
intanto complimenti per tutto il sito, fino ad ora mi è stato molto utile, sei un ottimo comunicatore!!
Ho realizzato un sito in locale e ora vorrei portarlo su altervista, ho copiato tutti i file con cyberduck, ora devo procedere con la modifica di configuration php seguendo le tue preziose dritte. Il tuo procedimento vale anche per Altervista?
Per ora ho provato con altri metodi ma niente, allora,
stasera mi ci rimetterò..speriamo.
Nel caso avessi problemi, posso scriverti?
Ti ringrazio per l’attenzione.
Complimenti ancora!
Comment from luca
Time: 3 febbraio 2009, 22:54
Ciao Federico e grazie per i complimenti.
Non ci dovrebbero essere problemi con Altervista, ma nel caso ce ne fossero, fammi sapere.
Buona serata.
Comment from federico
Time: 3 febbraio 2009, 23:01
Buonasera Luca…
come immaginavo non ci riesco…e quindi eccomi qua,
quando importo il file sql mi appare questo
Error
– phpMyAdmin SQL Dump
– version 2.9.1
– http://www.phpmyadmin.net
–
– Host: localhost
– Generato il: 03 Feb, 2009 at 09:38 PM
– Versione MySQL: 5.1.30
– Versione PHP: 4.4.8
–
– Database: `my_esempio`
–
CREATE DATABASE `my_esempio` DEFAULT CHARACTER SET ;
Messaggio di MySQL:
#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ” at line 1
Ecco qui…cosa ho sbagliato secondo te?
Ovviamente “esempio” è un nome fittizio…comunque dopo questo apro il file sql per controllarlo e non riesco a capire come procedere..potrei aver sbagliato qualcosa in precedenza?Sono proprio un dilettante….
Grazie ancora..
Federico
Comment from luca
Time: 3 febbraio 2009, 23:15
Ciao Federico,
sembrerebbe un problema legato a versioni differenti di mysql, tra il database esportato e quello importato su Altervista. Al momento posso solo dirti di rifare l’esportazione: può capitare si alteri qualcosa in quella fase e tutto vada in malora. Riprova.
Comment from Cristian
Time: 11 febbraio 2009, 21:55
Ciao, intanto grazie, di tutte le guide che ho trovato questa è la più chiara che ho trovato, ma anche così ancora non sono riuscito ad importare il database, o meglio pare che l’ho importato, ma non ne ho l’accesso.
questo è il messaggio che phpadmin mi da
SQL query:
– phpMyAdmin SQL Dump
– version 2.9.1.1
– http://www.phpmyadmin.net
–
– Host: localhost
– Generato il: 11 Feb, 2009 at 04:09 PM
– Versione MySQL: 5.0.27
– Versione PHP: 5.2.0
–
– Database: `joomla`
–
CREATE DATABASE `joomla` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
MySQL said: Documentation
#1044 – Access denied for user ‘cris_admin’@'localhost’ to database ‘joomla’
è già un po’ che ci sbatto la testa, sai cosa posso aver sbagliato?
ho anche creato in locale un utente con nome utente uguale a quello che mi impone il sito in remoto, con tutti i privilegi, ma non cambia nulla.
Grazie
Cristian
Comment from luca
Time: 11 febbraio 2009, 22:21
Ciao Cristian,
non è che per caso le versioni di mysql sono diverse?
Comment from Cristian
Time: 12 febbraio 2009, 00:43
direi di si,
in remoto ho MySQL ver. 5.0.51-community,
in locale Versione MySQL: 5.0.27-community-log
ora come faccio? hai consigli?
Grazie ancora
Comment from luca
Time: 12 febbraio 2009, 23:00
Purtroppo non sono così esperto per poterlo dire con certezza, ma da qualche parte ho letto che la cosa potrebbe creare dei problemi.
Perché non provi a cercare su Google proprio in quella direzione? Che ne so tipo “conflitti fra mysql xxx e mysql kkk”.
Comment from Marco
Time: 13 febbraio 2009, 11:54
Complimenti per l’ottimo sito! Straordinariamente utile!
Comment from luca
Time: 13 febbraio 2009, 13:12
Grazie
Comment from Cristian
Time: 15 febbraio 2009, 08:41
Come al solito sono un pirla, l’errore era mio nell’importare il database, sbagliavo la procedura di esportazione, che ora ho risolto, grazie ancora per i consigli, e complimenti ancora per il sito.
Comment from luca
Time: 15 febbraio 2009, 16:29
Bene.
Grazie per i complimenti…
Comment from FIlippo
Time: 14 agosto 2009, 16:09
Ciao Luca,
scusa ma ho un problema: prima di trasferire il mio sito da locale all’host remoto definitivo, ho cercato di testarlo su un hosting free con db e php.
Problema: dopo aver creato l’host e importato il db da locale a remoto, quando tento di importare il sito con filezilla, dei 12mila e passa file da importare me ne prende solo 5000 e rotti. Ho provato e riprovato, ma non si cava un ragno dal buco.
Qualche suggerimento? Grazie mille
Comment from luca
Time: 21 agosto 2009, 19:47
Ciao Filippo,
innanzitutto scusa se ti rispondo con ritardo.
Purtroppo con l’ftp talvolta capitano cose del genere.
I consigli che ti posso dare sono di insistere o provare con un altro client.
Ciao e grazie per aver visitato il mio sito.
Comment from Aurelio Cibien
Time: 1 settembre 2009, 16:45
Ciao, complimenti per il tuo sito, molto utile per chi come me cerca di imparare.
ti volevo chiedere, la cartella da locale a remoto da trasferire e quella che si trova nella cartella www del mio server locale (io uso wampserver)?
Questo trasferimento deve essere effettuato tramite ftp, giusto?
Grazie per l’aiuto
Comment from luca
Time: 2 settembre 2009, 00:21
Non uso wampserver, ma credo che sia come hai detto tu.
Il trasferimento deve essere fatto via ftp, a meno che tu non abbia accesso diretto al server.
Ciao e grazie per i complimenti.
Comment from Alessandro
Time: 7 gennaio 2010, 21:14
Ciao a tutti. Chiedo una mano perché non riesco a uscirne. Sto tentando d’installare il sito in remoto su tophost
1) In configuration.php non trovo i seguenti parametri citati nel tutorial di Luca:
percorso assoluto della cartella del sito ($mosConfig_absolute_path)
percorso della cache ($mosConfig_cachepath)
e comunque non saprei esattamente con cosa sostituirli.
2)Quando nella colonna di sinistra di phpmyadmin tento d’importare il file.sql apetto alcuni secondi e mi viene fuori:
Errore
query SQL:
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
–
– Database: `information_schema`
–
CREATE DATABASE `information_schema` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Messaggio di MySQL:
#1044 – Access denied for user ’sanjuroi80283′@’%’ to database ‘information_schema’
Cosa devo fare?
Grazie
Comment from luca
Time: 7 gennaio 2010, 22:23
Ciao Alessandro,
in effetti il tutorial si riferisce a vecchie versioni tanto di joomla, quanto di phpmyadmin. Andrebbe aggiornato, ma…mi manca la voglia
.
Per venire al tuo quesito, il percorso assoluto dove si trova fisicamente la cartella contenente il tuo sito sui server di Tophost te lo DEVE fornire il provider e solo lui: non lo può sapere alcun altro, per cui se non te l’hanno indicato in una e-mail, richiedilo. Per il resto, spero che qualcuno ti sappia dare una risposta; io così “su due piedi” non riesco.
Comment from Alessandro
Time: 8 gennaio 2010, 10:31
Ok, comunque la maggior parte dei tuoi tutorial sono sempre chiari e utili.
Grazie
Comment from luca
Time: 8 gennaio 2010, 13:59
Troppo gentile
Comment from Raffaella
Time: 15 gennaio 2010, 18:22
Ciao Luca e grazie per i tuoi tutorial.
E’ la prima volta che uso joomla e non sono per niente esperta. Fino ad ora ho solo fatto tre siti statici usando rapidweaver e traferendoli su Altervista (facile).
Ora sto cercando di creare un sito su dominio registrato (www.adeia.it)
Allora, il problema è il seguente:
Ho creato in locale il sito usando joomla (ho seguito le tue indicazioni iniziali). Il sito non è ultimato, ma vorrei testarlo. Così ho trasferito la cartella joomla sul dominio del sito, usando l’ftp. Ma probabilmente non ho capito qualcosa.
Io ho trasferito solo la cartella joomla e mi ha dato il seguente errore:
Database Error: Unable to connect to the database:Could not connect to MySQL
Così ho provato a trasferire prima la sola cartella MySQL e poi tutta la cartella MAMP, ma non me la lascia traferire.
Dentro al dominio, oltre alla cartella di joomla ci sono le cartelle: aspnet_client e stat, ma non mi sembra di vedere alcun data base. Che devo fare???
Grazie in anticipo per la risposta
Comment from luca
Time: 16 gennaio 2010, 16:58
Ciao Raffaella e grazie di aver visitato il mio sito.
È giusto trasferire solamente la cartella joomla in remoto e non quella di Mamp.
Per quanto riguarda l’errore del database, credo che sia legato al fatto che non hai modificato il file “configuration.php”.
L’accesso al database te lo deve fornire l provider. Hai provato a mandare un’e-mail all’assistenza spiegandogli che devi installare Joomla?
Fammi sapere come va a finire






Flickr/pierfe
Del.icio.us/lucapier
GMail/Luca Pierfederici


Comment from andrea
Time: 28 novembre 2008, 19:59
Su che servizio hosting hai provato questa procedura???
al piu’ presto la devo provare su aruba linux
ho un po’ paura
Caso mai, mi puoi aiutare?
Ciao
Andrea