Installer le CRM vTiger sur Debian 4.0 Etch
vTiger est un CRM (cad. Client Relation Management) libre et gratuit écrit en PHP / MySQL. Bien que son rythme de développement soit plutôt lent, il dispose de nombreuses fonctionnalités. C'est un bon outil qui vous évitera l'investissement dans un CRM propriétaire. Ce guide vous facilite son installation sur Debian 4.0 Etch.
Prérequis
Server HTTP
En premier lieu, il vous faut un serveur HTTP avec support du PHP. Vous pouvez par exemple utiliser Lighttpd comme décrit dans mon guide Installer Lighttpd et PHP 5 sur Debian 4.0 Etch.
Nous installons en plus les modules nécessaires au bon fonctionnement de vTiger :
/usr/bin/apt-get install php5-mysql php5-imap php5-gd unzip
Nous modifions la configuration de PHP pour qu'elle soit adaptée à vTiger:
- Pour LigHTTPd:
/bin/sed -i -e 's/max_execution_time = [^;]*/max_execution_time = 600/' \
-e 's/output_buffering = .*/output_buffering = On/' \
-e 's/memory_limit = [^;]*/memory_limit = 64M/' \
-e 's/post_max_size = .*/post_max_size = 18M/' \
-e 's/upload_max_filesize = .*/upload_max_filesize = 10M/' \
/etc/php5/cgi/php.ini - Pour Apache 2:
/bin/sed -i -e 's/max_execution_time = [^;]*/max_execution_time = 600/' \
-e 's/output_buffering = .*/output_buffering = On/' \
-e 's/memory_limit = [^;]*/memory_limit = 64M/' \
-e 's/post_max_size = .*/post_max_size = 18M/' \
-e 's/upload_max_filesize = .*/upload_max_filesize = 10M/' \
/etc/php5/apache2/php.ini
N'oubliez pas de redémarrer votre serveur HTTP. Par exemple, pour LigHTTPd:
/etc/init.d/lighttpd force-reload
Base de données MySQL
Vous devez créer une base de donnée VTIGERCRM pour votre installation. Pour ce faire, vous pouvez suivre mon guide MySQL sur Debian 4.0 Etch.
Une fois la base de donnée créée, nous plaçons une valeur par défaut pour le nom d'hôte du serveur de la base de données:
if [ -z "$MYSQL_HOST" ]; then
MYSQL_HOST=localhost
fi
Attention : Si vous avez suivi mon guide, vous pouvez passer ces lignes de commandes, sinon, remplacer les informations en gras par celles correspondant à votre base de données MySQL :
MYSQL_HOST=localhost
MYSQL_DB=VTIGERCRM
MYSQL_USERNAME=vtigercrm
MYSQL_USERPWD=vtigercrm_password
Installation
Vous devez télécharger la dernière version de vTiger. Pour ce faire, renseignez la version que vous souhaitez télécharger :
VERSION=5.0.4
Choisissez le nom de votre instance vTiger (cad. le nom du dossier créé dans /opt et contenant l'installation de vTiger. Ce paramètre permet d'installer plusieurs vTiger sur un même serveur en suivant ce guide) :
VTIGER_NAME=vtigercrm
Lancez le téléchargement :
/usr/bin/wget http://garr.dl.sourceforge.net/sourceforge/vtigercrm/vtigercrm-${VERSION}.tar.gz \
--output-document=/tmp/vtigercrm-${VERSION}.tar.gz
Une fois le téléchargement terminé, décompressez le fichier :
/bin/tar --directory=/tmp -xzf /tmp/vtigercrm-${VERSION}.tar.gz
Et placez le à l'emplacement adéquat :
/bin/mv /tmp/vtigercrm /opt/${VTIGER_NAME}
Nous allons placer les fichiers pouvant être modifié par le server web (dossiers uploads, themes, etc...) dans le dossier (ou la partition) /var qui est destinée à contenir les éléments "variables" du système:
/bin/mkdir --parent /var/lib/vtigercrm/${VTIGER_NAME}
/bin/mkdir --parent /var/lib/vtigercrm/${VTIGER_NAME}/Smarty
/bin/mkdir --parent /var/lib/vtigercrm/${VTIGER_NAME}/modules/Emails
/bin/mkdir --parent /var/lib/vtigercrm/${VTIGER_NAME}/modules/Webmails
/bin/mkdir --parent /var/lib/vtigercrm/${VTIGER_NAME}/test
/bin/mv /opt/${VTIGER_NAME}/cache /var/lib/vtigercrm/${VTIGER_NAME}
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/cache /opt/${VTIGER_NAME}/
/bin/mv /opt/${VTIGER_NAME}/storage /var/lib/vtigercrm/${VTIGER_NAME}
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/storage /opt/${VTIGER_NAME}/
/bin/mv /opt/${VTIGER_NAME}/logs /var/lib/vtigercrm/${VTIGER_NAME}
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/logs /opt/${VTIGER_NAME}/
/bin/mv /opt/${VTIGER_NAME}/tabdata.php /var/lib/vtigercrm/${VTIGER_NAME}
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/tabdata.php /opt/${VTIGER_NAME}/
/bin/mv /opt/${VTIGER_NAME}/parent_tabdata.php /var/lib/vtigercrm/${VTIGER_NAME}
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/parent_tabdata.php /opt/${VTIGER_NAME}/
/bin/mv /opt/${VTIGER_NAME}/user_privileges /var/lib/vtigercrm/${VTIGER_NAME}
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/user_privileges /opt/${VTIGER_NAME}/
/bin/mv /opt/${VTIGER_NAME}/Smarty/cache /var/lib/vtigercrm/${VTIGER_NAME}/Smarty
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/Smarty/cache /opt/${VTIGER_NAME}/Smarty/
/bin/mv /opt/${VTIGER_NAME}/Smarty/templates_c /var/lib/vtigercrm/${VTIGER_NAME}/Smarty
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/Smarty/templates_c /opt/${VTIGER_NAME}/Smarty/
/bin/mv /opt/${VTIGER_NAME}/modules/Emails/templates /var/lib/vtigercrm/${VTIGER_NAME}/modules/Emails
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/modules/Emails/templates /opt/${VTIGER_NAME}/modules/Emails/
/bin/mv /opt/${VTIGER_NAME}/modules/Webmails/tmp /var/lib/vtigercrm/${VTIGER_NAME}/modules/Webmails
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/modules/Webmails/tmp /opt/${VTIGER_NAME}/modules/Webmails/
/bin/mv /opt/${VTIGER_NAME}/test/wordtemplatedownload /var/lib/vtigercrm/${VTIGER_NAME}/test
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/test/wordtemplatedownload /opt/${VTIGER_NAME}/test/
/bin/mv /opt/${VTIGER_NAME}/test/product /var/lib/vtigercrm/${VTIGER_NAME}/test
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/test/product /opt/${VTIGER_NAME}/test/
/bin/mv /opt/${VTIGER_NAME}/test/user /var/lib/vtigercrm/${VTIGER_NAME}/test
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/test/user /opt/${VTIGER_NAME}/test/
/bin/mv /opt/${VTIGER_NAME}/test/contact /var/lib/vtigercrm/${VTIGER_NAME}/test
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/test/contact /opt/${VTIGER_NAME}/test/
/bin/mv /opt/${VTIGER_NAME}/test/logo /var/lib/vtigercrm/${VTIGER_NAME}/test
/bin/ln -s /var/lib/vtigercrm/${VTIGER_NAME}/test/logo /opt/${VTIGER_NAME}/test/
Nous mettons en place les permissions adéquates:
/bin/chown -R root:root /opt/${VTIGER_NAME}
/bin/chmod -R o-w /opt/${VTIGER_NAME}
/bin/chown -R www-data:www-data /var/lib/vtigercrm/${VTIGER_NAME}
/bin/chown -R www-data:www-data /opt/${VTIGER_NAME}/install
/bin/chown -R www-data:www-data /opt/${VTIGER_NAME}/install.php
/bin/chown -R www-data:www-data /opt/${VTIGER_NAME}/config.inc.php
Nous insérons la configuration de la base de données dans le fichier de configuration de vTiger:
/bin/echo "<?php
include('vtigerversion.php');
\$dbconfig['db_server'] = '$MYSQL_HOST';
\$dbconfig['db_port'] = ':3306';
\$dbconfig['db_username'] = '$MYSQL_USERNAME';
\$dbconfig['db_password'] = '$MYSQL_USERPWD';
\$dbconfig['db_name'] = '$MYSQL_DB';
\$dbconfig['db_type'] = 'mysql';" \
| /usr/bin/tee /opt/${VTIGER_NAME}/config.inc.php
Et nous créons un lien symbolique dans le dossier /var/www:
/bin/ln -s /opt/${VTIGER_NAME} /var/www/
Une fois ceci fait, vous pouvez supprimer l'archive téléchargée :
/bin/rm /tmp/vtigercrm-${VERSION}.tar.gz
Patch de sécurité pour la version 5.0.4
Dans le cas où vous avez installé la version 5.0.4 de vTiger (il s'agit de la dernière version à l'heure ou j'écris ce guide), il est nécessaire d'appliquer un correctif de sécurité qui ferme quelques failles importantes. En premier lieu, téléchargez le patch de sécurité:
/usr/bin/wget http://heanet.dl.sourceforge.net/sourceforge/vtigercrm/VtigerCRM504_Security_Patch.zip \
--output-document=/tmp/VtigerCRM504_Security_Patch.zip
Une fois ceci fait, décompressez le patch dans votre dossier vTiger pour l'installer:
/usr/bin/unzip -o /tmp/VtigerCRM504_Security_Patch.zip -d /opt/${VTIGER_NAME}
Vous pouvez maintenant supprimer l'archive du patch:
/bin/rm /tmp/VtigerCRM504_Security_Patch.zip
Configuration
Nous devons maintenant configurer Tiny Tiny RSS. Pour ce faire, visitez l'adresse suivante:
http://localhost/vtigercrm/install.php
En renseignez les paramètres qui vous sont demandés: Identifiant et mot de passe de l'administrateur, monnaie que vous utilisez (Euro pour la plupart d'entre vous :), etc.
Remarque: Il est inutile de modifier les paramètres de connection à la base de données. Les paramètres indiqués par défaut sont corrects grâce à la petite astuce que nous avons utilisé précédement.
Une fois la configuration terminée, nous allons faire un peu de ménage et supprimer les fichiers inutiles:
/bin/rm -r /opt/${VTIGER_NAME}/install
/bin/rm /opt/${VTIGER_NAME}/install.php
/bin/rm /opt/${VTIGER_NAME}/LICENSE_AGREEMENT.txt
/bin/rm /opt/${VTIGER_NAME}/LICENSE.txt
/bin/rm /opt/${VTIGER_NAME}/Copyright.txt
/bin/rm /opt/${VTIGER_NAME}/DEPENDENCIES.txt
/bin/rm /opt/${VTIGER_NAME}/README.txt
Nous protégeons le fichier de configuration:
/bin/chown root:root /opt/${VTIGER_NAME}/config.inc.php
Et nous désactiveons le listing du contenu des dossiers pour ceux d'entre-vous qui utilisent Apache:
/bin/mv /opt/${VTIGER_NAME}/htaccess.txt /opt/${VTIGER_NAME}/.htaccess
Pour aller plus loin
Traduire vTiger en Français
Si l'anglais n'est pas votre langue native (ce qui est hautement probable si vous lisez cette page), voici la procédure pour traduire vTiger en Français. En premier lieu, téléchargez la traduction en Français:
/usr/bin/wget http://forge.vtiger.com/frs/download.php/575/LanguagePack_fr_504_1-1.zip \
--output-document=/tmp/LanguagePack_fr_504_1-1.zip
Appliquez le patch:
/usr/bin/unzip -o /tmp/LanguagePack_fr_504_1-1.zip -d /opt/${VTIGER_NAME}
Configurez vTiger pour prendre en compte ce path:
/bin/sed -i -e "s/\(\$languages[ ]*=[ ]*array(\)\(.*);\)/\1'fr_fr' => 'Fran\çais', \2/i" \
/opt/${VTIGER_NAME}/config.inc.php
Remarque: Si vous souhaitez que le Français soit la langue par défaut, utilisez:
/bin/sed -i -e "s/\(\$default_language[ ]*=\).*/\1 'fr_fr';/i" \
/opt/${VTIGER_NAME}/config.inc.php
Vous pouvez maintenant nettoyer votre installation de vTiger:
rm /opt/${VTIGER_NAME}/Readme_packfr.txt
Et supprimer l'archive du pack de langues:
/bin/rm /tmp/LanguagePack_fr_504_1-1.zip
Sauvegardes
Pour sauvegarder votre installation vTiger, élément très important puisque les données d'un CRM sont des données sensibles, je vous conseille d'utiliser Backup Manager. Pour l'installer, vous pouvez suivre mon guide:
Installer et configurer Backup Manager sur Debian 4.0 Etch
Une fois Backup Manager installé, vous pouvez configurer la sauvegarde des fichiers de vTiger avec les commandes suivantes:
/usr/bin/update-bm-folders add /opt/${VTIGER_NAME}
/usr/bin/update-bm-folders add /var/lib/vtigercrm/${VTIGER_NAME}
Important: Sauvegarder les fichiers ne suffit pas ! Il faut aussi sauvegarder la base de données. La procédure pour ce faire est disponible dans mon article MySQL sur Debian 4.0 Etch.
Remerciements
- Merci aux développeurs de vTiger.
Je confirme, très bon tuto
Je confirme de la qualité de ce tuto. Je me suis bien appuyé dessus et je ne le regrette pas.
Un merci à l'auteur de l'article.
Dorigo consultants















Excellent comme d'habitude
merci encore pour ta prose qui est souvent d'un grand secours.
Pourrais tu rajouter comme tu sais si bien le faire, grâce à une expression régulière,
le changement de l'encodage des pages.
En effet la variable $default_charset du config.inc.php est par defaut = 'ISO-8859-1'.
Merci encore pour ton travail