Installer l'outil de gestion de relation client SugarCRM CE sur Debian
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:
- a2tools, l'outil d'administration simplifiée d'Apache 2.
- un serveur HTTP avec support du PHP, comme décrit par Installer PHP-FPM sur Debian.
- php-tools, l'outil de configuration simplifiée de PHP.
- un serveur MySQL, comme décrit par Installer et configurer MySQL sur Debian.
- mysql-tools, l'outil d'administration simplifiée de MySQL sur l'hôte local (et l'hôte du serveur MySQL, si différent).
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
- Merci aux développeurs de SugarCRM.