Outils personnels
Vous êtes ici : Accueil GNU / Linux Debian Installer le CRM vTiger sur Debian
Actions sur le document
  • Send this page to somebody
  • Print this page
  • Add Bookmarklet

Installer le CRM vTiger sur Debian

Par Pierre-Yves Landuré - Dernière modification 23/03/2011 13:54

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.

Ce guide a été testé sur :

  • Debian 6.0 Squeeze

Pré-requis

Ce guide nécessite un serveur MySQL disposant du script mysql-tools disponible dans le guide Installer et configurer MySQL sur Debian.

Ce guide nécessite un serveur HTTP avec support du PHP disposant au choix d'un des scripts suivant :

Paramètres

Renseignez le nom de domaine ou sera disponible l'application :

DOMAIN="crm.domaine-exemple.fr"

Renseignez le nom d'hôte de votre serveur MySQL (si vous ne savez pas de quoi il s'agit, ne modifiez pas cette valeur) :

MYSQL_HOST="localhost"

Si votre serveur MySQL n'est pas local, ce guide effectuera une connexion SSH pour y créer la base de données.

Installation

Installez les logiciels et modules PHP nécessaires à l'installation et au bon fonctionnement de l'application :

command apt-get install php5-mysql php5-imap php5-gd unzip

Augmentez aussi la limite mémoire de PHP pour vTiger :

MEMORY_LIMIT="64M"
if [ -e "/etc/php5/conf.d/memory-limit.ini" ]; then
  CURRENT_MEMORY_LIMIT=$(command grep 'memory_limit' /etc/php5/conf.d/memory-limit.ini \
        | command cut --delimiter='=' --fields='2-' \
        | command sed -e 's/^[ \t]*//g')
  if [ "$(echo "${CURRENT_MEMORY_LIMIT}" | command sed -e 's/M$//g')" \
       -gt "$(echo "${MEMORY_LIMIT}" | command sed -e 's/M$//g')" ]; then
    MEMORY_LIMIT="${CURRENT_MEMORY_LIMIT}"
  fi
fi
echo "; Memory limit for PHP scripts.
memory_limit = ${MEMORY_LIMIT}" > "/etc/php5/conf.d/memory-limit.ini"

Ajoutez les paramètres de configuration PHP adaptés à vTiger:

echo "; vTiger PHP configuration.
max_execution_time = 600
output_buffering = On
post_max_size = 18M
upload_max_filesize = 10M
allow_call_time_pass_reference = On
suhosin.memory_limit = 1048576000
suhosin.request.max_value_length = 1000000
; Unsecure vtiger recommendations.
; display_errors = On
; error_reporting = E_WARNING & ~E_NOTICE & ~E_DEPRECATED
; log_errors = Off" > "/etc/php5/conf.d/vtiger.ini"
Redémarrez votre serveur HTTP :
command test -x "/etc/init.d/lighttpd" && /etc/init.d/lighttpd force-reload
command test -x "/etc/init.d/apache2" && /etc/init.d/apache2 force-reload

Obtenez l'URL de la dernière version de l'application :

SOURCE_URL="$(command wget --quiet --output-document=- "http://www.vtiger.com/" \
    | command grep "Download Source" \
    | command sed -e 's/.*href="\(.*\)">.*/\1/g')"

Téléchargez les sources de l'application :

command wget --no-check-certificate "${SOURCE_URL}" \
    --output-document="/tmp/vtigercrm.tar.gz"

Décompressez l'archive obtenue :

command tar --directory="/tmp" -xzf "/tmp/vtigercrm.tar.gz"

Placez le dossier obtenu à l'emplacement final :

command mkdir --parent "/var/lib/vtigercrm"
command mv "/tmp/vtigercrm" "/var/lib/vtigercrm/${DOMAIN}"

Supprimez l'archive téléchargée :

command rm "/tmp/vtigercrm.tar.gz"

Corrigez les permissions par défaut des sources de l'application :

command chown -R root:root "/var/lib/vtigercrm/${DOMAIN}"
command chmod -R go-w "/var/lib/vtigercrm/${DOMAIN}"
WRITEABLE_FILES="config.inc.php
install.php
install
tabdata.php
parent_tabdata.php
storage
user_privileges
cron/modules
test/vtlib
test/vtlib/HTML
test/wordtemplatedownload
test/product
test/user
test/contact
test/logo
backup
Smarty/templates/modules
cache
cache/images
cache/import
Smarty/cache
Smarty/templates_c
logs"
for FILE in ${WRITEABLE_FILES}; do
  command chown www-data:www-data "/var/lib/vtigercrm/${DOMAIN}/${FILE}"
done
command chown -R www-data:www-data "/var/lib/vtigercrm/${DOMAIN}/modules"
command chown www-data:www-data "/var/lib/vtigercrm/${DOMAIN}/include/js"
command chown www-data:www-data "/var/lib/vtigercrm/${DOMAIN}/include/language"

Mettez en place le fichier .htaccess :

command mv "/var/lib/vtigercrm/${DOMAIN}/htaccess.txt" "/var/lib/vtigercrm/${DOMAIN}/.htaccess"

Création de la base de données

Créez la base de données :

if [ "${MYSQL_HOST}" = "localhost" ]; then
  MYSQL_PARAMS=$(command mysql-tools create-domain-db "${DOMAIN}")
else
  command echo "Saisissez le mot de passe de l'utilisateur root MySQL :"
  command read PASSWORD
  MYSQL_PARAMS=$(command ssh "root@${MYSQL_HOST}" "command mysql-tools create-domain-db '${DOMAIN}' '$(command cat /etc/mailname)' '${PASSWORD}'")
fi

Récupérez les paramètres de la nouvelle base de données, et notez les précieusement, vous les utiliserez durant la procédure de configuration de l'application :

echo "${MYSQL_PARAMS}"

Mise en place de l'hôte virtuel

Créez la configuration du serveur HTTP pour votre domaine :

if [ -x "/usr/bin/a2tools" ]; then
  command a2tools add-vhost "${DOMAIN}" "/var/lib/vtigercrm/${DOMAIN}/" "Options"
fi
if [ -x "/usr/bin/lighty-tools" ]; then
  command lighty-tools add-vhost "${DOMAIN}" "/var/lib/vtigercrm/${DOMAIN}/"
fi

Important : les commandes ci-dessus ne mettent pas en place un hôte HTTPS. Je vous conseille de les adapter afin que votre CRM ne soit visible que sur une connexion HTTPS.

Votre installation de vTiger devrait maintenant être disponible sur le nom de domaine que vous avez spécifié.

Configuration

Pour configurer l'application, visitez l'adresse fournie par la commande :

echo "http://${DOMAIN}/install.php"

Important : lors des vérification de "pré-installation", vous constaterez probablement que je ne respecte pas les paramètres recommandés pour vTiger. Je trouve que ces recommandations posent un risque du point de vue de la sécurité, et je les ai donc ignoré. Libre à vous de mettre à jour le fichier /etc/php5/conf.d/vtiger.ini pour intégrer ces recommandations.

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...

Sécurisation de l'installation

Une fois la configuration terminée, nous allons faire un peu de ménage et supprimer les fichiers inutiles:

command rm -r "/var/lib/vtigercrm/${DOMAIN}/install"
command rm "/var/lib/vtigercrm/${DOMAIN}/install.php"
command rm /var/lib/vtigercrm/${DOMAIN}/*.txt

Nous protégeons le fichier de configuration:

command chown root:root "/var/lib/vtigercrm/${DOMAIN}/config.inc.php"

vTiger en Français par défaut

Si l'anglais n'est pas votre langue native (ce qui est hautement probable si vous lisez cette page), utilisez cette commande pour faire du français la langue par défaut :

command sed -i -e "s/^\(.*default_language.*'\).*\('.*\)/\1fr_fr\2/" \
         "/var/lib/vtigercrm/${DOMAIN}/config.inc.php"

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

Une fois Backup Manager installé, vous pouvez configurer la sauvegarde des fichiers de vTiger avec les commandes suivantes:

command update-bm-folders add /var/lib/vtigercrm/${DOMAIN}

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.

Mise à jour

Renseignez le nom de domaine ou est disponible l'application que vous souhaitez mettre à jour :

DOMAIN="crm.domaine-exemple.fr"

Obtenez l'URL de la dernière version de l'application :

SOURCE_URL="$(command wget --quiet --output-document=- "http://www.vtiger.com/" \
    | command grep "Download Source" \
    | command sed -e 's/.*href="\(.*\)">.*/\1/g')"

Téléchargez les sources de l'application :

command wget --no-check-certificate "${SOURCE_URL}" \
    --output-document="/tmp/vtigercrm.tar.gz"

Décompressez l'archive obtenue :

command tar --directory="/tmp" -xzf "/tmp/vtigercrm.tar.gz"

Mettez à jour les sources de votre application :

command rm "/tmp/vtigercrm/config.inc.php"
if [ -d "/var/lib/vtigercrm/${DOMAIN}" ]; then
  command cp -r "/tmp/vtigercrm/"* "/var/lib/vtigercrm/${DOMAIN}/"
fi

Supprimez l'archive téléchargée :

command rm -r "/tmp/vtigercrm"
command rm "/tmp/vtigercrm.tar.gz"

Corrigez les permissions par défaut des sources de l'application :

command chown -R root:root "/var/lib/vtigercrm/${DOMAIN}"
command chmod -R go-w "/var/lib/vtigercrm/${DOMAIN}"
WRITEABLE_FILES="config.inc.php
install.php
install
tabdata.php
parent_tabdata.php
storage
user_privileges
cron/modules
test/vtlib
test/vtlib/HTML
test/wordtemplatedownload
test/product
test/user
test/contact
test/logo
backup
Smarty/templates/modules
cache
cache/images
cache/import
Smarty/cache
Smarty/templates_c
logs"
for FILE in ${WRITEABLE_FILES}; do
  command chown www-data:www-data "/var/lib/vtigercrm/${DOMAIN}/${FILE}"
done
command chown -R www-data:www-data "/var/lib/vtigercrm/${DOMAIN}/modules"
command chown www-data:www-data "/var/lib/vtigercrm/${DOMAIN}/include/js"
command chown www-data:www-data "/var/lib/vtigercrm/${DOMAIN}/include/language"

Mettez à jour le fichier .htaccess :

command mv "/var/lib/vtigercrm/${DOMAIN}/htaccess.txt" "/var/lib/vtigercrm/${DOMAIN}/.htaccess"

Migration vers la nouvelle version

Pour effectuer la migration de l'application vers sa nouvelle version, visitez l'adresse fournie par la commande :

echo "http://${DOMAIN}/install.php"

Important : lors des vérification de "pré-installation", vous constaterez probablement que je ne respecte pas les paramètres recommandés pour vTiger. Je trouve que ces recommandations posent un risque du point de vue de la sécurité, et je les ai donc ignoré. Libre à vous de mettre à jour le fichier /etc/php5/conf.d/vtiger.ini pour intégrer ces recommandations.

Sécurisation de l'installation

Une fois la migration terminée, nous allons faire un peu de ménage et supprimer les fichiers inutiles:

command rm -r "/var/lib/vtigercrm/${DOMAIN}/install"
command rm "/var/lib/vtigercrm/${DOMAIN}/install.php"
command rm /var/lib/vtigercrm/${DOMAIN}/*.txt

Nous protégeons le fichier de configuration:

command chown root:root "/var/lib/vtigercrm/${DOMAIN}/config.inc.php"

Remerciements

  • Merci aux développeurs de vTiger.

Excellent comme d'habitude

Posté par tesnux le 11/12/2008 17:25
Comme le dit le sujet du commentaire "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


Je confirme, très bon tuto

Posté par Kiwis le 18/05/2009 16:42
Salut,

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.

Excellent

Posté par apox le 18/06/2009 16:50
Très bon tuto, merci à toi!

Excellent tuto

Posté par sm@rt le 13/03/2010 00:20
Merci pour ce tuto c'est du bon travail !

Excellence de ce tuto

Posté par Daniel le 22/09/2012 23:19
Je tenais à vous remercier pour la qualité de ce tuto. Je l'ai suivi et adapté à mon arborescence. L'installation a fonctionné dès la première fois et sans encombre. Cela arrive très rarement d'où la qualité exceptionnelle de ce tuto

The TUTO

Posté par Hugoboss972 le 15/12/2012 21:51
Je confirme la qualité exceptionnel de ce tuto, combiné avec le tuto "Installing VTiger on Debian Lenny", on arrive à la réussite du premier coup. Merci du fond du coeur

BlogBang
Navigation
 

Réalisé avec Plone

Ce site respecte les normes suivantes :

Wikio