<< Indietro
Messaggi di questa discussione
Mittente Testo dei messaggi
Palletto Pinco

Noavatar
Post fatti : 29
> Profilo
Scritto il : 21/12/2009 17:00 ( più di un mese )
Oggetto : upgrade su una installazione 'ausiliaria'
Cari tutti,
dovendo fare l'upgrade da una vecchia versione di docebo alla più recente, mi interrogavo sulle possibili modalità perché la cosa possa essere fatta nella maniera più sicura ed indolore.

Vorrei evitare di sovrascrivere la vecchia versione V_OLD con i file della nuova e poi lanciare l'upgrade, perchè non c'è possibilità di rollback in caso qualcosa vada storto. La cosa più desiderabile, secondo me, è di poter realizzare una copia della vecchia versione V_COPY, affiancata alla V_OLD, e fare l'upgrade da V_COPY a V_NEW: la V_OLD rimarrebbe intatta a disposizione finché non si sia sicuri che l'upgrade è andato a buon fine.

Peché questo schema funzioni, è necessario che:

1. sia possibile cambiare il nome della directory che contiene docebo (la directory padre di doceboCms, docebo Core, etc.) *dopo* aver terminato l'installazione;

2. sia possibile migrare il database da un'installazione ad un'altra.

Il punto 1 è desiderabile - anche se a rigore non strettamente indispensabile - per non dover cambiare, sia pur transitoriamente, la URL del sito. Il punto 2, invece, è ovviamente obbligatorio, e mi chiedo se si possa fare in sicurezza oppure da qualche parte nelle tabelle del database ci siano dei riferimenti all'installazione V_OLD che risultano quindi non migrabili sul db dell'installazione V_COPY.

Da quanto sopra seguono due altre questioni:

3.per fare la V_COPY devo a) *installare* a tutti gli effetti una nuova copia di docebo (nel senso di partire dai file come scaricati di fresco dal sito di docebo e procedere con il wizard d'installazione web di docebo) o posso limitarmi a b) *copiare* i file di V_OLD in una nuova directory (un semplice trasferimento FTP)? Nel caso a), in cui debba installare via wizard web, quali file devo poi trasferire 'a mano' da V_OLD a V_COPY? Credo senz'altro quelli sotto la directory "files"; quali altri?

4. Stante la configurazione V_OLD->DB1 e V_COPY->DB2, *come* migrare il database da V_OLD a V_COPY? phpmyadmn ha il comando per copiare tutto il contenuto di un database in un altro, e la cosa più logica sembrerebbe di utilizzarlo con l'opzione 'copia solo i dati', visto che la struttura di DB1 e DB2 coincidono, ma ho provato e mi dà errore.  E' possibile fare un DROP TABLE di tutte le tabelle di DB2 e utilizzare il comando copia DB1->DB2 con l'opzione 'copia struttura e dati'?

Salutoni,

P.
 
Derks Giovanni

Avatar
Post fatti : 1861
> Profilo
Scritto il : 28/12/2009 09:56 ( più di un mese )
Oggetto : Re: upgrade su una installazione 'ausiliaria'

ciao,
per fare quello che dici devi:

 

- creare un database vuoto
- fare un dump del database di V_OLD con mysqldump (se è un database grosso non ce la fai con phpmyadmin)
- controllare che la codifica del file .sql sia corretta (utf8)
- importare con il comando mysql il file .sql nel database di V_NEW
- copiare tutti i file da V_OLD a V_COPY/V_NEW
- modificare il config.php di V_NEW in modo che prenda il database nuovo
- in amministrazione di V_NEW modificare i vari url (generale/admin, lms, cms) nella configurazione in modo che puntino alla nuova cartella

 a questo punto dovresti poter far le prove con V_NEW. Mentre fai le prove nessuno deve poter usare / inserire / modificare contenuti in V_OLD, altrimenti ti troverai con i dati non allineati.

 Quando hai fatto tutte le prove, puoi rinominare V_NEW in V_OLD ovvero metterla in produzione e ripetere il passaggio:

- in amministrazione di V_NEW modificare i vari url (generale/admin, lms, cms) nella configurazione in modo che puntino alla nuova cartella

 se usi l'upload FTP dovrai far anche attenzione ai parametri FTP nel file config.

ciao,
Giovanni.

Messaggio modificato da : giovanni.derks il : 28/12/2009 09:57

Docebo Staff
 - Docebo 4 released! -

 
Palletto Pinco

Noavatar
Post fatti : 29
> Profilo
Scritto il : 29/12/2009 20:35 ( più di un mese )
Oggetto : Re: upgrade su una installazione 'ausiliaria'
Ho fatto così:
  1. creato un DB nuovo
  2. installato una nuova istanza di docebo V_COPY che ha la stessa versione (3.0.5) di quella di V_OLD
  3. cancellate tutte le tabelle del DB di V_COPY
  4. copiato l'intero DB di V_OLD su quello di V_COPY
  5. fatto l'upload dei file di una versione recente (3.6.03) di docebo su V_COPY, sovrascrivendo i file di V_COPY tranne config.php
  6. alla fine del file config.php aggiunto questo codice:

    $GLOBALS['db_conn_names'] = 'utf8';
    $GLOBALS['db_conn_char_set'] = 'utf8';
    $GLOBALS['mail_br'] = "\r\n";
  7. lanciato l'upgrade di V_COPY
  8. Eliminate le directory:

    upgrade/
    install/
    xml_language/
    readmelicense/
Come risultato, ho un'installazione V_NEW (ossia la V_COPY dopo l'upgrade) che sembra avere tutto a posto, tranne il fatto che se si va nell'amministrazione dà "Configuration Error"
Writted by: Derks Giovanni


ciao,
per fare quello che dici devi:

 

- creare un database vuoto
- fare un dump del database di V_OLD con mysqldump (se è un database grosso non ce la fai con phpmyadmin)
- controllare che la codifica del file .sql sia corretta (utf8)
- importare con il comando mysql il file .sql nel database di V_NEW
- copiare tutti i file da V_OLD a V_COPY/V_NEW
- modificare il config.php di V_NEW in modo che prenda il database nuovo
- in amministrazione di V_NEW modificare i vari url (generale/admin, lms, cms) nella configurazione in modo che puntino alla nuova cartella

 a questo punto dovresti poter far le prove con V_NEW. Mentre fai le prove nessuno deve poter usare / inserire / modificare contenuti in V_OLD, altrimenti ti troverai con i dati non allineati.

 Quando hai fatto tutte le prove, puoi rinominare V_NEW in V_OLD ovvero metterla in produzione e ripetere il passaggio:

- in amministrazione di V_NEW modificare i vari url (generale/admin, lms, cms) nella configurazione in modo che puntino alla nuova cartella

 se usi l'upload FTP dovrai far anche attenzione ai parametri FTP nel file config.

ciao,
Giovanni.

 
Derks Giovanni

Avatar
Post fatti : 1861
> Profilo
Scritto il : 30/12/2009 09:49 ( più di un mese )
Oggetto : Re: upgrade su una installazione 'ausiliaria'

ciao,

ma prima del punto 7 ti funzionava l'amministrazione di V_COPY? Comunque non ha senso che fai un'installazione in V_COPY e poi cancelli il database.. è sufficiente fare una copia di V_OLD e modificare il file config.php

ciao,
Giovanni.

Docebo Staff
 - Docebo 4 released! -

 
Palletto Pinco

Noavatar
Post fatti : 29
> Profilo
Scritto il : 02/01/2010 18:16 ( più di un mese )
Oggetto : Re: upgrade su una installazione 'ausiliaria'
Si, prima del punto 7 l'amministrazione di V_COPY non dava problemi. Ho anche provato a installare direttamente una 3.6.03 e mi dà 'Configuration error' lo stesso, quindi il problema non è nell'upgrade in sé.
Spulciando il codice, ho trovato che il warning 'Configuration error' è codificato solo nel file doceboCore/index.php, e per solo un paio di casi:


$php_conf = ini_get_all();

$problem = false;

if($php_conf['register_globals']['local_value'])
    $problem = true;

if (version_compare(phpversion(), "5.2.0", ">"))
    if($php_conf['allow_url_include']['local_value'])
        $problem = true;

if($problem && $GLOBALS['current_user']->getUSerLevelId() == '/framework/level/godadmin')
    $GLOBALS['page']->addStart(getInfoUi('Configuration problem - <a href="./index.php?modname=configuration&op=config&of_platform=framework&tab=global&group_sel=server#">Check diagnostic for more information</a>'), 'content');


Nel mio caso, ho ['register_globals']['local_value'] = on, che con la 3.0.5 non dava errore.
Posso mettere register_globals = off tranquillamente? o lascio le cose così e mi tengo il configuration problem?
Mi dici per favore come faccio a mettere register_globals = off solo localmente all'installazione? Devo metterlo in .htaccess nella root directory dell'installazione?

Dal tuo ultimo post mi sembra chiaro che tutto ciò che è necessario fare per replicare un'installazione funzionante -oltre a cambiare il config.php- è la copia dell'intero albero delle directory di tale installazione e la migrazione del DB (quest'ultima se non si vuole che le due installazioni abbiano il DB in comune). Ho voluto metterlo nero su bianco per maggiore chiarezza di chi dovesse trovare utile leggere questo thread. Perché inoltre non scrivere due righe sulla documentazione come troubleshoot per chi dovesse incontrare problemi 'Configuration problem', spiegando che dipende da register_globals o da allow_url_include?

Grazie di tutto,
baci.

P.

Writted by: Derks Giovanni

ciao,

ma prima del punto 7 ti funzionava l'amministrazione di V_COPY? Comunque non ha senso che fai un'installazione in V_COPY e poi cancelli il database.. è sufficiente fare una copia di V_OLD e modificare il file config.php

ciao,
Giovanni.

Messaggio modificato da : palletto69 il : 02/01/2010 18:24
 
Derks Giovanni

Avatar
Post fatti : 1861
> Profilo
Scritto il : 04/01/2010 09:42 ( più di un mese )
Oggetto : Re: upgrade su una installazione 'ausiliaria'

ciao,
ora ho capito a quale messaggio ti riferivi.. Wink

 

il "configuration error" che appare in alto, sotto il menu se non ricordo male, in amministrazione, indica solamente che alcuni parametri del php non sono configurati in modo ottimale.. ad esempio non è bene avere il register_globals ad on.

Però se non puoi modificare quei parametri, puoi anche ignorare l'errore.

ciao,
Giovanni.

Docebo Staff
 - Docebo 4 released! -

 
<< Indietro