Vous êtes ici : Accueil / Debian GNU/Linux / Applications Web / Gestion d'entreprise / Installer l'outil de gestion de relation client SugarCRM CE sur Debian

Installer l'outil de gestion de relation client SugarCRM CE sur Debian

Par Pierre-Yves Landuré Dernière modification 13/03/2017 15:49

SugarCRM est un outil vous aidant à organiser vos relations clients, votre facturation, et plus généralement la gestion de votre entreprise. Cet article propose une méthode d'installation de cette application Web sur Debian.

Ce guide est testé sur:

  • Debian 8.0 Jessie

Ce guide est testé avec ces versions de SugarCRM:

  • 6.5.25 Community Edition

Prérequis

Ce guide nécessite:

Paramètres

Renseignez le nom de domaine où sera disponible l'application:

domain="sugarcrm.domain.com"

Renseignez le nom d'hôte du serveur MySQL:

mysqlHost="localhost"

Si le serveur MySQL n'est pas local, l'outil mysql-tools essaiera de s'y connecter avec le client MySQL, ou, en cas d'échec de connexion, via une connexion SSH.

Renseignez le nom du certificat SSL à utiliser pour chiffrer l'application avec HTTPS (créé via la procédure Créer un certificat SSL / TLS sur Debian ou via Let's Encrypt) (optionnel, recommandé):

sslKeyName="auto"

Installation

Détectez le proxy de commande (command ou sudo):

cmdProxy='command'
command type -f 'sudo' &>'/dev/null' && cmdProxy='sudo'

Déterminez le chemin d'installation:

installPath="/var/lib/sugarcrm/${domain}"

Créez les dossiers:

${cmdProxy} mkdir --parent "${installPath}"

Préparation de l'environnement

Installez les logiciels nécessaires:

${cmdProxy} apt-get install php5-mysql php5-imap php5-gd php5-json unzip zip

Adaptez la configuration PHP aux besoins de l'outil:

${cmdProxy} php-tools --for="sugarcrm" --set "upload_max_filesize" "30M"
${cmdProxy} php-tools --for="sugarcrm" --set "post_max_size" "30M"

Rechargez la configuration de PHP:

${cmdProxy} php-tools --reload

Mise en place de l'application

Obtenez les sources de la dernière version du logiciel à l'aide de sf-downloader:

command wget 'https://raw.github.com/biapy/howto.biapy.com/master/various/sf-downloader' \
--quiet --no-check-certificate --output-document='/tmp/sf-downloader'
command chmod +x '/tmp/sf-downloader'
SOURCE="$(${cmdProxy} /tmp/sf-downloader \
    --output-directory="${installPath}" \
    --strip-components=1 \
    --zip 'sugarcrm' 'SugarCE-VERSION.zip')"

Ajustez les permissions:

${cmdProxy} chown -R root:root "${installPath}"
${cmdProxy} chmod -R o-w "${installPath}"

Autorisez la modification par le serveur des caches et emplacements de données:

while read writeablePath; do
${cmdProxy} chown -R www-data:www-data "${installPath}/${writeablePath}"
done <<< "config.php
config_override.php
.htaccess
sugarcrm.log
cache
custom
data
modules
upload"

Configurez les scripts Cron:

echo " Cron rules for SugarCRM at ${domain}
* * * * * www-data cd '${installPath}'; php -f cron.php > /dev/null 2>&1 " \
| ${cmdProxy} tee "/etc/cron.d/sugarcrm-${domain//\./-}"

Rechargez la configuration cron:

${cmdProxy} service cron reload

Création de la base de données

Créez la base de données:

command mysql-tools --server="${mysqlHost}" --with-ssh \
--auto-hosts --db-prefix="sugarcrm" --create "${domain//[\.-]/_}"

Notez les informations de connexion fournies par la commande.

Traduction en français

Créez le dossier des packs de langues :

${cmdProxy} mkdir -p ${installPath}/upload/upgrades/langpack

Téléchargez l'archive de la traduction :

command wget "https://github.com/synolia/SynoSugarCRMFrenchLanguagePack/archive/master.zip" --output-document="/tmp/sugarcrm-fr_FR.zip"

Décompressez l'archive :

command unzip -d "/tmp" "/tmp/sugarcrm-fr_FR.zip"

Placez-vous dans le dossier obtenu:

command pushd "/tmp/SynoSugarCRMFrenchLanguagePack-master/"

Créez le pack de langue français:

command zip -r 'fr_FR.zip' 'include/' 'modules/' 'manifest.php'

Installez le pack de langue:

${cmdProxy} cp -r "/tmp/SynoSugarCRMFrenchLanguagePack-master/fr_FR.zip" "${installPath}/upload/upgrades/langpack"
${cmdProxy} cp -r "/tmp/SynoSugarCRMFrenchLanguagePack-master/manifest.php" "${installPath}/upload/upgrades/langpack/fr_FR-manifest.php"

Ajustez les permissions:

${cmdProxy} chown -R www-data:www-data "${installPath}/upload"

Supprimez l'archive :

command popd
command rm -r "/tmp/sugarcrm-fr_FR.zip" "/tmp/SynoSugarCRMFrenchLanguagePack-master"

L'installation du pack de langue est disponible dans la page "Module Loader" de l'interface d'administration de SugarCRM.

Mise en place de l'hôte virtuel

Créez la configuration du serveur HTTP:

if [[ -n "${sslKeyName}" && ( -e "/etc/ssl/private/${sslKeyName}.key" || "${sslKeyName}" = 'auto' ) ]]; then
  ${cmdProxy} a2tools --ssl="${sslKeyName}" --overrides='All' "${domain}" "${installPath}"
else
${cmdProxy} a2tools --overrides='All' "${domain}" "${installPath}"
fi

L'outil est maintenant disponible sur le domaine spécifié en HTTP ou HTTPS si possible.

Sauvegardes

Sauvegardez l'installation avec Backup Manager (voir Installer et configurer Backup Manager sur Debian):

${cmdProxy} backup-manager-tools add "${installPath}"

N'oubliez pas de sauvegarder la base de données (voir Installer et configurer MySQL sur Debian).

Remerciements