Migrazione di un sito WordPress da un server locale alla produzione

Integrale a qualsiasi arsenale di sviluppatori di WordPress è il server locale. In questo tutorial, voglio guidarti dall'installazione di un server locale a tematiche, esportazione di database e oltre.


Cosa faremo

In questa esercitazione ti illustrerò l'intero processo di installazione di un server locale sul tuo computer, creazione di un sito fittizio e distribuzione del sito in produzione. Alla fine di questo tutorial, dovresti essere in grado di capire come:

  • Installa un server locale e configura WordPress localmente
  • Importa il contenuto nel tuo database locale
  • Crea e modifica un sito o plug-in localmente
  • Installa e configura WordPress sul tuo server di produzione
  • Importa il contenuto del database nel tuo sito di produzione
  • Trasferisci la cartella del contenuto wp che contiene plugin, temi e altri elementi
  • Siediti e goditi i clienti che ti amano a causa di tempi di inattività minimi!

E, davvero per me che l'ultimo punto è di cosa si tratta. Comprendo che ci sono alcune limitazioni dei server locali e talvolta è necessaria una modalità di manutenzione, ma utilizzando un server locale è possibile eliminare praticamente tutti i tempi di inattività su un sito normale. Senza ulteriori indugi, scaviamo dentro!


Passaggio 1. Installare e configurare un server locale

Io personalmente uso MAMP (sono un ragazzo Mac fino in fondo) ed è disponibile per il download qui. Per voi utenti Windows, consiglierei XAMMP, che è disponibile qui. C'è anche una versione XAMMP per utenti Mac.

Clicca sul link qui sopra per scaricare l'applicazione. Una volta scaricato, trascina l'icona dell'applicazione nella cartella dell'applicazione (per utenti Mac) o usa il programma di installazione XAMMP per gli utenti Windows.

Dopo l'installazione, troverai MAMP in / Applications / MAMP. XAMMP si troverà in Start -> Programmi -> XAMMP. Questo è tutto per l'installazione! Una volta aperto MAMP, assicurati di dare un'occhiata alle preferenze facendo clic sul pulsante "Preferenze". Le tue porte dovrebbero essere configurate in questo modo su Mac:

Avvio del server locale per la prima volta

Ora che il server locale è installato, avremo bisogno di avviare i server Apache e MySQL. XAMMP include anche Filezilla e Mercury come servizi opzionali inclusi.

Per avviare i server per MAMP, andare su: / Applications / MAMP e fare clic sull'icona MAMP. Il pannello di controllo sarà simile a questo:

Nelle immagini sopra, possiamo vedere che le luci verdi significano che i nostri server sono attivi. Sul mio vecchio MacBook, questo non è sempre il caso (parlerò più tardi). Per ora, i mezzi verdi vanno! È possibile aprire la pagina iniziale di MAMP facendo clic sul pulsante "Apri pagina iniziale". Questo ti porterà al tuo phpinfo, accesso phpMyAdmin e altre importanti impostazioni di configurazione che useremo in seguito.

Per XAMMP, il pannello di controllo, accessibile da \ xampp \ xampp-control.exe, avrà il seguente aspetto:

Di nuovo, questa è roba semplice. Fare clic su "Start" per avviare i server Apache e mySQL. È possibile accedere all'area di amministrazione digitando http://127.0.0.1 o http: // localhost nel browser.

Congratulazioni per l'installazione del tuo server locale!


Passaggio 2. Installazione e configurazione di WordPress sul server locale

Innanzitutto, assicurati di scaricare l'ultima versione di WordPress qui. Dopodiché, potrai fare la famosa installazione WordPress di 5 minuti, che è anche descritta qui.

  1. Dall'interno del phpMyAdmin del tuo server locale, crea un nuovo database chiamato "wordpress". Puoi aggiungerlo nella prima pagina che appare quando fai clic sul link phpMyAdmin.
  2. Decomprimere la cartella WordPress e copiarla nelle applicazioni / MAMP / htdocs per MAMP e programmi / XAMMP / htdocs per gli utenti XAMMP. Il nuovo URL per MAMP sarà http: // localhost: 8888 / wordpress /. Se stai lavorando su un sito che verrà in seguito chiamato qualcos'altro come "blog", ora sarebbe un buon momento per rinominare la cartella. L'URL cambierà di conseguenza.

    Dal momento che sviluppo anche siti senza Wordpress, ho copiato l'intera cartella anziché prelevare il contenuto. Lasciando gli elementi radice nella propria cartella, questo mi consente anche di testare temi Drupal, Joomla e Magento.

  3. Nella cartella wordpress, duplicare il file wp-config-sample.php e rinominarlo in wp-config.php.
  4. Apri wp-config.php in un editor e, a partire dalla riga 17, vuoi modificare quanto segue con la tua configurazione trovata nella pagina iniziale del tuo server locale:
     // ** Impostazioni MySQL - Puoi ottenere queste informazioni dal tuo host web ** // / ** Il nome del database per WordPress * / define ('DB_NAME', 'database_name_here'); / ** Nome utente del database MySQL * / define ('DB_USER', 'username_here'); / ** Password del database MySQL * / define ('DB_PASSWORD', 'password_here'); / ** Nome host MySQL * / define ('DB_HOST', 'localhost');

    Ovviamente, abbiamo chiamato il nostro database "wordpress" nel passaggio 1, in modo che vada lì. Per gli utenti MAMP, il nome utente e la password possono essere impostati su "root" in quanto è l'utente amministratore predefinito. Di default su XAMMP l'utente "root" non ha password.
    È possibile aggiungere più utenti al database wordpress in phpMyAdmin, se lo si desidera. Il nome host dovrebbe rimanere come "localhost".

  5. Con wp-config.php ancora aperto, vogliamo anche andare avanti e ottenere le nostre chiavi di autenticazione uniche. Per fare ciò, visitare https://api.wordpress.org/secret-key/1.1/salt/ e utilizzare il codice visualizzato per sostituire le righe 45-52:
     define ('AUTH_KEY', 'metti qui la tua frase univoca'); define ('SECURE_AUTH_KEY', 'metti qui la tua frase univoca'); define ('LOGGED_IN_KEY', 'metti qui la tua frase univoca'); define ('NONCE_KEY', 'metti qui la tua frase univoca'); define ('AUTH_SALT', 'metti qui la tua frase univoca'); define ('SECURE_AUTH_SALT', 'metti qui la tua frase univoca'); define ('LOGGED_IN_SALT', 'metti qui la tua frase univoca'); define ('NONCE_SALT', 'metti qui la tua frase univoca');
  6. Salva e chiudi wp-config.php.
  7. Inizia il processo di installazione visitando wp-admin / install.php. In MAMP, se l'URL del tuo sito è http: // localhost: 8888 / wordpress, allora inserisci http: // localhost: 8888 / wordpress / wp-admin / install.php.
  8. Se le tue impostazioni di wp-config.php sono corrette, ti verrà richiesto di inserire il nome del blog, la tua email e le informazioni sul nome utente.

Se viene visualizzato un errore, non preoccuparti! Il problema sarà nel tuo file wp-config.php. Vai lì e scopri quale impostazione sopra è errata.

Ora, WordPress dovrebbe essere attivo e pronto sul tuo server locale. Puoi accedere al pannello di amministrazione su MAMP all'indirizzo http: // localhost: 8888 / wordpress / wp-login.php. Se hai cambiato il nome della cartella, cambia "wordpress" con il nuovo nome. Gli utenti XAMMP possono eliminare il: 8888 o inserire 127.0.0.1/wordpress/wp-login.php.


Passaggio 3. Creare e modificare il sito

A partire da temi e plugin

L'installazione predefinita di WordPress avrà un tema predefinito chiamato Twenty Ten. Per aggiungere altri temi, puoi copiarli direttamente nella cartella wp-content / themes oppure puoi installarli tramite il dashboard di WordPress in "Aspetto -> Temi". I temi possono essere modificati localmente tramite "Aspetto -> Editor" o un editor di testo.

I plugin possono essere installati allo stesso modo, o copiarli in wp-content / plugins o trovare nuovi plugin tramite il dashboard di WordPress in "Plugin -> Aggiungi nuovo". I plugin possono anche essere modificati localmente tramite "Plugin -> Editor" o un editor di testo.

Avere un server locale è anche un ottimo modo per testare nuovi plugin e trovare quelli che funzionano per i tuoi siti. Ogni sviluppatore di WordPress dovrebbe avere una borsa degli attrezzi piena di plug-in che possa fare il lavoro per loro a sua disposizione.

Importazione di contenuti

Quindi ora che abbiamo il nostro tema e i nostri plugin, per quanto riguarda i contenuti? Bene, clicca qui per scaricare un file XML completo di contenuti di post WordPress che dovrebbero aiutarti a iniziare.

Per importare quel contenuto XML nel tuo server locale:

  1. Vai su "Strumenti -> Importa"
  2. Nell'elenco delle opzioni visualizzate, fai clic su "Wordpress", dal momento che stai caricando contenuti di WordPress. Ciò si applica anche quando importi i dati da questo sito al tuo sito di produzione.
  3. Se è la prima volta che hai importato il contenuto, ti verrà chiesto di installare l'utilità di importazione di WordPress. Fai clic su "Installa ora". Questo in realtà installa un nuovo plugin nella nostra cartella wp-content / plugins denominata "wordpress-importatore".
  4. Dopo averlo installato, fai clic sul link per attivare ed eseguire l'importatore.
  5. Passare al file posts.xml (o qualsiasi altro file di database di WordPress esportato) e caricare.
  6. Nella schermata successiva, attribuisci i nuovi post a un autore (di solito admin) e assicurati di fare clic su "Scarica e importa allegati". Trovo che questo sia utile se sto importando nuovi dati.

Ora, se visiti la dashboard dell'amministratore, vedrai che ora hai post, categorie, commenti, pagine e utenti da utilizzare mentre testi e sviluppi temi e plug-in.

L'importazione dei dati non sovrascrive i dati esistenti, ma aggiunge solo ciò che è presente. Quindi non ti preoccupare di ciò mentre importi.

Ottenere quei bei permalink

Questo è qualcosa che mi ha molto frustrato quando ho iniziato a lavorare, ma la soluzione è semplice.

Innanzitutto, apri il tuo file httpd.conf in / Applicazioni / MAMP / conf / apache /. Le righe 378-381 avranno questo aspetto:

  Opzioni Indici FollowSymLinks AllowOverride Nessuno 

Sostituisci quel codice con:

  Opzioni Indici FollowSymLinks AllowOverride All 

I tuoi bei permalink dovrebbero essere tutti a posto, il che dovrebbe anche aiutare ad accelerare la tua produzione.


Passaggio 4. Preparare il server di produzione

Ora che hai installato e configurato WordPress sul tuo server locale, puoi applicare gli stessi principi per installare WordPress sul tuo server di produzione.

La cosa bella è che dal momento che hai solo bisogno di modificare alcune impostazioni del database di wp-config.php, puoi semplicemente fare quanto segue per ottenere WordPress attivo e funzionante in un ambiente di produzione:

  1. Accedi al pannello di controllo del nostro server, vai su phpMyAdmin e crea il database chiamato "wordpress".
  2. Mentre sei loggato su phpMyadmin, assicurati di annotare nome utente, password e indirizzo host del database, poiché dovremo modificare questi valori in wp-config.php.
  3. Modifica wp-config.php per abbinare le nuove impostazioni del server.
  4. Carica l'intera cartella WordPress tramite FTP sul tuo server di produzione. Ancora una volta, questo può essere chiamato qualcos'altro se vuoi che sia in una sottocartella (es. Http://mysite.com/blog/ - dove "blog" è l'installazione di WP). Se si desidera installare WordPress nella directory principale del sito, spostare la cartella nella cartella principale del sito e quindi spostare i contenuti nella cartella principale lasciando vuota la cartella WordPress originale. È quindi possibile eliminare quella cartella. Ciò assicurerà anche che tu ti sposti su tutti i plug-in e i temi che hai testato. Puoi eliminare plug-in e temi indesiderati nel tuo ambiente di produzione rimuovendoli dalla cartella del contenuto wp o disattivandoli nel dashboard di WordPress.
  5. Completa la famosa installazione di 5 minuti come descritto in precedenza. Ricorda, se c'è un errore, è quasi sempre dovuto a un errore nelle impostazioni di wp-config.php. WordPress ti dirà anche questo sulla sua pagina di errore.

Ora WordPress è attivo nella produzione, ma manca di contenuti. Dobbiamo ottenere il nostro contenuto server locale che abbiamo perfezionato sul nostro sito live.


Passaggio 5. Trasferimento del contenuto del database e dei file

Esportazione del contenuto del server locale

Per esportare il contenuto del nostro server locale, dobbiamo accedere al nostro dashboard WordPress locale, di nuovo http: // localhost: 8888 / wordpress / wp-login.php per gli utenti MAMP e http: // localhost / wordpress / wp- login.php per gli utenti XAMMP.

Quindi scorri verso il basso fino a "Strumenti -> Esporta".

Poiché questa è la prima esportazione, seleziona "Tutto il contenuto" e fai clic su "Scarica ora". Come afferma WordPress, "Questo conterrà tutti i tuoi post, pagine, commenti, campi personalizzati, termini, menu di navigazione e post personalizzati.".

Immediatamente (a seconda della dimensione del database), si avrà un file XML che ha una struttura di nomi di sitename.wordpress.year-month-day.xml. Questo è il file che importeremo proprio come abbiamo fatto con posts.xml sul nostro server locale.

Importazione di contenuti in produzione

Poiché abbiamo appena imparato come importare nuovi dati nel nostro server locale, utilizzare gli stessi principi per installare i tuoi contenuti dal tuo server locale al tuo server di produzione

Esportare e importare direttamente in phpMyAdmin

Voglio anche sottolineare che puoi anche importare ed esportare direttamente in phpMyAdmin. Per esportare i dati del nostro server locale, vorremmo:

  1. Apri phpMyAdmin dalla pagina iniziale di MAMP o XAMMP.
  2. Clicca sul nostro database chiamato "wordpress" o qualunque cosa tu abbia chiamato il database di WordPress.
  3. Fai clic sulla scheda "Esporta" e scegli un'esportazione di tipo XML.
  4. Assicurati di selezionare la casella "Salva come file". Dal momento che il contenuto del mio sito era ridotto, ho scelto di non comprimerlo, ma lo consiglio vivamente per database più grandi.

Ciò salverà un file XML di backup del database direttamente sul tuo disco rigido. Ora puoi importarlo tramite WordPress o phpMyAdmin del tuo server di produzione.

Per importare il nostro file XML appena creato (il mio salvato come wordpress.xml), ripetere i passaggi 1 e 2 dall'alto, ma al passaggio 3, fare clic su "Importa". Quella schermata sarà simile a questa:

Passare al file XML salvato e fare clic sul pulsante di opzione per XML in "Formato del file importato".

E questo è tutto gente! Ora disponi di un sito completamente funzionale che hai creato e configurato su un server locale, ma che è stato esportato e distribuito in produzione.


Consigli e trucchi per l'ambiente locale

Oltre al tutorial sopra, ho voluto buttare fuori un paio di cose che faccio mentre lavoro nel mio ambiente locale che si è dimostrato utile quando si passa alla produzione:

Proteggi il tuo sito prima che vada in diretta

Quest'ultimo anno è stata la prima volta che un sito è stato violato. So che potrebbe essere un vecchio cappello per alcuni, ma non c'è niente come ricevere una chiamata da un cliente per segnalarlo. Ora, la buona notizia era che era facile prendersene cura e sicurezza, ma attraverso quell'esperienza ho imparato che non si può mai sbagliare con la sicurezza del proprio sito in anticipo.

Una delle cose più facili da fare per aggiungere un livello di sicurezza al tuo sito è creare un file index.php vuoto e metterlo nella tua cartella di contenuto wp, wp-content / plugins, cartella wp-content / themes. Questa è una soluzione rapida che può essere eseguita all'inizio del processo di sviluppo per creare un ulteriore livello di sicurezza per il tuo sito impedendo l'indicizzazione dei tuoi contenuti.

In quel file index.php, vorrei solo aggiungere il seguente codice:

 

Usa i tempi di inattività per apprendere nuove cose

Il mio server locale si è dimostrato inestimabile nell'apprendere i dettagli dei plugin e dei temi di WordPress. Perché non ho più bisogno di internet, posso scaricare i temi e i plugin che voglio e ogni volta che ho la possibilità di guardare oltre i file e le funzioni.

Questo può sembrare abbastanza buonsenso, ma avere il mio server locale e usarlo regolarmente ha davvero dato forma al mio modo di svilupparmi permettendomi di imparare praticamente dal lavoro degli altri nel loro codice. E la cosa bella è che se non ho ancora capito qualcosa, posso tornare più tardi perché non è vivo e non sta influenzando nessuno.

Comprendere i limiti di un server locale

Ora, dopo tutte le cose positive, ecco alcuni elementi che dovrebbero essere notati quando si lavora con un server locale, principalmente dalle mie esperienze con MAMP:

  • Preparati se i server locali non si avviano. C'è stato un tempo, in particolare con il mio MacBook e MAMP, che ogni volta che sono andato a iniziare su un sito, MAMP si bloccava. Trascorrerevo i primi 15 minuti di un progetto che mi entusiasmava nel cercare di capirlo. Un po 'ha ucciso un po' l'eccitazione! Per rimediare a questo, prova "Forzare" MAMP. Se ciò non funziona, gli utenti di OSX 10.5 e 10.6 possono solitamente aprire Activity Monitor (situato in Applicazioni / Utility), selezionare "I miei processi" e cercare più istanze di "mysqld". Se ci sono più corse, cancelli tutte tranne una. Questo dovrebbe riportare le cose alla normalità.
  • Per MAMP, le spie verdi per indicare che i server sono accesi non sono sempre affidabili. Per testare questo, basta fare clic sulla "Pagina iniziale", e se viene fuori allora sei a posto.
  • Alcune azioni form e funzioni avanzate potrebbero non funzionare correttamente. Ho sperimentato questo con un plugin Amazon S3 che ho sviluppato. Per queste cose, spesso installerò un modello di pagina WordPress personalizzato o una cartella di plugin, installarlo sul mio sito tramite FTP e testare su una pagina privata. È anche possibile installare una sottodirectory per eseguire più test o utilizzare Multipress.

Conclusione

Grazie per aver seguito il processo di installazione di un server locale, la configurazione di un sito WordPress su di esso e quindi la migrazione di quel sito in un ambiente di produzione.

Vorrei incoraggiare qualcuno di voi che ha più esperienza di me a postare sotto qualsiasi altra configurazione locale che si ha, altre idee su come semplificare il processo di migrazione e qualsiasi altro suggerimento e trucco per lavorare localmente. Sono solo una voce della comunità, dopo tutto.

Grazie per aver letto!