GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer le logiciel CRM Open Source EspoCRM sur Debian 9

Dans ce guide, nous vous montrerons comment installer et configurer la dernière version du logiciel EspoCRM sur Debian 9 au-dessus d'une pile LAMP, afin de créer une plateforme de gestion de la relation client en ligne gratuite pour votre entreprise.

EspoCRM est une plateforme de gestion de la relation client (CRM) open source flexible et facile à utiliser, conçue pour être rapide, simple et personnalisable. Le logiciel est principalement écrit dans le langage de programmation PHP et peut être facilement déployé sous Linux sur un serveur Web Apache ou Nginx, un langage de programmation PHP et un système de gestion de base de données MySQL ou MariaDB. EspoCRM prend en charge un large éventail de langues et peut être déployé dans les centres d'appels, les banques, l'éducation, la santé, le tourisme, la vente au détail, l'immobilier ou le commerce électronique.

Exigences

  • Installation minimale sur une machine virtuelle ou un serveur physique du système d'exploitation Debian 9
  • Privilèges du compte root ou compte avec privilèges root via la commande sudo (accès local via la console ou accès distant via SSH)
  • L'une des cartes réseau du serveur configurée avec une adresse IP statique
  • Un nom de domaine public enregistré pour effectuer l'installation via l'interface Web et accéder au site Web de l'application. Dans les intranets, vous pouvez accéder à l'application via un domaine local ou via l'adresse IP de votre serveur
  • Un serveur de messagerie configuré dans vos locaux ou un accès à un service de messagerie public, tel que Gmail, Outlook, Yahoo !

Prérequis

Tout d'abord, connectez-vous à la console de votre serveur Debian et assurez-vous de mettre à jour les dépôts système, le noyau et les packages logiciels en exécutant les commandes suivantes.

apt update
apt upgrade

Ensuite, configurez le nom d'hôte de la machine en exécutant la commande suivante. Assurez-vous de remplacer la valeur du nom d'hôte utilisée dans cette rubrique par votre propre notation.

hostnamectl set-hostname www.mycrm.org

Exécutez les commandes ci-dessous pour vérifier si le nom d'hôte de la machine a été correctement configuré.

hostnamectl
cat /etc/hostname
hostname –s
hostname –f

Enfin, redémarrez le serveur Debian afin d'appliquer les mises à jour du noyau et les changements de nom d'hôte correctement.

systemctl reboot

Ensuite, vous devez installer le bundle logiciel LAMP dans le système Debian. Lors de la première étape, installez le serveur Web Apache et un interpréteur de passerelle de traitement PHP ainsi que tous les modules PHP requis par l'application pour fonctionner correctement en exécutant la commande suivante dans la console de votre serveur.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-opcache php7.0-mbstring php7.0-xml php7.0-json php7.0-zip php7.0-curl php7.0-imap php7.0-soap php7.0-mcrypt php-mailparse

Ensuite, installez un backend de base de données RDBMS. Dans ce guide, nous allons configurer l'application EspoCRM pour utiliser la base de données MariaDB comme backend. Exécutez la commande suivante pour installer la base de données MariaDB et le module PHP nécessaire pour accéder à la base de données MySQL.

apt install mariadb-server php7.0-mysql mariadb-client

Une fois Apache, la base de données MySQL et PHP installés, ouvrez le fichier de configuration PHP par défaut pour l'édition et modifiez les variables PHP suivantes comme décrit ci-dessous. Assurez-vous qu'au départ, vous faites une sauvegarde du fichier de configuration PHP.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

Recherchez, modifiez et modifiez les variables suivantes dans le php.ini fichier de configuration :

file_uploads = On
default_charset = UTF-8
memory_limit = 256M
post_max_size = 50M
upload_max_filesize = 50M
memory_limit = 256M
max_input_time = 180
max_execution_time = 180
zend.assertions = 0
date.timezone = Europe/London

Remplacez le time.zone variable en fonction de votre heure physique en consultant la liste des fuseaux horaires fournie par les docs PHP au lien suivant http://php.net/manual/en/timezones.php

Afin d'augmenter la vitesse de chargement des pages de votre application via le plugin OPCache disponible en PHP7, insérez les lignes de code OPCache suivantes en bas du fichier de configuration de l'interpréteur PHP, sous le [opcache] déclaration, comme détaillé ci-dessous :

opcache.enable=1 
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Fermez le php.ini fichier de configuration et vérifiez si les variables ont été correctement ajoutées, ce que vous pouvez faire en lançant la commande ci-dessous.

grep opcache /etc/php/7.0/apache2/php.ini| grep -v ";"

Ensuite, ajoutez la règle d'application de pare-feu UFW suivante dans votre système, afin d'autoriser le trafic HTTP à traverser le pare-feu, en exécutant la commande suivante.

ufw allow WWW

ou

ufw allow 80/tcp

Certains administrateurs système préfèrent iptables règles brutes pour gérer les règles du pare-feu sur le serveur Debian. Dans le cas d'iptables, lancez les commandes ci-dessous pour installer le pare-feu et ajoutez les règles suivantes pour autoriser le trafic entrant des ports 80 et 22 (en cas de connexions à distance SSH) afin que vous puissiez accéder au système et parcourir l'application via un navigateur Web.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -I INPUT -p tcp --destination-port 22 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent
systemctl status netfilter-persistent
systemctl enable netfilter-persistent.service

Enfin, ouvrez un navigateur et visitez l'adresse IP de votre machine Debian ou votre nom de domaine via le protocole HTTP. Si vous ne connaissez pas l'adresse IP de votre machine, exécutez ifconfig ou ip a pour obtenir l'adresse IP de votre serveur. Si la connexion au serveur Web est établie, vous devriez pouvoir afficher la page Web par défaut du serveur Web Apache dans votre navigateur.

http://votre_domaine.tld

À l'étape suivante, activez la réécriture d'Apache et dégonflez les modules SSL requis par EspoCRM pour fonctionner correctement, en exécutant la commande ci-dessous.

a2enmod rewrite deflate ssl

Le module SSL nécessite que vous activiez également le fichier de configuration SSL par défaut afin de visiter l'application via le protocole HTTPS. Le protocole HTTPS est utilisé pour sécuriser le trafic entre le serveur et les clients. Exécutez la commande suivante pour activer le fichier de configuration du site Apache SSL.

a2ensite default-ssl.conf

Ensuite, ouvrez le fichier de configuration du site SSL par défaut d'Apache avec un éditeur de texte et insérez les lignes de code suivantes après DocumentRoot directive, comme illustré dans l'exemple ci-dessous, afin d'activer les règles placées dans le fichier .htaccess. Le fichier .htaccess est généralement situé au-dessus de la racine Web de votre domaine.

nano /etc/apache2/sites-enabled/default-ssl.conf

Extrait du fichier de configuration du site SSL :

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Vous devez également ouvrir le /etc/apache2/sites-enabled/000-default.conf fichier pour modification et ajoutez les mêmes règles de réécriture d'URL que celles insérées dans le fichier de configuration SSL. Ajoutez les lignes de code après DocumentRoot déclaration comme indiqué dans l'exemple ci-dessous.

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Enfin, redémarrez le démon Apache pour appliquer toutes les règles configurées jusqu'à présent et visitez votre domaine via le protocole HTTPS. Étant donné que vous utilisez les paires de certificats auto-signés automatiquement émis par Apache lors de l'installation, certificat non approuvé par le navigateur, un avertissement d'erreur de connexion non sécurisée doit s'afficher dans le navigateur. Acceptez l'avertissement afin d'accepter le certificat non approuvé et continuez d'être redirigé vers la page Web par défaut d'Apache.

systemctl restart apache2

https://votredomaine.tld

Si vous prévoyez d'exposer votre plate-forme EspoCRM pour la production sur Internet, vous devriez envisager d'acheter un certificat émis par une autorité de certification de confiance ou d'obtenir une paire de certificats gratuite de Let's Encrypt CA, afin que les clients puissent visiter l'application sans que des erreurs ne s'affichent dans leurs navigateurs. .

Si l'application de pare-feu UFW bloque les connexions réseau entrantes au port HTTPS, vous devez ajouter une nouvelle règle pour autoriser le trafic HTTPS à traverser le pare-feu en exécutant la commande suivante.

ufw allow HTTPS

ou

ufw allow 443/tcp

Pour le pare-feu iptables, ajoutez la règle suivante pour autoriser le trafic entrant du port 443 dans le pare-feu afin que vous puissiez parcourir le nom de domaine. Enregistrez et redémarrez le service iptables afin d'appliquer les règles après le redémarrage du système.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent
systemctl status netfilter-persistent

Enfin, créez un fichier d'informations PHP dans le chemin Webroot de votre domaine en exécutant la commande suivante.

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

Vérifiez les paramètres PHP et la configuration du fuseau horaire en visitant le fichier de script d'informations PHP à partir d'un navigateur à l'URL suivante, comme illustré dans l'image ci-dessous. Faites défiler jusqu'à la date paramètre pour vérifier la configuration du fuseau horaire PHP.

https://domain.tld/info.php

À l'étape suivante, connectez-vous à la console du serveur MySQL et sécurisez le compte racine MariaDB en exécutant les commandes ci-dessous. Tapez quitter pour quitter la console de la base de données.

mysql -h localhost
Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 2

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

 

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(aucun)]> utilise mysql ;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

MariaDB [mysql]> mettre à jour l'ensemble d'utilisateurs plugin='' where user='root';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [mysql]> flush privilèges ;

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [mysql]> exit

Bye

Exécutez également mysql_secure_installation script afin de sécuriser davantage le démon MariaDB. Lors de l'exécution du script, il vous sera posé une série de questions conçues pour sécuriser la base de données MariaDB, telles que :changer le mot de passe root MySQL, supprimer les utilisateurs anonymes, désactiver les connexions root à distance et supprimer la base de données de test. Tapez "oui" pour toutes les questions posées, comme illustré dans l'extrait ci-dessous.

mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

 

In order to log into MariaDB to secure it, we'll need the current

password for the root user.  If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

 

Enter current password for root (enter for none):

OK, successfully used password, moving on...

 

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

 

You already have a root password set, so you can safely answer 'n'.

Change the root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

 ... Success!

 

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

 

Remove anonymous users? [Y/n] y

 ... Success!

 

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

 

Disallow root login remotely? [Y/n] y

 ... Success!

 

By default, MariaDB comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

 

Remove test database and access to it? [Y/n] y

 - Dropping test database...

 ... Success!

 - Removing privileges on test database...

 ... Success!

 

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

 

Reload privilege tables now? [Y/n] y

 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

Vérifiez le problème de sécurité du serveur MariaDB en essayant de vous connecter à la base de données via la console sans mot de passe root. L'accès à la base de données doit être refusé si aucun mot de passe n'est fourni pour le compte root, comme illustré dans l'extrait de commande ci-dessous :

mysql -h localhost -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Maintenant, essayez de vous connecter à la base de données avec un mot de passe root. Vous devriez pouvoir accéder à la console MySQL, comme indiqué dans l'exemple de commande ci-dessous :

mysql -h localhost -u root -p
Enter password:

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 15

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> exit

Bye

Installer EspoCRM

Une fois le serveur HTTP Apache, le démon MariaDB et l'interpréteur PHP ont été correctement configurés pour installer l'application EspoCRM dans votre système Debian. Exécutez la commande suivante afin d'installer les utilitaires de ligne de commande qui y sont mentionnés.

apt install wget bash-completion zip unzip curl

À l'étape suivante, visitez la page de téléchargement officielle d'EspoCRM à l'adresse https://www.espocrm.com/download/ et récupérez la dernière archive compressée du package zip dans votre système via l'utilitaire wget. La version actuelle d'EspoCRM au moment de la rédaction de ce didacticiel est EspoCRM-5.0.3

wget https://www.espocrm.com/downloads/EspoCRM-5.0.3.zip
ls

Une fois le téléchargement de l'archive zip terminé, extrayez le fichier d'archive zip dans votre répertoire de travail actuel et répertoriez les fichiers extraits en exécutant les commandes ci-dessous. Les fichiers d'installation de l'application se trouvent dans EspoCRM-5.0.3 répertoire.

unzip EspoCRM-5.0.3.zip
ls
ls -al EspoCRM-5.0.3

Ensuite, assurez-vous de supprimer les fichiers index.html et info.php du répertoire webroot :

rm /var/www/html/index.html
rm /var/www/html/info.php

Copiez tous les fichiers situés dans le répertoire extrait dans le chemin racine du document de votre serveur Web en exécutant la commande suivante. Assurez-vous également de copier le fichier caché .htaccess dans le chemin Webroot.

cp -rf EspoCRM-5.0.3/* /var/www/html/
cp EspoCRM-5.0.3/.htaccess /var/www/html/

Ensuite, exécutez les commandes ci-dessous afin d'accorder à Apache www-data compte avec des autorisations d'écriture complètes sur le chemin racine Web. Utilisez ls pour répertorier les autorisations pour les fichiers installés d'EspoCRM situés dans le répertoire /var/www/html/.

chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

Ensuite, connectez-vous à la console de base de données MariaDB et créez une base de données EspoCRM. Utilisez un nom descriptif pour la base de données et créez un utilisateur avec un mot de passe fort pour gérer cette base de données. Remplacez le nom de la base de données, l'utilisateur et le mot de passe utilisés dans cet exemple par vos propres valeurs. Les commandes utilisées pour cette étape sont présentées dans l'extrait ci-dessous.

mysql –u root -p
Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 2

Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

 

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(aucun)]> crée la base de données espocrm_db ;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> accorde tous les privilèges sur espocrm_db.* à 'crm_user'@'localhost' identifié par 'password1234' ;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(aucun)]> privilèges de vidage ;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit

Bye

Maintenant, ouvrez un navigateur et accédez à l'adresse IP ou au nom de domaine de votre serveur via le protocole HTTPS afin de poursuivre le processus d'installation de la plate-forme EspoCRM. Sur le premier écran d'installation, le programme d'installation d'EspoCRM affichera un message de bienvenue et une liste à partir de laquelle vous pourrez sélectionner la langue d'installation. Sélectionnez votre langue appropriée dans la liste présentée et appuyez sur le bouton Démarrer afin de démarrer le processus d'installation, comme illustré dans l'image ci-dessous.

https://votredomaine.tld

Dans l'écran suivant, lisez les déclarations du contrat de licence et cochez "J'accepte le contrat t" et appuyez sur le bouton Suivant pour passer à l'étape suivante.

Dans l'écran d'installation suivant, configurez les paramètres de connexion à la base de données MySQL. Fournissez l'adresse de l'hôte de la base de données MySQL (127.0.0.1 ou localhost), le nom de la base de données, le nom d'utilisateur et le mot de passe configurés pour l'application EspoCRM. Après avoir rempli tous les champs de base de données requis, appuyez sur le bouton Suivant pour passer à l'étape d'installation suivante. Utilisez la capture d'écran ci-dessous comme guide pour terminer cette étape.

Dans l'écran suivant, le programme d'installation d'EspoCRM vérifiera les configurations de votre environnement de serveur afin de déterminer si toutes les variables MySQL recommandées et les modules et paramètres PHP sont correctement configurés. Si toutes les configurations sont réussies, appuyez sur le bouton Installer pour lancer le processus d'installation d'EspoCRM.

À l'étape suivante, ajoutez un compte administrateur pour EspoCRM et configurez un mot de passe fort pour ce compte administrateur. Lorsque vous avez terminé, appuyez sur le bouton Suivant pour poursuivre le processus d'installation.

Ensuite, configurez les paramètres du système EspoCRM en sélectionnant votre format de date et votre format d'heure appropriés. Choisissez également le paramètre de fuseau horaire approprié à votre application en sélectionnant votre continent/ville le plus proche dans la liste de fuseaux horaires fournie. Configurez le premier jour de la semaine, la devise par défaut de l'application, les séparateurs de milliers et de décimales et la langue du système. Lorsque tous les paramètres ci-dessus sont configurés, appuyez sur le bouton Suivant pour poursuivre le processus d'installation.

À l'étape suivante, configurez les paramètres de courrier sortant d'EspoCRM. Ajoutez un nom pour l'en-tête de l'e-mail "Nom de l'expéditeur" et l'adresse e-mail de contact du compte administrateur. Cette adresse sera utilisée pour envoyer des e-mails à des clients externes. Assurez-vous également d'ajouter l'adresse du serveur de messagerie, le numéro de port du serveur de messagerie et cochez la case Auth et fournissez les informations d'authentification du serveur et le niveau de sécurité, si tel est le cas. Lorsque vous avez terminé cette étape, appuyez sur le bouton suivant pour terminer le processus d'installation.

Une fois la structure de la base de données importée et tous les paramètres de la plate-forme écrits dans le fichier de configuration de l'application, le processus d'installation se termine. Le programme d'installation s'affichera pour vous informer que l'installation s'est terminée avec succès et affichera une note sur la tâche planifiée d'EspoCRM que vous devez ajouter au fichier crontab de votre serveur.

Pour accéder à votre application CRM et la gérer, ouvrez un navigateur et accédez à l'adresse IP ou au nom de domaine de votre serveur via HTTPS. Utilisez les informations d'identification configurées lors du processus d'installation pour vous connecter au panneau principal d'EspoCRM, comme indiqué dans la capture d'écran ci-dessous.

https://votredomaine.tld

Le tableau de bord EspoCRM par défaut ne devrait contenir aucune donnée jusqu'à présent. Un aperçu du tableau de bord initial d'EspoCRM est illustré dans la capture d'écran ci-dessous.

Afin de configurer davantage les paramètres de la plate-forme EspoCRM, cliquez sur l'icône en haut à droite avec trois lignes horizontales et cliquez sur le lien Administration dans le menu du haut vers le bas, comme indiqué dans l'image ci-dessous.

Afin de forcer les visiteurs à accéder en toute sécurité à l'interface principale d'EspoCRM via le protocole HTTPS qui crypte le trafic entre le serveur et les navigateurs clients, retournez sur votre terminal serveur et modifiez le .htaccess fichier situé dans le chemin racine du document de votre site Web, en exécutant la commande ci-dessous.

nano /var/www/html/.htaccess

Dans le fichier .htaccess, recherchez le  et ajoutez les règles ci-dessous après RewriteEngine On afin de rediriger automatiquement tout le trafic du domaine vers HTTPS.

# Redirect to HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

En haut, le fichier vous permet de modifier les paramètres du serveur PHP natif, tels que l'augmentation des valeurs pour upload_max_filesize et post_max_size Variables PHP, afin de prendre en charge les téléchargements de fichiers volumineux dans le stockage d'application. Modifiez ces paramètres PHP avec beaucoup de prudence. Assurez-vous que ces variables correspondent aux ressources et configurations de votre serveur.

# Modify PHP settings
php_value session.use_trans_sid 0
php_value register_globals 1
php_value upload_max_filesize 100M
php_value post_max_size 100M

Ensuite, testez le travail planifié avant de l'ajouter pour qu'il s'exécute dans le fichier démon crontab, en exécutant la commande ci-dessous. Le travail crontask doit être exécuté avec les privilèges du compte d'exécution du serveur HTTP Apache.

sudo -u www-data /usr/bin/php7.0 -f /var/www/html/cron.php

Enfin, ajoutez la tâche crontab suivante appartenant à Apache www-data compte, en lançant la commande ci-dessous.

crontab -u www-data –e

Extrait du fichier Crontab :

*    *    *    *    *     /usr/bin/php7.0 -f /var/www/html/cron.php > /dev/null 2>&1

C'est tout! Vous avez installé et configuré avec succès la plateforme EspoCRM dans Debian 9. Pour les autres paramètres concernant la plateforme EspoCRM, visitez la page de documentation à l'adresse suivante : https://www.espocrm.com/documentation/


Debian
  1. Comment installer PHP sur Debian 10 Buster

  2. Comment installer PHP 7.4 sur Debian 10

  3. Comment installer PHP 8 sur Debian 10

  4. Comment installer PHP sur Debian 11

  5. Comment installer PHP 7.2 sur Debian 9

Comment installer PHP sur Debian 10 Linux

Comment installer la plate-forme CMS d'octobre sur Debian 9

Comment installer PyroCMS basé sur Laravel sur Debian 9

Comment installer Craft CMS sur Debian 9

Comment installer Pagekit CMS sur Debian 9

Comment installer Nginx et PHP sur Debian 10