Ce tutoriel vous montrera comment installer SuiteCRM sur Ubuntu 20.04 avec serveur web Apache ou Nginx. SuiteCRM est une solution logicielle open source gratuite de gestion de la relation client qui offre une vue à 360 degrés de vos clients et de votre entreprise. C'est un fork du populaire SugarCRM logiciel parce que SugarCRM a cessé de publier son édition communautaire open source en 2014.
Fonctionnalités SuiteCRM
- Système de calendrier/rappel
- Stockage des documents
- Marketing par e-mail
- Intégration du chat interne
- qualification du prospect
- automatisation du marketing
- accès mobile
- Quotas/Estimations
- Segmentation
- Intégration des réseaux sociaux
- gestion des tâches
- gestion du territoire
- Automatisation de la force de vente, campagnes marketing, assistance client, collaboration, Mobile CRM, Social CRM et création de rapports
- Installez des plug-ins pour étendre les fonctionnalités de SuiteCRM.
- SuiteCRM peut être facilement intégré à des services de relais SMTP tiers tels que Gmail, Mandrill, Sendgrid, Amazon SES. Vous pouvez également utiliser votre propre serveur de messagerie.
- Peut s'intégrer de manière transparente à de nombreuses applications tierces populaires telles que Mautic, Gmail, Facebook, Twitter, GoToMeeting, MailChimp, Zoom, Quickbooks, Avaya, DocuSign, etc.
- Prend en charge plusieurs comptes d'utilisateurs et rôles.
- Et bien plus encore
Prérequis pour installer SuiteCRM sur le serveur Ubuntu 20.04
SuiteCRM est écrit en PHP et s'appuie sur le serveur de base de données MySQL/MariaDB. Vous devez donc configurer une pile LAMP ou une pile LEMP. Si vous préférez Apache serveur Web, puis configurez la pile LAMP.
- Comment installer la pile LAMP sur Ubuntu 20.04
Si vous préférez Nginx serveur Web, puis configurez la pile LEMP.
- Comment installer la pile LEMP sur Ubuntu 20.04
Vous avez également besoin d'un nom de domaine. J'ai enregistré mon nom de domaine auprès de NameCheap car le prix est bas et ils offrent une protection de la confidentialité whois gratuite à vie. Sans plus tarder, installons SuiteCRM sur le serveur Ubuntu 20.04.
Étape 1 :Téléchargez SuiteCRM sur votre serveur Ubuntu 20.04
Téléchargez la dernière version stable en exécutant la commande suivante sur votre serveur.
wget https://suitecrm.com/files/162/SuiteCRM-7.11/525/SuiteCRM-7.11.18.zip
Installez le unzip
utilitaire et décompressez-le dans /var/www/
répertoire.
sudo apt install unzipsudo mkdir -p /var/www/sudo unzip SuiteCRM-7.11.18.zip -d /var/www/
Il sera enregistré sous /var/www/SuiteCRM-7.11.18/
annuaire. Nous le renommons pour le rendre plus simple.
sudo mv /var/www/SuiteCRM-7.11.18/ /var/www/suitecrm
Exécutez ensuite les commandes suivantes pour définir les autorisations appropriées.
cd /var/www/suitecrmsudo chown -R www-data:www-data /var/www/suitecrm/sudo chmod -R 755 .sudo chmod -R 775 cache modules personnalisés thèmes téléchargement de donnéessudo chmod 775 config_override.php 2>/dev/null
Étape 2 :Créer une base de données MariaDB et un utilisateur pour SuiteCRM
Connectez-vous à la console MariaDB.
sudo mysql -u racine
Ensuite, créez une nouvelle base de données pour SuiteCRM à l'aide de la commande suivante. Ce tutoriel le nomme suitecrm
, vous pouvez utiliser le nom de votre choix pour la base de données.
CRÉER BASE DE DONNÉES suitecrm ;
La commande suivante créera un utilisateur et un mot de passe de base de données, et accordera en même temps toutes les autorisations de la nouvelle base de données au nouvel utilisateur afin que SuiteCRM puisse ultérieurement écrire dans la base de données. Remplacez les textes en rouge par le nom, le nom d'utilisateur et le mot de passe de votre base de données préférée.
ACCORDER TOUT SUR suitecrm.* À 'suitecrm'@'localhost' IDENTIFIÉ PAR 'password' ;
Videz la table des privilèges et quittez la console MariaDB.
PRIVILÈGES FLUSH ;SORTIR ;
Étape 3 :Installez les modules PHP requis et recommandés.
Exécutez la commande suivante pour installer les modules PHP requis ou recommandés par SuiteCRM
sudo apt install php-imagick php7.4-fpm php7.4-mysql php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7 .4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp
Si vous utilisez le serveur Web Apache, vous devez désactiver le module PHP pour Apache.
sudo a2dismod php7.4
Vous devez également désactiver le module prefork MPM dans Apache.
sudo a2dismod mpm_prefork
Vous devez maintenant exécuter la commande suivante pour activer trois modules afin d'utiliser PHP-FPM dans Apache, que mod_php
est installé sur votre serveur.
sudo a2enmod mpm_event proxy_fcgi setenvif
Puis redémarrez Apache.
sudo systemctl redémarrer apache2
Étape 4 :Créer un hôte virtuel Apache ou un fichier de configuration Nginx pour SuiteCRM
Apache
Si vous utilisez le serveur Web Apache, créez un hôte virtuel pour SuiteCRM.
sudo nano /etc/apache2/sites-available/suitecrm.conf
Mettez le texte suivant dans le fichier. Remplacez suitecrm.example.com
avec votre vrai nom de domaine et n'oubliez pas de créer un enregistrement DNS A pour celui-ci.
ServerName suitecrm.example.com DocumentRoot /var/www/suitecrm/ ErrorLog ${APACHE_LOG_DIR}/suitecrm_error.log CustomLog ${APACHE_LOG_DIR}/suitecrm_access.log combiné Options FollowSymLinks AllowOverride All Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all Include /etc/apache2/conf-available/php7.4-fpm.conf Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel avec :
sudo a2ensite suitecrm.confRechargez Apache pour que les modifications prennent effet.
sudo systemctl recharger apache2Vous devriez maintenant pouvoir voir l'assistant d'installation Web de SuiteCRM sur
http://suitecrm.example.com/install.php
.Nginx
Si vous utilisez le serveur Web Nginx, créez un hôte virtuel pour SuiteCRM.
sudo nano /etc/nginx/conf.d/suitecrm.confMettez le texte suivant dans le fichier. Remplacez
suitecrm.example.com
avec votre vrai nom de domaine et n'oubliez pas de créer un enregistrement DNS A pour celui-ci.serveur { écoute 80 ; écouter [::]:80 ; nom_serveur suitecrm.exemple.com ; racine /var/www/suitecrm ; error_log /var/log/nginx/suitecrm.error ; access_log /var/log/nginx/suitecrm.access ; client_max_body_size 20M ; index index.php index.html index.htm index.nginx-debian.html; location / { # essaie de servir le fichier directement, retour à app.php try_files $uri /index.php$is_args$args; } emplacement ~ \.php$ { inclure des extraits/fastcgi-php.conf ; fastcgi_pass unix:/run/php/php7.4-fpm.sock ; #Remarque :Si vous installez SuiteCRM sur le serveur iRedMail, vous devez utiliser le socket TCP à la place. #fastcgi_pass 127.0.0.1:9999 } emplacement ~* ^/index.php { # try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; # REMARQUE :Vous devriez avoir "cgi.fix_pathinfo =0;" dans php.ini fastcgi_pass unix:/var/run/php/php7.4-fpm.sock ; #Remarque :Si vous installez SuiteCRM sur le serveur iRedMail, vous devez utiliser le socket TCP à la place. #fastcgi_pass 127.0.0.1:9999 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ; inclure fastcgi_params ; fastcgi_buffer_size 128k; fastcgi_buffers 256 16k; fastcgi_busy_buffers_size 256k ; fastcgi_temp_file_write_size 256k ; } # Ne pas enregistrer l'emplacement du favicon =/favicon.ico { log_not_found off; access_log off ; } # Ne pas enregistrer l'emplacement des robots =/robots.txt { access_log off; log_not_found désactivé ; } # Refuser toutes les tentatives d'accès aux fichiers/dossiers cachés tels que .htaccess, .htpasswd, .DS_Store (Mac), etc... emplacement ~ /\. { Nier tous; access_log off ; log_not_found désactivé ; } # Une longue durée de vie du cache du navigateur peut accélérer les visites répétées sur l'emplacement de votre page ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log désactivé; log_not_found désactivé ; expire 360j ; }}Enregistrez et fermez le fichier. Testez ensuite la configuration de Nginx.
sudo nginx -tSi le test réussit, rechargez Nginx pour que les modifications prennent effet.
sudo systemctl recharger nginxVous devriez maintenant pouvoir voir l'assistant d'installation Web de SuiteCRM sur
http://suitecrm.example.com/install.php
.Étape 5 :Activer HTTPS
Pour chiffrer le trafic HTTP, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let's Encrypt. Exécutez la commande suivante pour installer le client Let's Encrypt (certbot) sur le serveur Ubuntu 20.04.
sudo apt install certbotSi vous utilisez Nginx , vous devez également installer le plug-in Certbot Nginx.
sudo apt installer python3-certbot-nginxEnsuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d suitecrm.example.comSi vous utilisez Apache , installez le plug-in Certbot Apache.
sudo apt installer python3-certbot-apacheEt exécutez cette commande pour obtenir et installer le certificat TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d suitecrm.example.comOù
--nginx
:Utilisez le plug-in nginx.--apache
:Utilisez le plug-in Apache.--agree-tos
:acceptez les conditions d'utilisation.--redirect
:Forcer HTTPS par redirection 301.--hsts
:Ajoutez l'en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Protège contre le SSL/TLS Stripping.--staple-ocsp
:active l'agrafage OCSP. Une réponse OCSP valide est agrafée au certificat que le serveur propose pendant TLS.
Le certificat devrait maintenant être obtenu et installé automatiquement.
Étape 6 :Augmentez la limite de taille du fichier de téléchargement
PHP définit une limite pour la taille du fichier de téléchargement. La taille de fichier maximale par défaut pour le téléchargement est de 2 Mo. Pour augmenter la taille de téléchargement, modifiez le fichier de configuration PHP.
sudo nano /etc/php/7.4/fpm/php.ini
Trouvez la ligne suivante (ligne 846).
upload_max_filesize =2M
Modifiez la valeur comme ci-dessous. Il est recommandé de le définir sur au moins 20 Mo.
upload_max_filesize =20M
Enregistrez et fermez le fichier. Vous pouvez également exécuter la commande suivante pour modifier la valeur sans ouvrir manuellement le fichier.
sudo sed -i 's/upload_max_filesize =2M/upload_max_filesize =20M/g' /etc/php/7.4/fpm/php.ini
Redémarrez ensuite PHP-FPM.
sudo systemctl redémarrer php7.4-fpm
Redémarrez également Apache/Nginx.
sudo systemctl redémarrer apache2
ou
sudo systemctl redémarrer nginx
Étape 7 :terminer l'installation de SuiteCRM dans le navigateur Web
Maintenant, dans la barre d'adresse de votre navigateur, saisissez votre nom de domaine pour que SuiteCRM accède à l'assistant d'installation Web.
https://suitecrm.votre-domaine.com/install.php
Tout d'abord, acceptez la licence GNU AGPL.
Ensuite, il vérifiera votre environnement de serveur. Si tout va bien, cliquez sur Suivant .
Entrez ensuite les détails de la base de données MariaDB/MySQL créée à l'étape 2. Vous devez également définir un mot de passe pour l'utilisateur admin, qui sera utilisé pour se connecter à l'interface Web. Changez l'URL en https://suitecrm.your-domain.com
et saisissez votre adresse e-mail.
Dans les more options
, vous pouvez configurer les paramètres de messagerie, tels que le nom et l'adresse de l'expéditeur.
Si SuiteCRM est installé sur votre serveur de messagerie, vous pouvez utiliser 127.0.0.1 comme serveur SMTP et le port 25 comme port SMTP, afin que SuiteCRM utilise votre propre serveur de messagerie pour envoyer des e-mails.
Si SuiteCRM et votre serveur de messagerie fonctionnent sur des hôtes différents et que vous souhaitez que SuiteCRM envoie des e-mails via votre serveur de messagerie, vous devez choisir Other
comme transport de courrier. Alors
- Entrez le nom d'hôte de votre serveur de messagerie
- Choisir le port 587
- Choisissez le chiffrement TLS.
- Entrez les identifiants de connexion d'une adresse e-mail sur votre serveur de messagerie.
Cliquez sur le bouton Suivant et SuiteCRM sera installé.
Étape 8 :Activez HTTP2 pour améliorer les performances
Vous pouvez activer le protocole HTTP2 pour améliorer les performances de chargement des pages pour SuiteCRM.
Apache
Tout d'abord, vous devez activer le module HTTP2.
sudo a2enmod http2
Ouvrez ensuite le fichier d'hôte virtuel SSL.
sudo nano /etc/apache2/sites-enabled/suitecrm-le-ssl.conf
Mettez la directive suivante après l'ouverture <VirtualHost *:443>
balise.
Protocoles h2 http/1.1
Enregistrez et fermez le fichier. Redémarrez ensuite Apache pour que les modifications prennent effet.
sudo systemctl redémarrer apache2
Nginx
Pour activer le protocole HTTP2 dans l'hôte virtuel Nginx, recherchez la ligne suivante.
écouter 443 ssl ; # géré par Certbot
Ajoutez simplement http2
après ssl
.
écouter 443 ssl http2 ; # géré par Certbot
Enregistrez et fermez le fichier. Rechargez ensuite Nginx.
sudo systemctl recharger nginx
Étape 9 :Ajouter des tâches Cron
SuiteCRM s'appuie sur les tâches Cron pour fonctionner correctement. Modifiez le fichier crontab de l'utilisateur www-data. (Vous ne devez pas ajouter de commandes SuiteCRM dans le fichier crontab de l'utilisateur root.)
sudo -u www-data crontab -e
Ajoutez les lignes suivantes à la fin de ce fichier.
###### Tâche Cron SuiteCRM #######* * * * * php7.4 -f /var/www/suitecrm/cron.php> /dev/null 2>&1
Enregistrez et fermez le fichier.
Comment s'intégrer à Mautic
Mautic est une alternative open source gratuite aux fournisseurs de services de messagerie commerciaux comme MailChimp. Mautic a un plugin SugarCRM, et puisque SuiteCRM est basé sur SugarCRM 6.x, nous pouvons utiliser le plugin SugarCRM pour s'intégrer à Mautic.
Tout d'abord, nous devons accéder à l'interface Web de SuiteCRM, cliquer sur la flèche déroulante dans le coin supérieur droit pour accéder au module d'administration.
Ensuite, faites défiler vers le bas et sélectionnez Clés OAuth.
Créez une nouvelle clé OAuth. Donnez à la clé un nom comme mautic
. Entrez quelque chose comme matuic-suitecrm
dans la Consumer key
domaine. Entrez ensuite des caractères aléatoires dans le Consumer Secret
domaine. Enregistrez vos modifications.
Ensuite, allez dans Mautic Settings
-> Plugins
-> SugarCRM
. Entrez votre URL SuiteCRM, votre clé client (clé client) et votre secret client (secret client). Entrez ensuite le nom d'utilisateur et le mot de passe de l'administrateur SuiteCRM. Sélectionnez la version 6.x/communautaire. Cliquez sur le bouton Autoriser l'application.
Une fois autorisé, vous pouvez changer le statut de publication de No
à Yes
. Si vous rencontrez une erreur en essayant d'autoriser l'application, assurez-vous que les enregistrements DNS de votre sous-domaine Mautic et SuiteCRM sont tous deux propagés sur Internet.