A volte capita di dover spostare il proprio forum SMF da un host ad un altro e/o da un dominio ad un altro.
La procedura in sé è, di norma, abbastanza semplice. In alcuni casi potrebbero insorgere alcuni problemi, ad esempio se sono installati mod come Pretty URLs.
Nella guida coprirò per ora solo il caso generale dato che non ho esperienza diretta di mod particolari, se in futuro avrò l'occasione di sperimentare o qualcuno potrà fornire le necessarie informazioni, aggiungerò ulteriori note.
Nota: perché parlo di host e dominio e non solo di dominio? SMF per funzionare ha bisogno che vengano specificati i percorsi ai file del forum e, cambiando host, è molto probabile che questi percorsi cambino, quindi, siccome la procedura è simile ho deciso di inglobare tutto in un'unica guida. D'ora in poi è possibile che mi capiterà di usare le parole "host" e "dominio" in maniera intercambiabile, ovviamente non lo sono, ma il principio, per quanto riguarda questa guida, è esattamente lo stesso.
Fase 0: operazioni preliminari
Per evitare perdite di dati e/o problemi futuri, la prima cosa da fare è mettere il forum in modalità manutenzione:
- SMF1: admin -> impostazioni server -> modalità manutenzione? mettete la spunta e salvate
- SMF2: admin -> configurazione -> impostazioni server -> attiva modalità manutenzione mettete la spunta e salvate
ora solo gli admin potranno accedere al forum.
Secondo passo, impostate come tema quello di default:
- SMF1: admin -> tema e grafica -> Tema generale del forum scegliete SMF default theme - Core e salvate
- SMF2: admin -> configurazione -> Gestisci e installa -> Tema generale del forum scegliete SMF default theme - Curve e salvate.
Fase 1: backup
Per poter ricreare una copia fedele del proprio forum su un altro host/dominio la prima cosa da fare è naturalmente una copia del proprio forum. Come al solito due sono le cose da salvare: i file e il database.
Per prima cosa occupiamoci dei file. Questi non sono solamente i file di SMF, ma includono anche i vostri avatar, i vostri allegati, temi, e quant'altro avete nella directory del vostro forum, quindi alla fine potreste dover scaricare una quantità considerevole di dati. Aprite il vostro client ftp preferito e fate il download di tutti i file e sottodirectory del vostro forum (non entro nei dettagli, ricordate solo che FileZilla potrebbe corrompere irrimediabilmente gli allegati se impostato per trattare i file senza estensione come file di testo, opzione attiva di default).
Ottenuti tutti questi file (o mentre questi sono in download :P), passiamo al database. Che io sappia, qualunque host fornisce un'applicazione per accedere direttamente al vostro database. Nella maggioranza dei casi si tratta di phpMyAdmin. Dalla mia esperienza, siccome molti host (almeno quelli che "costano poco") non danno il permesso di creare database la procedura migliore per creare un file di backup è: loggare in phpMyAdmin, selezionare il database in cui risiede SMF (in modo da avere di fronte l'elenco delle tabelle) e cliccare su "Esporta" ed esportare dalla pagina cui si viene indirizzati.
Qual'è la differenza tra questo metodo e l'esportare l'intero database? Esportando l'intero database, phpMyAdmin aggiunge all'inizio del file il comando per la creazione del database, ma, siccome come detto in precedenza, nella maggior parte dei casi gli host non forniscono il permesso di creare database, si finirebbe per ricevere un errore in fase di importazione e non sarebbe possibile procedere se non editando a mano il file sql dell'export.
Fase 2: upload e import
Ottenuti tutti i dati necessari per ricreare il proprio forum, è ora necessario ricaricare i file sul nuovo spazio e il backup del database nel nuovo database, i file via ftp come al solito, il db in phpMyAdmin (o equivalente) come sempre.
Finito l'upload, scaricate dalla sezione tools del sito di SMF il file repair_settings.php e caricatelo via ftp nella directory del vostro forum (nella stessa directory in cui c'è il file SSI.php per intenderci).
Fase 3: aggiornamento impostazioni
Puntate il vostro browser a http://dominio_ip_o_altro.tld/forum/repair_settings.php e correggete le impostazioni che vanno corrette, presumibilmente tutte quelle delle sezioni MySQL Database Info e Paths & URLs e salvate. Notare che una volta salvato repair_settings vi ripresenterà la stessa schermata di prima, non serve salvare ancora, è tutto a posto! ;)
Fase 4: verifica del funzionamento
Siete pronti per verificare se il vostro forum funziona, puntate al suo indirizzo e verificate.
Se riuscite a fare il login con il vostro account da amministratore, tutto è andato a buon fine, resta però ancora qualche piccola "finezza" da aggiustare.
Fase 5: ultimi aggiustamenti e pulizia
Come avrete notato loggandovi da admin, ci sarà un grosso avviso rosso che vi dice che il file repair_settings è un pericolo per la sicurezza e va rimosso. Niente di più vero, ora che avete sistemato tutto e verificato che funziona la prima cosa da fare è cancellare quel file (naturalmente via ftp).
Una volta liberatici di questo fastidioso messaggio, il prossimo passo è sistemare eventuali altri temi installati. Andate nel pannello di admin nella sezione impostazioni temi e correggete tutte le URL e le directry dei temi uno ad uno (per sapere quelli corretti, potete prendere spunto da quello di default, togliendo da percorsi e URL "default" e mettendo la directory del tema che state modificando ;)).
Corretti tutti questi dettagli non resta che un'ultima cosa da fare: disabilitare la modalità manutenzione (vedi Fase 0).
Ecco, il vostro forum è stato trasferito con successo! :D ...spero... :P