Salve a tutti,
sono qui per un altro interrogativo. C'è una maniera "pulita" e sicura per duplicare un sito in Drupal?
Vi chiedo questo perchè, ogni volta che devo fare un nuovo sito, mi trovo a fare sempre gli stessi passi (scaricare file, attivare moduli, impostare i moduli).
Ho già analizzato il "multisito" e l'ho esclusa. Ovviamente il problema non nasce sui file nell'ftp, in quanto, apparte il file setting.php, non ci dovrebbe essere più nulla da settare. Il mio problema nasce sul db. Faccio il dump, e poi? Basta che l'importo in un nuovo db?
Clonare Sito
Lun, 08/02/2010 - 14:42
#1
Clonare Sito
Ho cercato di risolvere utilizzando il modulo backup_migrate . L'ho installato e sembrava essere tutto a posto.
Poi, ho cercato di entrare dal menu alla sezione dedicata a backup_migrate, e mi ha dato il seguente errore
Parse error: syntax error, unexpected ')', expecting '(' in c:\xxx\wwwroot\sites\all\modules\backup_migrate\includes\destinations.s3.inc on line 24
Qualcuno sa aiutarmi?
L'operazione di Creare siti web partendo dal DB di un'altro sito è prassi comune per me... lo faccio di continuo... è l'unico modo con cui creo siti web con le stesse caratteristiche, anche perchè reimpostare tutto da ZERO è una bella rottura.
partendo dal dump del db... io eseguo 2 semplici step.
PRIMO
per evitare qualsiasi casino, modifico il PREFIX delle tabelle, lanciando una sed sull'sql del DB esportato. Sostituiscoil prefisso delle tabelle del vecchio sito con un nuovo prefisso relativo al nuovo sito.
SECONDO
Importo sul nuovo database, il file dell'export modificato al punto PRIMO.
Troubleshouting
Di norma se ci sono dei problemi specifici questi possono derivare da alcuni moduli.
Io ho avuto un solo problema ... un modulo non standard, non mi perfetteva di utilizzare correttamente il db importanto.
Quello che ho fatto è stato cercarmi questo modulo, utilizzando drush... finchè dopo averlo disabilitato, il sito a iniziato a funzionare.
Le cose su cui stare attenti sono: i PATH
L'origine del tuo problema io NON la so... ma per sicurezza io ricomincerei da capo da capo e quindi reimportare il db... e verificare il tutto.
http://www.sanisapori.eu
Da profano, la cosa secondo me più semplice, è creare un sottodominio e metterci quello che serve. Appena si crea un nuovo sito, quindi nuovo dominio e nuovo database, modificare il setting.php e caricare nel nuovo database il database del sottodominio .sql, dopo aver sostituito nel file .sql tutti i nomi del sottodominio con quelli del nuovo dominio.
Giovanni
Ma se crei un sottodomio... fai tutta una serie di passaggi in +, non necessari!
http://www.sanisapori.eu
Se l' host su cui sei te lo permette, per creare un sottodominio ci vuole un minuto. Mentre per me, che non conosco tante tecniche, sarebbe più complicato il tuo metodo. Io non so neanche cos' è una sed. Ciao.
Mi dà l'impressione che la tendenza è verso features per informazione puramente configurazionale - niente utente o nodi. Ma non so fino a che punto questo può arrivare, o integrarsi con altri forme di export tipo CCK e views.
SED Unix stream editor: http://www.gnu.org/software/sed/ utlilissimo per cambiare qualche riga qui e la in un file di centinaia di migliaia di righe. Bisogna sapere un pò gli espressioni regolare.
Più imparo, più dubito.
Grazie per l' info Johnny.
Ciao
OT. Abbiamo lo stesso nome. Comunque (per chi interessa) il mio è John non Jonathon. Anche mio nonno paterno si chiamava John, ma tutti lo chiamavano Jack - (anche) diminuativo per John - che curiosamente sembra che sta tornando in vogue...
E solo che non mi piace Jonny - diminuativo per Jonathon, e neanche molto Jack, come (forse) a te non piace essere chiamato Giò. Supporto Jhon comunque - classico errore italiano - come lenght, widht, breadht, height e eight. Eccetto che le ultlime due sono corretto, e si ho anche visto heigth e eigth. Quest'ultimo (ottavo) si scrive eighth - sbaglio quello anch'io...
Perchè l'inglese sono così? Perchè hanno una lingua dove si scrive in un modo, e si pronuncia in un altro? Probabilmente per rendere la vita difficile ai stranieri...
John
Più imparo, più dubito.
OK John, anche se a me non dispiaceva quando mi chiamavano Giò (a Milano); non tanto mi piaceva invece Giò Di Giò (ma che nome !!!).
Ciao
sed -i 's/prefixold_/prefixnew_/g' file.sql
-i - per scrivere file.sql
lo lanci e ti sostituisce tutti i prefissi delle tabelle all'interno del file... a patto che questi, all'interno del file, siano seguiti da _
è importante inserire anche l'underscore xkè il file è strapieno di stringhe uguali al prefisso delle tabelle... stringhe che non andrebbero toccato per evitare potenziali problemi.
http://www.sanisapori.eu
Una guida (in inglese) molto completo: http://www.grymoire.com/Unix/Sed.html
Io farei:
sed 's/prefixold_/prefixnew_/g' file.sql > new_file.sql
Così puoi controllare le modifiche fatte con diff, ma penso che ci saranno tanti righe da guardare con tutti quei insert...
Più imparo, più dubito.
Sono sempre più convinto della mia opinione. Con il sottodominio ti fai il clone e quindi fai tutte le modiche che vuoi. Alla fine basta solo cambiare il setting.php ed il sottodominio con il nuovo dominio nell' export del db e trasferire tutto sul nuovo db (se si utilizza FCK e si è impostato il cookie domain bisogna cambiare anche il config.php di FCK); sempre che si abbia la possibilità di creare sottodomini e nuovi db, altrimenti analizzerei la proposta di jscm.
Giovanni
Io facevo all'incirca come spieghi tu, tanto tempo fa... poi con tempo mi sono accorto che non serviva + di tanto, perdevi + tempo.
Nel senso che non è necessario lanciare una nuova installazione di drupal su un dominio e poi importare sul nuovo db l'export del sito vecchio.
Sono una serie di step in +.
Importa subito il db, modifica i dati di accesso al db su un nuovo settings.php e tutto funziona, mantenendo tutti i settings del sito originario.
A quel punto le uniche cose da fare sono modificare i path, nome sito, le email dove vanno cambiate... e così via.
http://www.sanisapori.eu