Come pubblicare un sito/blog da locale a remoto e viceversa

Dopo aver spiegato in pochi è semplici passi come installare wordpress in locale, e come comprare uno spazio web oggi vedremo il terzo ed ultimo step per pubblicare il nostro lavoro da locale a remoto e viceversa quindi andremo a sviluppare tutti i passaggi fondamentali e qualche trucchetto per farlo in maniera meno laboriosa possibile e veloce!

Innanzi tutto come abbiamo già detto nei precedenti post, WordPress è composto essenzialmente da file e da un DB, quindi per pubblicare tutto il lavoro online occorre recuperare questi due elementi.

Step 1

Recuperiamo i file che per chi ha installato il pacchetto WAMP per Windows si trovano in C:/wamp/www/, mentre in Linux con LAMP si trovano in var/www/. Identifichiamo la cartella del nostro progetto che abbiamo chiamato blog e creiamo un archivio zip della cartella blog (l’archivio zip ci semplifica i tempi per l’operazione di upload che dopo vedremo).

Step 2

Recuperiamo il DB esportandolo tramite l’utility di gestione database, phpMyAdmin. Se non è già avviato facciamo partire il nostro web server, quindi doppo click su WAMP Server nella cartella dei programmi, lui si occpuerà di far partire tutti i servizi necessari. Dall’icona di WAMP Server nella barra delle applicazioni facciamo click con il tasto sinistro del mouse e dal menù di scelta che viene fuori selezioniamo phpMyAdmin.

Dal pannello di phpMyAdmin nella colonna sinistra selezioniamo il database relativo al progetto che vogliamo pubblicare online, e nella colonna destra clicchiamo su Esporta si aprirà una nuova schermata per settare le opzioni di esportazione. Se non sono già selezionate facciamo attenzione a selezionare tutte le tabelle con l’apposito link Seleziona tutto e settiamo SQL come formato di esportazione, il resto lasciamo come di default. In fondo alla pagina selezioniamo la casella di spunta Salva con nome e proseguiamo con il pulsante Esegui. Abbiamo salvato il nostro DB che sarà un file con estensione sql.

Step 3

A questo punto che abbiamo il pacchetto dati e il pacchetto DB, passiamo a configurare l’ambiente remoto. Nel precedente post abbiamo visto come comprare uno spazio web, ora dobbiamo configurarlo in modo che sia pronto ad ospitare il nostro database.

Quindi accediamo al pannello di amministrazione dell’host, clicchiamo sull’icona di gestione DB e dalla procedura guidata  del nostro pannellino creiamo un nuovo database e associamogli un utente che avrà  un nome utente e una password. Cerchiamo di inserire una password abbastanza complessa, con numeri, lettere e simboli, che non sia uguale al nome del database o all’utente FTP. Bene abbiamo appena creato un nuovo DB vuoto, appuntiamoci le informazioni che abbiamo configurato, quindi ricapitolando:

  • il nome del database
  • l’utente associato al DB
  • e la password del’utente

Queste informazioni ci serviranno in seguito quando dovremmo configurare wordpress dopo l’importazione dei dati sull’host.

Dal pannello di gestione DB importiamo il pacchetto sql del nostro sito tramite l’apposita funzione import. Se tutto è andato bene dovremmo vedere il nostro db popolato con le tabelle e i dati.

Step 4

Ora passiamo a caricare il pacchetto zip dei  file di wordpress nel nostro spazio host, ricordo che nel precedente post, abbiamo visto come configurare un nuovo utente FTP e come accedere all’host tramite il client FileZilla.

Quindi apriamo FileZilla, connettiamoci all’host, menu File > Gestore Siti > “nome-blog” > Connetti, dovremmo avere nella parte destra dell’applicazione tutte le cartelle che sono presenti sull’host, quindi individuiamo la root del dominio, che generalmente è www o public_html entriamo in quella cartella, mentre nella parte sinistra individuiamo l’archivio zip che abbiamo creato precedentemente nello step 1, che se non è stato spostato lo dovremmo trovare sotto C:/wamp/www. Ora facciamo un semplice drag and drop dello zip dalla parte locale alla parte remota, spostandolo nella cartella www.

Ora dobbiamo decomprimere l’archivio zip e questo tramite FTP non si può fare, quindi lo facciamo tramite il file manager del pannello di amministrazione dell’host.  Quindi accediamo al pannello, individuiamo il file manager, e tramite questo strumento che ci aiuta a navigare tra le cartelle presenti sull’host, individuiamo il pacchetto appena caricato, lo selezioniamo e  tramite l’opzione relativa lo decomprimiamo.

Non sempre il file manager ha questa opzione, in genere in cPanel c’è, ma ad esempio nel pannello proprietario di Aruba no! In questo caso possiamo utilizzare un trucchetto, che di seguito vi spiego:

  1. Scaricate questo il file unzip.zip e ringraziamo Davide De Simone per la condivisione.
  2. Decomprimete l’archivio e caricate la cartella unzip sull’host remoto in www tramite filezilla.
  3. Posizionate il file zip da estrarre nella sottocartella upload, e richiamate il file index.php all’interno della cartella unzip (quindi dalla barra degli indirizzi del vostro browser andate su www.tuodominio.it/unzip/index.php), verrà creata nella stessa cartella upload una cartella con il file zip estratto con lo stesso nome del file, al termine l’archivio verrà rimosso.
  4. A questo punto spostiamo i file di wordpress di 2 livelli superiori, in modo che siano nella root del dominio, in www/.
  5. Possiamo eliminare la cartella unzip.

In poco tempo siamo riusciti a caricare tutto il sito sull’host con notevole guadagno di tempo.

Step 5

Abbiamo finito di caricare tutti gli elementi necessari, ma il sito non è ancora visibile perché la configurazione non è stata aggiornata con le nuove impostazioni del db. Quindi procediamo quanto segue.

Editiamo il file wp-config.php nella root del dominio. Wp-config.php è il file di wordpress che contiene tutte le informazioni per creare la connessione al Database. E siccome il database è cambiato perchè ne abbiamo creato un nuovo, dobbiamo di conseguenza aggiornare il file.

Le righe di condice da aggiornare sono le seguenti:

  • define('DB_NAME', 'wordpress'); Inserite il nome del nuovo db
  • define('DB_USER', 'userdatabase'); Inserite il nome utente associato al db creato prima
  • define('DB_PASSWORD', 'dI0ò%a2jh7'); La password dell’utente
  • define('DB_HOST', 'mysql.netsons.com'); Questo dipende dal vostro hosting, solitamente quest’informazione è esplicitata nella mail di configurazione inviata dal provider nel momento che lo acquistate.

Fine! Se avete eseguito tutti i passaggi correttamente, ora dovreste vedere il vostro sito pubblicato online!

Esportare un sito da remoto a locale

Per esportare il sito da remoto a locale, basta che eseguiamo tutto il procedimento al contrario, quindi:

Recupero del pacchetto DB esportandolo tramite phpMyAdmin.

Recupero dei file di wordpress scaricandoli dal’host remoto in locale tramite FileZilla.

In locale avvio tutti i servizi di server web e db con WAMP

Ricreo il database importando quello nuovo.

Posiziono i file di wordpress sotto il percorso locale C:/wamp/www

Modifico il file di configurazione di wordpress, wp-config.php, con le nuove impostazioni, ricordando che

  • user: ‘root’
  • pass: ‘ ‘
  • host: ‘localhost’

Abbiamo il nostro sito in locale! ;)

Conclusioni

Spero che questa guida sia stata utile per chi come me qualche anno fa si affacciava in questo mondo e non aveva la minima idea da dove cominciare. Se pensi che sia stato così ringraziami condividendola in rete ;)

  • Simone

    Grazie, guida veramente utile!

  • http://www.ebook-ita.it Paolo

    Scusami ma del file .sql (che altro non è che il mio database con tutti il sito dentro) che cosa me ne faccio? A questo punto in remoto non ho niente oltre a un sito nuovo di pecca ma VUOTO.

    • Davide Calignano

      Il file sql lo devi caricare in remoto! Se è vuoto o meno dipende da te, di certo ci deve stare per far funzionare WP :)

      • http://www.ebook-ita.it Paolo

        Si ovvio che ci deve stare ma nella guida che hai scritto comunque non hai specificato il passaggio, hai parlato del fatto di esportare il database e salvarlo, però alla fine della guida il file sql ti resta sul pc..cioè voglio dire è una guida incompleta a questo punto. Con questo non voglio criticare, anche perchè mi è servita, però non è completa.

        Ciao

        • Davide Calignano

          Grazie Paolo! Effettivamente mancava questo passaggio. Ho aggiornato la guida, ora dovrebbe essere ok. ciao.

  • andrea

    Ciao grazie per la guida. Una cosa volevo chiederti, se io ho installato wp-backup che mi genera praticamente i file di backup del sito, per evitare di fare tutta la trafila, potrei usare per ricreare offline il database, la funzione importa di tale plugin?

    Grazie.

    • Davide Calignano

      Certo, il sito offline funziona allo stesso modo di uno online, puoi utilizzare qualsiasi plugin come se lavorassi online. Ciao!

  • http://www.liosite.com Lio

    Ciao Davide, dopo giorni e giorni di ricerca ho trovato questo articolo che debbo dire per me e’ stato il migliore in assoluto. Premetto di essere una signora vecchiotta e quindi forse un po’ “rinko”, vivo in Canada e non conosco nessuno che mi possa dare una mano…. ma a furia di lavorare 10 ore al giorno sono quasi riuscita a fare partire il mio sito. Poi ho voluto inserire il blog e quindi wordpress. In locale tutto bene (dopo giorni e giorni di casini ovviamente) messo in remoto (via Dreamweaver visto che il sito lo ho fatto con DW) un vero macello. Tanto per cominciare se cerco di entrare nel “settore” WordPress (che porta al blog) si apre si il theme del blog e correttamente in remoto, ma con la pagina da me impostata per il “404”. E poi ogni link presente mi riporta in localhost……
    Non capisco se il problema sia sul database, o sui permessi. Ho provato a fare una ricerca nel database per sostituire localhost con l’indirizzo corretto del sito, ma la fatidica frase “1 Le parole sono separate da spazi (” “).” sembra impedirmi di fare qualsiasi cosa. La ricerca non mi funziona….
    E nemmeno riesco ad accedere nel wp-admin. Puoi aiutarmi per favore, mi sento ridotta alla disperazione :(
    Grazie infinite comunque
    Lio

  • http://www.monfauteuilrelax.com Sonia

    Ciao, la spiegazione è molto chiara, premetto che non lavoro con wp, ma uso prestashop, i meccanismi comunque credo siano gli stessi. , ho solo una domanda.

    Nel caso PHP my admin non mi caricasse il database perché troppo grande come devo procedere?
    Gli unici suggerimenti che ho trovato sono di spezzettare il database ma non ha funzionato, usare bigdump.php, ma non ha funzionato. Immagino che dipenda da qualche impostazione del server, hai forse una guida al riguardo, qual’è il modo migliore di procedere?

    Grazie dell’attenzione.

    • Davide Calignano

      Dovresti aumentare il limite di upload del tuo server. Non so se hai accesso al file php.ini (nel caso chiedi al tup hosting), bisogna modificare il valore della stringa upload_max_filesize con la dimensione voluta.

  • ornella giau

    ciao! grazie per la guida. potresti aiutarmi? sono giorni che cerco di trasferire il mio sito da aruba a server locale (uso mamp) ma niente!! allora ho esportato il database da aruba come hai scritto tu. poi apro mamp e creo un nuovo database li vuoto. importo il file sql scaricato da aruba, e fino a qui tutto ok. ora però, se vado a installare wordpress, una versione nuova, e cambio il file wp-config con i dati del mio database su mamp, non succede niente, non mi fa vedere il sito in nessun modo, mi dice errore, firefox non riesce a connettersi al server, ma mamp è acceso e funziona….spero tu possa aiutarmi :) ciao grazie

    • Davide Calignano

      Ciao Ornella, riesci a raggiungere la pagina di localhost? il sito remoto era installato in una sottodirectory?

      • ornella giau

        mmmmm. allora si io vedo la pagina di localhost che mi mostra che esiste una cartella wordpress (la cartella nuova di wordpress, ma poi quando ci clicco sopra mi appare il messaggio di errore.
        in effetti controllando su filezilla tutti i file di wordpress stanno dentro una cartella che si chiama http://www.ornellagiau.com
        aiuta?

        • Davide Calignano

          Allora controlla il database locale, fai una ricerca con phpmyadmin in tutto il db ed individua tutti i record (tra cui sicuramente uno che si chiama “home”) che hanno questa stringa “http://www.ornellagiau.com” e sostituisci con “localhost/cartella_sito”. Ciao e buonlavoro!

  • http://www.plico.biz davide

    Ciao Davide, grande guida e mi è stata utilissima… prima di trovare questa guida ero nella cacca completa (usando mac tra l’altro).
    L’unica cosa che non capisco è questa, una volta caricato tutto il sito mi va alla perfezione, ma se io voglio andare a modificare le pagine, articoli etc etc ovviamente devo entrare nel pannello di wp. Quindi, quando vado in http://www.xxxxxxx.it/wp-admin non mi entra più nel pannello di wp, bensì mi reindirizza nella localhost://xxxxxxx.it
    Ho provato sia a svuotare la cache, sia cercare di entrare in http://www.xxxxxxx/wp-login, ma mi chiede username e pass che sinceramente non so quale voglia (quella del db? quella vecchia dove ho costruito in local?)
    Detto questo, io ovviamente non ho provato a fare le modifiche che vorrei fare tramite il reindirizzamento che mi porta in localhost/xxxxx perchè credo che andrei a modificare sempre il sito che ho costruito in precedenza in local.
    Grazie, Davide

    • Davide Calignano

      Devi fare una ricerca nel db e trovare la stringa “localhost” sostituendola con il tuo sito http://www.xxx.it, sono 2 voci da modificare.

      • http://www.plico.biz davide

        mmm… e dove trovo il file db scusa l’ignoranza?

        • Davide Calignano

          Il db non è consultabile da file, devi accederci da un pannello di cotrollo, phpmyadmin ad esempio. Contatta il tuo gestore per farti dire come raggiungere il db.

          • http://www.plico.biz davide

            no, io il pannell di gestione ci arrivo. il phpadmin d iaruba, che è molto meno facile di come sono gli altri probabilmente… Infatti, non so se è essenziale, ma tipo io con aruba non ho potuto fare un nuovo database, ma mi son limitato a importarlo ne 5 già disponibili che ti da aruba (chhe son vuoti, pronti per importare il db da mamp). Quindi, non so se anche questo fatto mi sta impedendo di vedere il tutto. Ti spiego un altro problema che solo ieri me ne sono accorto, una volta che ho spento “mamp”, ho provato ad andare nel sito refreshando e non mi carica nessun tipo di immagine, css…etc etc
            Quando entro manualmente, vedo ce nella barra degli indirizzi va sempre in riferimento al local (che non essendo più aperto mamp non mi carica oltre il login anche tutto il resto delle immagini).
            In ogni caso, io entro nel pannello di controllo del db (che ripeto, è uno dei 5 che ti danno in dotazione loro), ma non so appunto come muovermi… grazie ancora della disponibilità

          • http://www.plico.biz davide

            FATTO DAVIDE,
            Mille grazie per la guida, l’assistenza e tutto il resto

            ciao e grazie

  • http://www.valoreconsulting.eu Leonardo

    Ciao Davide, spero tu possa aiutarmi.
    Tramite la tua guida ho caricato da locale a remoto il mio sito, uso come gestore web4web. Dopo mille problemi sono riuscito a tirarlo su ma, come potrai vedere, molte immagini e tutte le pagine non sono raggiungibili.
    Penso che il problema sia nei link del db ma anche cambiandoli tutti non riesco a migliorare la situazione.
    Wp funziona ma non mi permette di pubblicare altre pagine.
    Sono oro che cerco la soluzione, se puoi, tu o altri aiutatemi!!!!

    • Davide Calignano

      Come detto in qualche commento fa, dovresti cambiare i riferimenti a localhost, nel tuo caso ho visto che hai dei riferimenti a 127.0.0.1 che è la stessa cosa, sostituisci questo indirizzo ip con http://www.tuosito.xx, ciao.

  • Sahra

    Ciao Davide,
    grazie per le info…utilissime :)

    Grazie alle tue indicazioni sono riuscita a spostare il mio sito-ecommerce (sviluppato con wordpress) da locale a Register.it, tutto come previsto.

    Il sito è visibile a questo link: http://www.rugginemanstore.simply-winspace.it/

    Ma proprio sul più bello, quando comincio a navigare mi è apparso questo errore…

    Warning: require(C:ProgrammiEasyPHP-5.3.8.1www/wp-includes/load.php) [function.require]: failed to open stream: No such file or directory in C:ProgrammiEasyPHP-5.3.8.1wwwwp-settings.php on line 21

    Fatal error: require() [function.require]: Failed opening required ‘C:ProgrammiEasyPHP-5.3.8.1www/wp-includes/load.php’ (include_path=’.;C:phppear’) in C:ProgrammiEasyPHP-5.3.8.1wwwwp-settings.php on line 21

    Mi sai aiutare a risolverlo? Ho trovato qualcosa on line, ma tutti su problemi in local host…forse devo scrivere a Register?

    Grazie, spero tu possa aiutarmi.

    xxx, Sahra

    • Davide Calignano

      Ciao Sahra, come ho scritto in un precedente commento controlla se nel db è sparito localhost. Sostituisci tutte le occorrenze con il link del tuo sito.

  • anna

    davide, forse devi cambiare nel file sql localhost in http://www.tuosito.it o quel che è. ho lo stesso problema. non s se funziona, ci sto provando

  • Roberta

    Ciao, sto seguendo passo passo la tua guida, ma al punto 3 quando dici “accediamo al pannello di amministrazione dell’host” a quale host ti riferisci? a quello che abbiamo acquistato o a localhost? mi sono persa….uff

    • Davide Calignano

      Quello appena acquistato. Quando parlo di “remoto” è sempre quello che sta online e non in locale.

  • pasfor74

    Ciao,
    anche io sono alle prese con un passaggio da locale a remoto, trovo ben fatta questa guida, ma dopo averla eseguita passo-passo mi trovo difronte a un
    “Errore nello stabilire una connessione al database”
    a questo punto non so se il problema è nel DB o in wp-config.php.
    Il mio remoto è su netsons, e quando mi fa creare il database e l’user i nomi che io scelgo sono preceduti da MioUserNameNETSON_
    precisamente
    MioUserNameNETSON_nomeDB
    e
    MioUserNameNETSON_nomeUSER
    quando vado a cambiare il wp-config.php devo inserire anche MioUserNameNETSON_?
    Inoltre il mio DB creato, quando lo vedo dal CPanel-> MyPhp risulta di 0 MB anche se ho importato con successo il mio DB da locale.
    Sapresti darmi qualche dritta??
    Grazie

  • http://www.farinattidesign.it massimo

    grazie per il prezioso articolo (mi è stato consigliato da aruba….) non ho ancora completato le procedure, ieri mi sono impallato quando dopo aver caricato il file del sito zippato, nel control panel di aruba non trovavo il modo di decomprimerlo, solo oggi ho visto il file unzip che hai linkato…..nel frattempo ho provato a caricare (tutta la notte e nn solo) tutti i file non zippati tramite ftp. Ora in filezilla ci sono degli avvisi che alcuni file potrebbero non essere stati processati… la domanda è, prima di combinare qualche casino, ripulire da quello che ho caricato e unzippare con il file che hai indicato? Unzippare e basta lasciando presumibilmente che i file unzippati sovrascrivano quelli esistenti?
    Ti ringrazio tantissimo se riesci a darmi un’ indicazione.
    Ciao

    massimo

    • Davide Calignano

      Ciao Massimo, addirittura consigliato da Aruba! Devo smettere di parlarne male :)
      Riguardo al problema, il mio consiglio è che se nell’archivio zip sono contenuti tutti i file, tanto vale fare tabula rasa dell’host e decomprimere tutto da server.

      • http://www.farinattidesign.it massimo

        grazie davide, lo supponevo, infatti stavo provando a richiamare il file index come indicato nella guida, ma non mi succede nulla, forse perchè avevo compattato con rar il pacchetto del sito?

        grazie e ciao

        massimo

        • Davide Calignano

          Si, prova con uno zip. E se non va ancora prova a impostare i permessi di scrittura su tutta la cartella unzip.

          Davide

          • http://www.farinattidesign.it massimo

            caro davide sono entrato in una palude……
            ovvero ho provato ad utilizzare lo script per unzippare il sito ma non funziona, quindi penserei di provare a fare ancora l’ upload tramite filezilla…. nel frattempo sul mio spazio ho caricato wp 3.5 (il lavoro l’ avevo fatto il wp3.4.2) ed il template che avevo utilizzato per sviluppare il mio sito, la domanda che ti pongo è: ora, con wp3.5 caricato, la procedura di migrazione da locale a remoto rimane quella che hai indicato? cambia qualche cosa?
            grazie per la pazienza

            massimo

          • Davide Calignano

            No, non cambia.

  • http://www.robertoiacono.it/trasferire-wordpress-locale-remoto-online-impostazioni-plugin-widget/ Roberto Iacono

    Complimenti Davide per l’articolo, scritto e spiegato molto bene. Ne ho visti pochi spiegati in maniera approfondita come questa :)
    Ciao

  • http://andrewstkjt.unblog.fr/2013/06/11/normal-features-about-the-e-cig/ Leola

    Hello, the whole thing is going well here and ofcourse every one is sharing data, that’s in fact fine, keep up writing.

  • Silvia

    Ciao, premetto che è la prima volta che uso wordpress, ho solo conoscenze di html e css.
    Se tu mi aiutassi, ti sarei grata per l’eternità!!
    Allora, devo fare delle modifiche ad un sito che non ho creato io in wordpress (che non posso fare dal pannello di controllo, ma devo farle nel php).

    Innanzitutto ho problemi con il primo step perchè nella mia cartella di Mamp non trovo www.
    (Con molta probabilità non ho capito proprio bene io)

    Ho scaricato il database, in parole poverissime dovrei lavorarci con un editor e poi ricaricarlo??

    Help me!

    • Davide Calignano

      Ciao Silvia in Mamp la cartella si dovrebbe chiamare “htdocs”, in questa cartella carichi i file, mentre da http://localhost:8888/phpMyAdmin/ carichi il db, ricordati di cambiare la configurazione nel file wp-config.php mettendo i parametri di accesso al db locale (di default per mamp root/root).

      ciao