Importare un sito di Drupal in Locale

33 contenuti / 0 new
Ultimo contenuto
Importare un sito di Drupal in Locale

Buongiorno gente,
sono nuovo in una società che utilizza drupal e tiene un sito online. Sono riuscito con filezilla ad avere il sito in locale, ora vorrei utilizzarlo come posso avviarlo localmente?
Grazie Simone

Drupal Version:

Ciao,
servirebbero alcune informazioni in più:
- che sistema operativo usi?
- in locale hai già installato Apache\PHP\Mysql?

In linea di massima devi caricare il database in locale, poi devi modificare il file sites/default/settings.php cambiando il nome, se diverso, del database remoto con quello in locale, cambiare nome utente e password del database.

Questo in linea di massima, poi ovviamente in base alla configurazione del sito in produzione potrebbe essere necessario pure fare degli aggiustamenti al file .htaccess e eventuali permessi.

Fai prima ad incominciare a fare i primi passi e poi postare di volta in volta le problematiche che incontri.

Comunque se cerchi su Google trovi parecchie informazioni, in inglese è meglio.

https://www.google.it/search?q=move+drupal+site+from+server+to+localhost...

Scusatemi...
utilizzo Mac OSX El Capitan
faccio girare MAMP
so che devo settare il settings.php
Chiedevo se da locale con una installazione pulita di drupal riesco ad importare il sito sempre in drupal scaricato con filezilla.

Volevo capire se mi conviene installare in modo pulito drupal ed importare poi quello scaricato da filezilla, oppure se quello nuovo in locale crearlo con le credenziali di quello che devo installare e poi sovrascriverci i file sopra.
C'è una guida step by step? grazie.

Se vuoi la copia esatta del sito in produzione non è necessario fare un'installazione pulita.
Metti i file scaricati nella root del tuo server locale o in qualche sottocartella, vedi tu.
Importa il database nel tuo database in locale.
Modifica il file settings.php con i parametri aggiornati del database (nome_database, nome_utente, password).

Questi sono i passi preliminari, ma in linea di massima dovrebbe andare. Poi in base alla configurazione del sito potrà essere necessario modificare il file .htaccess e permessi vari ma sono cose da affrontare di volta in volta se si presentano.

Eventualmente puoi provare una soluzione alternativa usando il modulo backup & migrate ma non so se il gioco può valere la candela.
http://www.seascapewebdesign.com/blog/how-transfer-your-website-one-serv...

Ripeto, incomincia a fare come ti ho detto e poi vai a fixare di volta in volta i problemi che incontri...se ne incontri.

Sto leggendo, innanzitutto grazie degli interventi in mio aiuto.
Mi fermo subito al primo step, con phpmyadmin come importo il nuovo database? dov'è il file con estensione . sql?
Grazie

inizio ad avere i seguenti problemi, quando mi collego:
ho messo utente: root e password root, perché phpmyadmi su MAMP sono configurate così di default.

Error

The website encountered an unexpected error. Please try again later.
Error messagePDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'artfixlo_artfix.semaphore' doesn't exist: SELECT expire, value FROM {semaphore} WHERE name = :name; Array ( [:name] => variable_init ) in lock_may_be_available() (line 167 of /Applications/MAMP/htdocs/artfixlo_artfix/includes/lock.inc).

Uncaught exception thrown in shutdown function.
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'artfixlo_artfix.semaphore' doesn't exist: DELETE FROM {semaphore} WHERE (value = :db_condition_placeholder_0) ; Array ( [:db_condition_placeholder_0] => 4484106075724c0058db744.68596318 ) in lock_release_all() (line 269 of /Applications/MAMP/htdocs/artfixlo_artfix/includes/lock.inc).

Ma il database sei riuscito ad importarlo?
In tal caso lo devi esportare dal pannello di controllo dell'hosting (es: cpanel), poi creare un nuovo database sul tuo phpmyadmin, selezionare quest'ultimo database e poi importare su questo quello esportato dal sito in produzione.
Ovviamente nel file settings ti devi assicurare che: host sia settato come 'localhost' e database col nome del database che hai creato sul tuo phpmyadmin

Hai provato ad eseguire http://pathdeltuodrupal/update.php ?

Buongiorno,
eccomi qua, purtroppo sono ancora bloccato, cerco di comprendere quello che mi hai detto, facendo un piccolo riassunto dei passi da seguire.
- Non devo partire da una nuova installazione di drupal.
- Ho preso i file del sito creato in Drupal (e scaricati con Filezilla), creata una cartella (chiamiamola 'test') nella 'hdocs' di MAMP.
- Creare in phpmyadmin un database con lo stesso nome della cartella in MAMP, quindi 'test'.
- Modifica il file settings.php con i parametri aggiornati del database (nome_database, nome_utente, password).
- Ora sono arrivato al punto che non so cosa dovrei importare e come dovrei farlo: mi parli di es. cpanel. Questa operazione è da fare in phpmyadmin? Ma una volta che vado sul tab Importare di quest'ultimo e mi chiede il file .sql, come faccio a sceglierlo in mezzo alle cartelle e i file inseriti nella cartella 'test' in MAMP, qual è la corretta collocazione del file del database?
Sbaglio io nel ragionamento di qualcosa? Porta pazienza e ti ringrazio ovviamente per le informazioni che mi stai dando.

Ok ho compreso cosa intendevi, sono andato nell'hosting ed ho scaricato il file sql zippato, ch'era la cosa che serviva principalmente a far girare il tutto.
Ora il sito lo vedo ma solo la Home, se cerco di collegarmi alle altre pagine mi dice:
The requested URL /artfix/industry was not found on this server.

Stessa cosa se vado al link: http://pathdeltuodrupal/update.php ?
Access denied. You are not authorized to access this page. Log in using either an account with the administer software updates permission or the site maintenance account (the account you created during installation). If you cannot log in, you will have to edit settings.php to bypass this access check. To do this:

With a text editor find the settings.php file on your system. From the main Drupal directory that you installed all the files into, go to sites/your_site_name if such directory exists, or else to sites/default which applies otherwise.
There is a line inside your settings.php file that says $update_free_access = FALSE;. Change it to $update_free_access = TRUE;.
As soon as the update.php script is done, you must change the settings.php file back to its original form with $update_free_access = FALSE;.
To avoid having this problem in the future, remember to log in to your website using either an account with the administer software updates permission or the site maintenance account (the account you created during installation) before you backup your database at the beginning of the update process.

Credo che siamo sulla buona strada, manca poco.

Aggiungo che la cosa strana è che non riesco a vedere la classica console di drupal (da amministratore del sito), ma solo la home del sito come è presente online.
Come posso risolvere questo problema?

Riesci a sapere se nel MAMP che hai installato in locale il mod_rewrite è abilitato?

Quasi sicuramente l'installazione online di drupal avrà la voce "url semplificati" attiva che per funzionare ha però bisogno che apache abbia mod_rewrite installato e abilitato.

Purtroppo non conosco MAMP e non so essere più specifico. Ho però trovato questo googlando: http://stackoverflow.com/questions/7670561/how-to-get-htaccess-to-work-o...

Alternativamente potresti provare a disabilitare gli url semplificati così (ma non è detto che funzioni):
- http://pathdeltuodrupal/?q=user (e accedi come admin)
- http://pathdeltuodrupal/?q=admin/settings/clean-urls (e disabilita gli url semplificati)

Grazie tante della info.
Appena torno a casa provo a eseguire quanto mi hai indicato.
Comunque in alternativa sto provando a farlo girare direttamente dalla webRoot Sites di Mac.

Gentile gp molte grazie di questo intervento.
Ho seguito il tuo primo link quello googlando ma riavviando non è cambiato molto.
Poi col tuo suggerimento: http://pathdeltuodrupal/?q=user sono ad una pagina di login dove se inserisco utente e password inseriti per il settings.php non funziona, e neppure con quelli che avevo originali del sito. Ma la pagina è visibile. Cosa possiamo fare ulteriormente?

Sono riuscito ad installare il medesimo sito direttamente sulla cartella Sites di Mac (in locale quindi), utilizzando Apache, Mysql, PHP, e phpmyadmin.
Arrivo alla stessa conclusione che arrivo con MAMP, quando navigo tra le pagine ottengo:
The requested URL /~Simone/test/industry was not found on this server.
Ma con una notizia aggiuntiva:

Warning: mkdir(): Permission denied in boost_mkdir() (line 1347 of /Users/Simone/Sites/test/sites/all/modules/boost/boost.module).

Poi col tuo metodo http://pathdeltuodrupal/?q=user non riesco ad effettuare il login né con le credenziali di settings.php, né con le credenziali originali del sito.

Grazie ancora per l'attenzione.

la linea 1347 corrisponde al seguente frammento di codice:
if (!mkdir($directory, $mode, TRUE)) {

Quindi, andando per ordine:
- il nuovo errore che ottieni dipende dal fatto che sul sito in produzione è stato attivato il modulo boost che è un sistema di caching per velocizzare la navigazione.
Per risolvere dovresti controllare se nella root principale di drupal è presente una cartella chiamata "cache", tale cartella deve avere i permessi di lettura e scrittura (775); se non esiste invece va creata.
Tuttavia non credo influisca, almeno per il momento, all'esecuzione di drupal.

- io continuo a pensare sia un problema di mod_rewrite, quindi ti consiglio alcune prove:
a)http://stackoverflow.com/questions/12592215/install-and-configure-mod-re... (che controllerei a prescindere...purtroppo non ho osx a portata di mano e non so essere più preciso);
b)nella root di drupal (nella tua installazione in locale ovviamente :D ) elimina il file .htaccess, scaricati una versione pulita di drupal, estrai i file e copiati il file .htaccess sulla tua installazione.

Altra cosa utile che potresti fare al fine di poter cercare di ottenere qualche informazione di debug in più è di aggiungere in cima al file settings.php, subito dopo <?php il seguente codice:

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

Grazie di essere qui ad assistermi.
In ordine, la cartella cache è presente e le ho dato i permessi che mi hai detto, ma non è cambiato nulla.
Nella cartella cache è presente una directory con all'interno anche il file .htaccess, quest'ultimo è presente anche nei seguenti posti:
/Applications/MAMP/htdocs/artfix/cache/normal/localhost/artfix/.htaccess
/Applications/MAMP/htdocs/artfix/cache/normal/www.sito.it/.htaccess
/Applications/MAMP/htdocs/artfix/sites/all/libraries/ckeditor/.htaccess
/Applications/MAMP/htdocs/artfix/sites/default/files/.htaccess
/Applications/MAMP/htdocs/test/cache/normal/localhost/test/.htaccess
/Applications/MAMP/htdocs/test/cache/normal/www.sito.it/.htaccess
/Applications/MAMP/htdocs/test/sites/all/libraries/ckeditor/.htaccess
/Applications/MAMP/htdocs/test/sites/default/files/.htaccess
/Applications/MAMP/tmp/php/.htaccess
/private/tmp/.htaccess
/Users/Simone/Downloads/drupal-7.43/.htaccess
/Users/Simone/Downloads/drupal-7.43 2/.htaccess
/Users/Simone/Downloads/phpMyAdmin-4.6.0-english/test/.htaccess
/Users/Simone/Downloads/phpMyAdmin-4.6.0-english 2/test/.htaccess
/Users/Simone/Downloads/phpMyAdmin-4.6.0-english 3/test/.htaccess
/Users/Simone/Sites/artfix/public_html/.htaccess
/Users/Simone/Sites/artfix/public_html/cache/normal/www.sito.it/.htaccess
/Users/Simone/Sites/artfix/public_html/sites/all/libraries/ckeditor/.htaccess
/Users/Simone/Sites/artfix/public_html/sites/default/files/.htaccess
/Users/Simone/Sites/drupal/.htaccess
/Users/Simone/Sites/phpmyadmin/test/.htaccess
/Users/Simone/Sites/test/cache/normal/www.sito.it/.htaccess
/Users/Simone/Sites/test/sites/all/libraries/ckeditor/.htaccess
/Users/Simone/Sites/test/sites/default/files/.htaccess

In quale cartella dell'elenco andrebbe copiato il file preso dalla versione pulita di Drupal?
Grazie

Ok ora funziona il collegamento tra le pagine, ho fatto prima una prova inserendo il file .htaccess copiato dalla versione pulita di Drupal direttamente nella root del sito nella cartella /Library/WebServer/Documents/test.
Ho replicato il tutto sulla cartella Sites ed ho riscontrato il successo. Abilitati anche gli errori come richiesto da te antecedentemente.
Non riesco ora solo a fare il login, da cosa dipende, dove devo guardare?
Sei un asso :)

Bene, pian piano facciamo progressi. :-)

Simon wrote:
Ho replicato il tutto sulla cartella Sites ed ho riscontrato il successo.

non mi è chiaro questo punto.
hai copiato lo stesso .htaccess presente nella root principale di drupal "pulito" all'interno di tutte le sottocartelle del tuo sito dove era presente un .htaccess?
Se così fosse non è la soluzione ma dovresti al più sostituire l' .htaccess delle corrispettive sottocartelle.
Ad esempio /drupal/sites/default/files/.htaccess in /tuosito/sites/default/files/.htaccess e così via...ma generalmente non è strettamente necessario farlo...ad esempio si potrebbe anche eliminarli e poi dal pannello di controllo di Drupal lanciando cron questi si rigenerano...l'importante è quello nella root principale.

Comunque, mi potresti spiegare esattamente in che senso non riesci a fare il login? Ti restituisce un errore, anche un banale "nome utente e password errati" o semplicemente non succede nulla?

allora ho semplicemente inserito il file .htaccess pulito alla radice (root principale) del sito di drupal quello dove sono presenti tutti i file e le cartelle come /modules /sites /includes ecc. Gli altri file non li ho sostituiti.

Sono andato su phpmyadmin e cercato nel database un riferimento agli user. Ho inserito un nuovo utente col mio nome e una password ma ora mi dice che non sono autorizzato ad entrare o che sono stato bloccato:
The username simone has not been activated or is blocked.

Che debba riavviare il server o qualcosa? mi sembra strano però.

Per risolvere dovrei chiedere all'amministratore la sua password?

buongiorno,
mi compare comunque sempre questo allert:
Warning: mkdir(): Permission denied in boost_mkdir() (line 1347 of /Users/Simone/Sites/test/sites/all/modules/boost/boost.module).

E non riesco a logarmi nonostante abbia inserito il mio utente nel database di phpmyadmin, cosa posso fare? devo chiedere la password di amministrator?

Grazie

ah scusa, un'ulteriore cosa, per:

http://localhost/~Simone/test/?q=admin
http://localhost/~Simone/test/?q=admin/settings/clean-urls

il responso è:

Access denied
You are not authorized to access this page.

Ma immagino se scrivi questo si: http://localhost/~Simone/test/?q=admin
Giusto?

Tornando a quello che hai scritto prima, non basta inserire un account utente ma bisogna attivarlo e assegnare un ruole, inoltre la password sul database deve essere memorizzata come funzione crittografica MD5.

La via più semplice è ovviamente quella di farti dare le credenziali di accesso come admin dall'amministratore del sito. Dopotutto cosa te ne faresti di un'installazione in locale? :-)

Poi, se proprio vuoi agire via database (che ti sconsiglio e non garantisco nulla) potresti provare a resettare la password di admin, l'user name è "admin" .
Qui è spiegato nel dettaglio: https://www.drupal.org/node/1023428

In buona sostanza devi portarti col terminale nella root di drupal ed eseguire questo comando:
./scripts/password-hash.sh tuapassword (punto incluso)

Questo comando ti restituirà una stringa del tipo: $S$CTo9G7Lx28rzCfpn4WB2hUlknDKv6QTqHaf82WLbhPT2K5TzKzML
copialo!

Adesso vai in phpmyadmin e seleziona il tuo database, nella tabella in alto vai su SQL ed esegui questa stringa di codice:
UPDATE users SET pass ='LO_STRINGONE_CHE_HAI_COPIATO_PRIMA' WHERE uid = 1;

Se non ci sono intoppi dovrebbe andare.

NB: Tieni conto che dopo 5 tentativi Drupal blocca, per un periodo di tempo, l'accesso utente ad un determinato IP. Per sicurezza io andrei a sbloccare il tutto:
da phpmyadmin cerca nel database del sito la tabella "flood" ed elimina tutti i records contenuti al suo interno.

Scusa prima volevo scrivere: http://localhost/~Simone/test/?q=user

Grazie tante delle preziose informazioni, ma sto attendendo la password dall'admin, eventualmente farò una prova.
Ora una domanda, ma se dovessi cambiare lo graficamente la home, lo sfondo, le immagini del sito, mi basterebbe sostituire le immagini esistenti nelle cartelle all'interno della root con quelle nuove, ed il gioco sarebbe fatto?
Grazie

Nella cartella root no ma al massimo nella cartella del tema e/o nella cartella files.

Tieni conto però che è una domanda difficile, bisogna sapere come è stato configurato il tema ma anche altri aspetti del sito. Magari è possibile gestire molte cose attraverso i settaggi del tema.

Magari prova ad indagare sul codice html con firebug per firefox e risalire alla posizione di ogni singolo elemento.

Comunque mi hanno dato la password domattina provo e ti faccio sapere.
Grazie della gentile corrispondenza.

Buongiorno,
con la password che mi hanno dato non riesco ad entrare ancora, nonostante dicano che sia nuova ecc ecc.
C'è modo che io possa farti vedere il tutto, dico condividendo su google drive ecc.?

Per resettare la password nella cartella radice:
sudo: ./scripts/password-hash.sh: command not found

comando non trovato.

Ho risolto,
mi hanno dato la nuova password e da lì ho scaricato il database importato in phpmyadmin e fatto il tutto.

Ora una domanda tecnica, il sito è: http://www.artfixlondon.com/
quei tre cerchi che si vedono sono entità separate che gestisce drupal o è un layer grafico? perché dovrei modificarne l'aspetto e posizionarle più in basso.

Grazie tante, se necessario apro un altro topic :)

Ciao,
mi fa piacere tu abbia risolto.

A questo punto ti consiglio di aprire un altro topic nella sezione Grafica e temizzazione o si rischia di creare confusione. Inoltre potresti avere più feedback.

Ad ogni modo, rispondendoti velocemente, quei tre cerchi li devi gestire via CSS... dando una veloce occhiata con firebug devi andare a modificare il margin-top di #block-panels-mini-front-page-panel .

ti ringrazio del profondo interesse e della soluzione del caso. Senza te non ci sarei riuscito.
I template che utilizzano sono eseguiti con Illustrator, che debba spostarli graficamente?
Comunque aprirò un topic tra domani e dopodomani.

Grazie tante, e buona serata