CiviCRM: Mise à niveau vers dernière version…

A la suite d’une installation tout à fait correcte, et comme quoi personne n’est parfait, voici qu’un problème (important pour nous français et francophone) survient: les accents, les caractères spéciaux ont tous une forme plus ou moins bizarre….

Il y a un BUG dans l’installateur de la version 4.4.3. Si ce n’est pas votre cas, soit vous avez de la chance, soit vous aviez une ancienne version de CiviCRM et vous avez fait la mise à jour vers la dernière version, la 4.4.3.

Pour ma part, point de chance, j’ai droit au BUG assez désagréable, et qui rend mon utilisation absolument impossible.

Alors je cherche, et je trouve une solution. Je vais refaire une installation complète d’une ancienne version de CiviCRM, la 4.3.8 pour ma part, et ensuite faire la mise à niveau vers la 4.4.3.

Installer CiviCRM est toujours à peu près la même chose, et dans ce cas, aucune différence entre la version 4.3.8 et la 4.4.3.

Par contre, la mise à niveau c’est un peu plus sportif dirons-nous, car là il faut modifier directement des fichiers par exemple.

Je vais essayer de vous donner un guide afin de ne pas vous planter.

Première chose à faire, si vous avez déjà inséré des données dans CiviCRM, faites une sauvegarde de votre base de données. Ces données ne seront pas touchées par le processus de mise à niveau, mais 2 précautions valent mieux qu’une, vous aurez vos données.

Il faut avant d’effectuer la mise à niveau, décharger les modules annexes de CiviCRM mais pas CiviCRM. Pour ce faire, sur la page d’accueil de Drupal, vous cliquez sur « Modules« , vous cliquez sur « Cœur« , vous avez CiviCRM qui apparaît. Décochez tout sauf CiviCRM lui-même:

CiviCRM Param avant Mise à niveau

Cliquez sur « Enregistrer la configuration » en bas de page, et c’est bon pour CiviCRM.

Ensuite cliquez en haut de page sur le menu « Configuration« , cherchez le paragraphe « Développement » et cliquez sur « Mode maintenance« , enfin cochez la case

Drupal Param Mode Maintenance

et enregistrer la configuration. Drupal est désormais inaccessible sauf pour vous, ne partez donc pas de la page.

Vérifiez aussi, toujours dans la configuration de Drupal, dans le paragraphe « Système« , choix « Informations » que CiviCRM n’est pas votre page d’accueil.

Drupal Page Accueil Drupal

Si CiviCRM était ma page d’accueil, alors il y aurait écrit civicrm à la place de node. Ce n’est pas le cas, je peux continuer.

Le facile est fait, passons au plus… « compliqué ».

Il va falloir effacer le répertoire existant de CiviCRM dans /var/www/drupal7/sites/all/modules/ et ensuite recopier le nouveau répertoire à la place, celui qui contient la version 4.4.3 et les fichiers de traductions adéquats.

Lancement d’un terminal, connexion en administrateur avec un sul puis motdepaseeadministrateur.

Nous avons les nouveaux fichiers à copier mais avant nous devons supprimer l’ancien répertoire:

cd /var/www/drupal7/sites/all/modules

rm -R civicrm

cp -R /home/christophe/Téléchargements/civicrm .

On se place dans le répertoire des modules de Drupal, suppression du répertoire civicrm puis copie des nouveaux fichiers que nous avions extraits dans notre dossier Téléchargements (le chemin donné ici est celui de mon compte sur ma machine, utilisez bien sur votre chemin).

cd ../../default

ls

Nous obtenons la liste des fichiers, dont 1 qui nous intéresse au plus haut point, il s’agit du fichier civicrm.settings.php.

Nous allons le copier pour en faire un sauvegarde:

cp civicrm.settings.php civicrm.settings.php.old

Et hop le tour est joué, nous avons notre copie de sauvegarde au cas où il y aurait une mauvaise manipulation.

Nous devons maintenant modifier le contenu du fichier.

Ouvrez le fichier à partir du terminal de commande. Pour ma part, c’est avec mousepad, mais vous pouvez utiliser gedit ou leafpad, un éditeur de texte disponible:

mousepad civicrm.settings.php

Le fichier s’ouvre dans l’éditeur de texte. Faites « CTRL+F » afin de chercher la chaîne de caractère suivante « 126« , vous devez trouver ceci:

* @see http://civicrm.org/node/126

et juste en dessous ceci:

 */

/**
 * If you have a memcache server configured and want CiviCRM to make use of it,
 * set the following constant.  You should only set this once you have your memcache
 * server up and working, because CiviCRM will not start up if your server is
 * unavailable on the host and port that you specify. By default CiviCRM will use
 * an in-memory array cache
 
  To use the php extension memcache  use a value of ‘Memcache’

 * To use the php extension memcached use a value of ‘Memcached’
 * To use the php extension apc       use a value of ‘APCcache’
 * To not use any caching (not recommended), use a value of ‘NoCache’
 
 /

define( ‘CIVICRM_DB_CACHE_CLASS’, ‘ArrayCache’ );

/**
 * Change this to the IP address of your cache server if it is not on the
 * same machine (Unix).
 */
define( ‘CIVICRM_DB_CACHE_HOST’, ‘localhost’ );

/**
 * Change this if you are not using the standard port for memcache or apccache (11211)
 */
define( ‘CIVICRM_DB_CACHE_PORT’, 11211 );

/**
 * Items in cache will expire after the number of seconds specified here.
 * Default value is 3600 (i.e., after an hour)
 */
define( ‘CIVICRM_DB_CACHE_TIMEOUT’, 3600 );

/**
 * If you are sharing the same memcache instance with more than one CiviCRM
 * database, you will need to set a different value for the following argument
 * so that each copy of CiviCRM will not interfere with other copies.  If you only
 * have one copy of CiviCRM, you may leave this set to  ».  A good value for
 * this if you have two servers might be ‘server1_’ for the first server, and
 * ‘server2_’ for the second server.
 */
define( ‘CIVICRM_MEMCACHE_PREFIX’,  » );

Il va falloir remplacer tout ce petit monde par ceci:

 * @see http://civicrm.org/node/126
 */

/
 * If you have a memcache server configured and want CiviCRM to make use of it,
 * set the following constant.  You should only set this once you have your memcache
 * server up and working, because CiviCRM will not start up if your server is
 * unavailable on the host and port that you specify. By default CiviCRM will use
 * an in-memory array cache
 
 
To use the php extension memcache  use a value of ‘Memcache’
 * To use the php extension memcached use a value of ‘Memcached’
 * To use the php extension apc       use a value of ‘APCcache’
 * To not use any caching (not recommended), use a value of ‘NoCache’
 
 
/
/

 * If you have a memcache server configured and want CiviCRM to make use of it,
 * set the following to 1.  You should only set this once you have your memcache
 * server up and working, because CiviCRM will not start up if your server is
 * unavailable on the host and port that you specify.
 /
define( ‘CIVICRM_USE_MEMCACHE’, 0 );
 
/
 * Change this to the IP address of your memcache server if it is not on the
 * same machine (Unix).
 */
define( ‘CIVICRM_MEMCACHE_HOST’, ‘localhost’ );
 
/

 
Change this if you are not using the standard port for memcache (11211)
 /
define( ‘CIVICRM_MEMCACHE_PORT’, 11211 );
 
/
 * Items in cache will expire after the number of seconds specified here.
 * Default value is 3600 (i.e., after an hour)
 */
define( ‘CIVICRM_MEMCACHE_TIMEOUT’, 3600 );
 
/

 
If you are sharing the same memcache instance with more than one CiviCRM
 * database, you will need to set a different value for the following argument
 * so that each copy of CiviCRM will not interfere with other copies.  If you only
 * have one copy of CiviCRM, you may leave this set to  ».  A good value for
 * this if you have two servers might be ‘server1_’ for the first server, and
 * ‘server2_’ for the second server.
 */
define( ‘CIVICRM_MEMCACHE_PREFIX’,  » );

et finalement vérifier, tout à la fin du fichier, que vous avez bien ces lignes:

require_once ‘CRM/Core/ClassLoader.php’;
CRM_Core_ClassLoader::singleton()->register();

et les rajouter si besoin.

Une fois les modifications effectuées, faites menu « fichier, puis enregistrer » ou « CTRL+S » et quitter l’éditeur de texte.

Nous sommes enfin prêt à faire la mise à niveau, vous pouvez quitter votre terminal de commande. Votre navigateur étant toujours ouvert, vous êtes sur Drupal, tapez ceci:

http://<your_drupal_home>/?q=civicrm/upgrade&reset=1

<your_drupal_home> contient le chemin vers votre Drupal, pour moi ce serait donc

http://localhost/drupa7/?q=civicrm/upgrade&reset=1

Une fenêtre apparaît, vous êtes prêt, vous n’avez plus qu’à cliquer pour appliquer la mise à jour, et attendre la fin des mises à niveau.

Une fois la mise à niveau effectuée, avant quoique ce soit, cliquez sur le lien vous permettant de remettre votre Drupal en ligne, c’est à dire hors du mode maintenance. Pour ce faire, le lien vous ramène dans l’écran du mode de maintenance, il suffit de décocher et d’enregistrer.

Allez ensuite sur la page d’accueil de Drupal, vous avez le lien vers CiviCRM, et là, ça fonctionne.

Vous allez voir rapidement que les problèmes avec les symboles (€ par exemple), les caractères spéciaux ou les accents, c’est terminé.

Vous avez donc maintenant une version 4.4.3 (dernière version) de CiviCRM pleinement fonctionnelle.

Bonne mise à niveau…

3 réflexions au sujet de “CiviCRM: Mise à niveau vers dernière version…”

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.