SuiteCTM est une solution open source de gestion de la relation client écrite en PHP. Il s'agit d'une application CRM complète et hautement extensible qui s'exécute sur n'importe quel système d'exploitation. Il est devenu populaire lorsque SugarCRM a décidé d'arrêter le développement de son édition communautaire. Il est utilisé pour créer des stratégies, des actions et des décisions commerciales. Il s'agit d'une solution CRM alternative pour d'autres CRM commerciaux tels que SugarCRM, Salesforce et Microsoft.
Dans cet article, nous vous montrerons comment installer SuiteCRM avec Apache et Let's Encrypt SSL sur Debian 11.
Prérequis
- Un serveur exécutant Debian 11.
- Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
- Un mot de passe root est configuré sur le serveur.
Installer Apache, MariaDB et PHP
SuiteCRM est une application basée sur PHP et utilise MariaDB comme backend de base de données. Vous devrez donc installer le serveur Apache, le serveur de base de données MariaDB, PHP et les autres extensions PHP nécessaires sur votre serveur. Vous pouvez tous les installer à l'aide de la commande suivante :
apt-get install apache2 mariadb-server mariadb-client php php-common php-zip php-mysql php-gd php-curl php-imap php-mbstring php-xml php-json libapache2-mod-php unzip libpcre3 -y
Une fois tous les packages installés, éditez le fichier php.ini et modifiez certains paramètres par défaut :
nano /etc/php/7.4/apache2/php.ini
Modifiez les paramètres suivants :
memory_limit = 256M post_max_size = 64M upload_max_filesize = 64M
Enregistrez et fermez le fichier puis redémarrez le service Apache pour appliquer les modifications :
systemctl restart apache2
Créer une base de données MariaDB pour SuiteCRM
Tout d'abord, vous devrez sécuriser l'installation de MariaDB et définir un mot de passe root. Vous pouvez le faire en exécutant le script suivant :
mysql_secure_installation
Répondez à toutes les questions comme indiqué ci-dessous :
Enter current password for root: PressSet root password? [Y/n] y Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y
Une fois que vous avez terminé, connectez-vous au shell MariaDB avec la commande suivante :
mysql -u root -p
Une fois connecté à MariaDB, créez une base de données et un utilisateur pour SuiteCRM à l'aide de la commande suivante :
MariadDB [(none)]> CREATE DATABASE suitecrm;
MariaDB [(none)]> CREATE USER 'suitecrm'@'localhost' IDENTIFIED BY 'password';
Ensuite, accordez tous les privilèges à la base de données SuiteCRM avec la commande suivante :
MariaDB [(none)]> GRANT ALL PRIVILEGES ON suitecrm.* TO 'suitecrm'@'localhost';
Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Après avoir créé la base de données et l'utilisateur MariaDB, vous pouvez passer à l'étape suivante.
Installer SuiteCRM
Tout d'abord, téléchargez la dernière version de SuiteCRM à l'aide de la commande wget :
wget https://suitecrm.com/files/147/SuiteCRM-7.12/578/SuiteCRM-7.12.1.zip
Ensuite, décompressez le fichier téléchargé avec la commande suivante :
unzip SuiteCRM-7.12.1.zip
Ensuite, déplacez le répertoire extrait vers le répertoire racine par défaut d'Apache :
mv SuiteCRM-7.12.1 /var/www/html/suitecrm
Ensuite, modifiez la propriété et l'autorisation du répertoire SuiteCRM :
chown -R www-data:www-data /var/www/html/suitecrm
chmod -R 755 /var/www/html/suitecrm
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer Apache pour SuiteCRM
Ensuite, vous devrez configurer Apache pour héberger SuiteCRM sur Internet. Pour ce faire, créez un fichier de configuration d'hôte virtuel Apache avec la commande suivante :
nano /etc/apache2/sites-available/suitecrm.conf
Ajoutez les lignes suivantes :
<VirtualHost *:80> DocumentRoot /var/www/html/suitecrm ServerName suitecrm.example.com <Directory /var/www/html/suitecrm> Options FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/apache2/suitecrm-error.log CustomLog /var/log/apache2/suitecrm-access.log common </VirtualHost>
Enregistrez et fermez le fichier puis activez le fichier de configuration de l'hôte virtuel SuiteCRM avec la commande suivante :
a2ensite suitecrm.conf
Ensuite, rechargez le service Apache pour appliquer les modifications de configuration :
systemctl reload apache2
Pour vérifier l'état du service Apache, exécutez la commande suivante :
systemctl status apache2
Vous obtiendrez le résultat suivant :
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-11-19 16:36:48 UTC; 4s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 16290 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 16296 (apache2) Tasks: 6 (limit: 4679) Memory: 15.5M CPU: 99ms CGroup: /system.slice/apache2.service ??16296 /usr/sbin/apache2 -k start ??16297 /usr/sbin/apache2 -k start ??16298 /usr/sbin/apache2 -k start ??16299 /usr/sbin/apache2 -k start ??16300 /usr/sbin/apache2 -k start ??16301 /usr/sbin/apache2 -k start Nov 19 16:36:48 debian11 systemd[1]: Starting The Apache HTTP Server...
Après avoir configuré le serveur Web Apache, vous pouvez accéder à l'interface Web de SuiteCRM.
Accéder à l'interface Web SuiteCRM
Maintenant, ouvrez votre navigateur Web et tapez l'URL http://suitecrm.example.com pour accéder à l'interface utilisateur Web de SuiteCRM. Vous devriez voir l'écran suivant :
Acceptez le contrat de licence et cliquez sur Suivant bouton. Vous devriez voir la page suivante :
Assurez-vous que toutes les vérifications sont OK, puis cliquez sur Suivant bouton pour continuer. Vous devriez voir la page de configuration de SuiteCRM :
Fournissez les informations de votre base de données, les détails de l'utilisateur administrateur, les spécifications du serveur SMTP, les détails de la marque, les paramètres de sécurité du site, puis cliquez sur Suivant bouton. Vous devriez voir la page suivante :
Cliquez sur Suivant bouton. Vous devriez voir la page de connexion à SuiteCRM :
Fournissez votre nom d'utilisateur administrateur, votre mot de passe et cliquez sur CONNEXION bouton. Vous devriez voir le tableau de bord SuiteCRM sur l'écran suivant :
Sécuriser SuiteCRM avec Let's Encrypt SSL
Après avoir configuré Apache, il est recommandé de sécuriser votre site Web avec le certificat SSL Let's Encrypt. Pour ce faire, vous devrez installer le client Certbot sur votre système. Le Certbot est un client facile à utiliser qui récupère un certificat de Let's Encrypt, une autorité de certification ouverte lancée par l'EFF, Mozilla et d'autres, et le déploie sur un serveur Web. À l'aide du client Certbot Let's Encrypt, vous pouvez facilement télécharger, installer et renouveler le certificat SSL pour votre domaine.
Vous pouvez installer le Certbot avec la commande suivante :
apt-get install certbot python3-certbot-apache -y
Une fois le client Certbot installé avec succès, exécutez la commande suivante pour installer Let's Encrypt SSL pour votre site Web :
certbot --apache -d suitecrm.example.com
Il vous sera demandé de fournir votre adresse e-mail valide et d'accepter les conditions d'utilisation comme indiqué ci-dessous :
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for suitecrm.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/suitecrm-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/suitecrm-le-ssl.conf Enabling available site: /etc/apache2/sites-available/suitecrm-le-ssl.conf
Ensuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS ou configurez Nginx pour rediriger tout le trafic vers un accès HTTPS sécurisé, comme indiqué dans la sortie suivante :
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Tapez 2 et appuyez sur Entrée pour démarrer le processus. Une fois l'installation terminée, vous devriez obtenir le résultat suivant :
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/suitecrm.conf to ssl vhost in /etc/apache2/sites-available/suitecrm-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://suitecrm.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=suitecrm.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/suitecrm.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/suitecrm.example.com/privkey.pem Your cert will expire on 2022-02-21. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Conclusion
Toutes nos félicitations! vous avez installé avec succès SuiteCRM avec Apache et Let's Encrypt SSL sur Debian 11. Vous pouvez maintenant explorer SuiteCRM pour plus de fonctionnalités. N'hésitez pas à me demander si vous avez des questions.