Trasferire WordPress da un piano condiviso ad un VPS: la guida

Trasferire WordPress da un piano condiviso ad un VPS: la guida

Con il passaggio del proprio sito in wordpress da un hosting condiviso (link: Wikipedia) ad un VPS molti utenti potrebbero trovarsi spiazzati: nella maggioranza dei casi, infatti, la macchina viene fornita con un sistema operativo (nel nostro esempio Linux, essendo una soluzione comunemente adottata) a cui sarà possibile accedere mediante shell SSH.

Perchè passare ad un VPS? Perchè offre più servizi, flessibilità e potenza hardware rispetto ad un condiviso

È un dato di fatto che anche i VPS più economici offrano servizi di alto livello, se adeguatamente configurati per le proprie esigenze. Questo finisce per essere una potenzialità e, al tempo stesso, un piccolo limite per molti di noi: infatti, a meno che non abbiate acquistato una soluzione managed, cioè gestita dagli operatori che forniscono il servizio (Aruba, SupportHost, keliweb, e così via), dovrete configurare tutto a basso livello.

Sai configurare un VPS? Si fa con la shell SSH Unix/Linux ed i comandi da terminale

shell-ssh

L’operazione in questione tende a creare confusione per due motivi basilari: richiede la conoscenza delle istruzioni della shell, per l’appunto (cosa non banalissima), e soprattutto nei forum specializzati difficilmente vengono fornite spiegazioni, per il fatto che i vari “guru” non danno indicazioni precise in merito, bensì tengono tali informazioni ben strette, difficilmente le divulgano e spesso confondono i principianti con osservazioni fuori luogo. Trovo il primo aspetto superabile con un minimo di studio (quello è fondamentale, ed uno dei “must” per la conoscenza della shell Unix/Linux è “Unix in a nutshell“, ma trovate miriade di tutorial gratuiti sull’argomento su Google), mentre il secondo è semplicemente irritante, detto per inciso. Essendo wordpress uno dei CMS più usati sia a livello amatoriale che professionale, tuttavia, mi sembra utile proporre un tutorial in italiano per comprendere tutti i passi necessari a trasferire, nello specifico, un sito in wordpress da un hosting shared ad una potente VPS.

Shell SSH: che cos’è?

Secondo WikipediaSSH utilizza il modello client-server, e viene utilizzato tipicamente per fare login su una macchina remota ed eseguire comandi arbitrari, supportando funzioni quali tunnelling, forwarding delle porte TCP e connessioni X11: permette altresì l’uso di SFTP e di SCP (copia sicura di file dal client al server)“: si tratta nella pratica di un terminale remoto a cui potrete accedere, con apposite credenziali fornite dal vostro provider, in modalità sicura e protetta da intrusioni esterne (si veda qui per approfondimenti). Il terminale è adibito a ricevere comandi del sistema operativo (chi già conosce Linux sarà avvantaggiato, chi utilizza Unix ancora di più), leggere e scrivere file e/o directory, eseguire un set di istruzioni e script e addirittura installare software sul VPS remoto. Quest’ultimo aspetto è quello che utilizzeremo per trasferire WordPress da un hosting condiviso ad una potente VPS che ci saremo procurati (qui trovi le offerte principali).

Nel nostro caso ci serviranno i seguenti servizi e dati:

  1. un server LAMP (Apache + MySql + PHP);
  2. i file del nostro WordPress;
  3. il database del nostro WordPress (dump).

Cosa devo installare per accedere alla shell SSH?

Un terminale remoto si accede mediante un terminale del vostro PC: se avete un Mac o Linux dovrete aprire una finestra del terminale in locale, se avete Windows userete soluzioni freeware come ad es. PuTTY. Ovviamente non c’entra nulla il sistema operativo del provider di VPS che state utilizzando, che assumeremo essere, in questa sede, Linux, mentre il vostro client (tanto per fissare le idee) sarà quello di un Mac.

#1 Login al VPS mediante SSH

Apriamo una finestra del terminale e digitiamo ssh (il comando che ci permette il suddetto accesso) seguito dal nome utente (ad esempio root) e l’IP del VPS: queste informazioni ci saranno state fornite, in fase di acquisto, dal nostro provider. Ad esempio se l’IP fosse 12.12.34.56 ed il nome utente root, scriveremmo:

ssh root@12.12.34.56

Premendo INVIO ci sarà adesso richiesta la password, anch’essa fornita dal provider (a meno che non l’abbiamo già cambiata noi in precedenti accessi): ricordiamo che mentre la digitiamo non comparirà nulla sul terminale, per ragioni di sicurezza.

Schermata 2013-10-03 alle 12.21.32L’accesso sarà confermato da Debian Linux, in questo caso, con un messaggio del genere. Se la password è invece errata, ovviamente, non potremo procedere in nessun modo.

Schermata 2013-10-03 alle 12.21.47

#2 Aggiorniamo il sistema operativo

Questa operazione è necessaria in questa circostanza, per quanto andrebbe eseguita periodicamente: andiamo a digitare il comando di aggiornamento di sistema, che provvederà ad installare tutti i software e gli update più recenti. Per le distrubuzioni Ubuntu:

apt-get update && apt-get upgrade

e per Debian avremo invece:

aptitude update && aptitude upgrade

#3 Installiamo LAMP

Per far funzionare un sito in WordPress, potreste valutare l’utilizzo di LNMP (Linux-Nginx-MySQL-PHP) per quanto LAMP (Linux-Apache-MySQL-PHP) sia più facile da installare, tant’è che è possibile farlo con un semplice comando (solo su Ubuntu):

apt-get install lamp-server^

Per Debian, invece, la procedura è un po’ più lunga, e sarà necessario seguire le istruzioni riportate a questo link per disporre di tutto quello che ci serve: si raccomanda di seguire scrupolosamente i dettagli riportati nella guida ufficiale linkata.

#4 Importare il database MySQL (ed i file PHP)

Visto che stiamo effettuando un trasferimento sarà necessario includere nell’hard disk del VPS il file di dump del database: esistono due modi per farlo, uno consiste nell’installare PHPMyAdmin a parte, e poi sfruttare da interfaccia web la funzionalità di “Import“, il secondo va bene per qualsiasi file di qualsiasi dimensione e si effettua mediante terminale con scp (copia in remoto di file da shell): ad esempio potremmo scrivere come segue, dopo aver chiuso l’accesso ad SSH ed essere tornati nel terminale locale.

scp /Users/user123/Downloads/dumpdb.sql.tar.gz root@12.12.34.56<strong>:</strong>/var/www

facendo attenzione ad utilizzare i “:” tra l’IP del server ed il path destinazione (la cartella WWW). Ovviamente se copia incollate i comandi dovrete sostituire adeguatamente sia il path che il nome del file adattando il tutto al caso del vostro PC in locale. In questo caso stiamo copiando il file compresso del dumpdumpdb.sql.tar.gz” dalla nostra cartella Downloads fino alla cartella remota dell’hard disk del VPS, nella locazione /var/www (lo standard per le cartelle pubbliche con server Linux).

Fatto questo, andremo a scompattare il file in remoto su SSH (rifacendo login come al punto 1) e scrivendo:

tar -xzf dumpdb.sql.tar.gz

oppure:

gzip -d dumpdb.sql.gz

se si tratta di un archivio .gz o anche (a seconda dei casi):

unzip dumpdb.sql.zip

se si tratta di un file ZIP.

Successivamenta andremo ad inserire il comando seguente per cambiare i permessi di proprietà del file:

chown -R www-data dumpdb.sql

Non ci resta che importare fisicamente il database con due appositi comandi mysql:

mysql create database nomedeldatabase

per creare un db vuoto e poi:

mysql -p -u root nomedeldatabase &lt; dumpdb.sql

per importare fisicamente il database con tutti i nostri dati.

Per copiare i file assumeremo di aver inserito tutta la cartella del sito in un singolo file ZIP nomesito.it.zip in una cartella nomesito.it, in modo da averla già pronta ad essere copiata e scompattata in automatico in remoto:

scp /Users/user123/Downloads/nomesito.it.zip root@12.12.34.56

Per scompattare in remoto, facendo login da SSH:

unzip nomesito.it.zip /var/www/

Siamo pronti per passare, a questo punto, alla fase successiva.

#5 Abilitare il sito WordPress

La configurazione del virtual server PHP permette al sistema di conoscere in quale locazione dell’hard disk del VPS abbiamo installato la directory di WordPress, che dovremmo preventivamente copiare nel disco fisso remoto con il comando visto in precedenza:

scp /Users/user123/Downloads/nomesito.it.zip root@12.12.34.56

Assumeremo che il sito sia installato in /var/www/miosito.it per convenzione. La configurazione è contenuta all’interno della cartella sites-available, a cui potremo accedere da SSH con il comando:

cd /etc/apache2/sites-available

In certi casi è necessario invece editare default al posto di questo file (se avete un singolo sito sull’hosting, per intenderci), per maggiori chiarimenti su sites-available in Debian si veda qui. Adesso scriviamo sul terminale remoto:

cp default miositoit

(potrai sostituire “miositoit” con il nome più consono al tuo sito, ovviamente) e poi:

pico miositoit

in cui troviamo configurazioni varie nella forma chiave-valore, e dovremo aggiungere il dominio del sito su questa falsariga:

  • ServerName miosito.it
  • ServerAlias www.miosito.it

Poi dobbiamo cambiare /var/www con /var/www/miositoit, e modificare “AllowOverride None” in “AllowOverride All“:

Per finire:

a2ensite miositoit

e poi andiamo ad abilitare l’Allow Override:

a2enmod rewrite

che abilita le modifiche che abbiamo inserito. Per concludere un bel riavvio della macchina permetterà di verificare che sia tutto ok a livello di configurazione.

/etc/init.d/apache2 reload

su Debian invece:

service apache2 restart

#6 Abilitare il dominio: mediante Name Server, via record oppure con il file hosts

Le tre opzioni seguenti sono alternative l’una all’altra.

9A) Per abilitare il dominio si possono modificare i Name Server inserendo quelli del vostro provider VPS.

9B) In alternativa possiamo anche creare un record DNS che associ al dominio miosito.it l’IP assegnato.

9A) Per abilitare il dominio si può infine anche agire mediante shell SSH sui file di hosts, ad esempio:

pico /etc/hosts

ed inserendo miosito.it a fianco del localhost (127.0.0.1).

La spiegazione finisce qui, fatto questo WordPress dovrebbe funzionare come al solito: può darsi che qualche procedura non si adatti alla perfezione al vostro caso, per cui contattatemi nei commenti in caso di segnalazioni, imprecisioni o difficoltà. Se siete alla ricerca di un VPS italiano potete consultare l’elenco dei provider suggeriti dal nostro blog.

Ti piace questo articolo?

0 voti

Su Trovalost.it puntiamo sulla qualità dei contenuti da quando siamo nati: la tua sincera valutazione può aiutarci a migliorare ogni giorno.

Ti potrebbero interessare (Guide WordPress):

Cerca altro nel sito

Clicca sul box, e scegli la sezione per vederne i contenuti.