Installer l'outil de gestion de relation client EspoCRM sur Debian
Ce guide est testé sur:
- Debian 8.0 Jessie
Ce guide est testé avec ces versions de EspoCRM:
- 4.5.0
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="crm.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/espocrm/${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-curl unzip
Adaptez la configuration PHP aux besoins de l'outil:
${cmdProxy} php-tools --for="espocrm" --set "memory_limit" "256M"
${cmdProxy} php-tools --for="espocrm" --set "max_execution_time" "600"
${cmdProxy} php-tools --for="espocrm" --set "max_input_time" "180"
${cmdProxy} php-tools --for="espocrm" --set "upload_max_filesize" "20M"
${cmdProxy} php-tools --for="espocrm" --set "post_max_size" "20M"
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 \
--generic='https://www.espocrm.com/download/' \
--output-directory="${installPath}" \
--strip-components=1 \
--zip 'espocrm' 'EspoCRM-VERSION.zip')"
Ajustez les permissions:
${cmdProxy} chown -R www-data:www-data "${installPath}"
Configurez les scripts Cron:
echo " Cron rules for EspoCRM at ${domain}
* * * * * www-data cd '${installPath}'; /usr/bin/php -f 'cron.php' > /dev/null 2>&1" \
| ${cmdProxy} tee "/etc/cron.d/espocrm-${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="espocrm" --create "${domain}"
Notez les informations de connexion fournies par la commande.
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='Options' "${domain}" "${installPath}"
else
${cmdProxy} a2tools --overrides='Options' "${domain}" "${installPath}"
fi
L'outil est maintenant disponible sur le domaine spécifié en HTTP ou HTTPS si possible.
Configuration
Configurez l'application à l'aide du script d'installation, disponible à l'adresse fournie par:
echo "http://${domain}/"
Renseignez les paramètres demandés.
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 EspoCRM.