Comment installer SuiteCRM avec Apache et Let’s Encrypt SSL gratuit sur Debian 11

SuiteCTM est une solution de gestion de la relation client open-source écrite en PHP. C’est une application CRM complète et hautement extensible qui fonctionne sur n’importe quel système d’exploitation. Elle est devenue populaire lorsque SugarCRM a décidé d’arrêter le développement de son édition communautaire. Elle est utilisée pour créer des stratégies, des actions et des décisions commerciales. C’est une solution CRM alternative aux autres CRM commerciaux tels que SugarCRM, Salesforce et Microsoft.

Dans ce billet, nous allons te montrer comment installer SuiteCRM avec Apache et Let’s Encrypt SSL sur Debian 11.

Conditions préalables

  • Un serveur fonctionnant sous Debian 11.
  • Un nom de domaine valide pointé avec l’IP de ton 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. Tu devras donc installer le serveur Apache, le serveur de base de données MariaDB, PHP et les autres extensions PHP nécessaires sur ton serveur. Tu peux les installer tous à 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 que tous les paquets sont installés, édite le fichier php.ini et modifie certains paramètres par défaut :

nano /etc/php/7.4/apache2/php.ini

Change les paramètres suivants :

memory_limit = 256M
post_max_size = 64M
upload_max_filesize = 64M

Enregistre et ferme le fichier puis redémarre le service Apache pour appliquer les modifications :

systemctl restart apache2

Créer une base de données MariaDB pour SuiteCRM

Tout d’abord, tu dois sécuriser l’installation de MariaDB et définir un mot de passe root. Tu peux le faire en exécutant le script suivant :

mysql_secure_installation

Réponds à toutes les questions comme indiqué ci-dessous :

Enter current password for root: Press 
Set 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 tu as terminé, connecte-toi au shell MariaDB avec la commande suivante :

mysql -u root -p

Une fois que tu es connecté à MariaDB, crée 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, accorde 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, vide les privilèges et quitte 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, tu peux passer à l’étape suivante.

Installe SuiteCRM

Tout d’abord, télécharge 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écompresse le fichier téléchargé avec la commande suivante :

unzip SuiteCRM-7.12.1.zip

Ensuite, déplace le répertoire extrait dans le répertoire racine par défaut d’Apache :

mv SuiteCRM-7.12.1 /var/www/html/suitecrm

Ensuite, modifie la propriété et la permission du répertoire SuiteCRM :

chown -R www-data:www-data /var/www/html/suitecrm
chmod -R 755 /var/www/html/suitecrm

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Configurer Apache pour SuiteCRM

Ensuite, tu devras configurer Apache pour héberger SuiteCRM sur Internet. Pour ce faire, crée un fichier de configuration d’hôte virtuel Apache avec la commande suivante :

nano /etc/apache2/sites-available/suitecrm.conf

Ajoute 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>

Enregistre et ferme le fichier puis active le fichier de configuration de l’hôte virtuel de SuiteCRM avec la commande suivante :

a2ensite suitecrm.conf

Ensuite, recharge le service Apache pour appliquer les modifications de la configuration :

systemctl reload apache2

Pour vérifier l’état du service Apache, exécute la commande suivante :

systemctl status apache2

Tu obtiendras la sortie suivante :

? 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, tu peux accéder à l’interface Web de SuiteCRM.

Accéder à l’interface Web de SuiteCRM

Maintenant, ouvre ton navigateur Web et tape l’URL http://suitecrm.exampl e.com pour accéder à l’interface Web de SuiteCRM. Tu devrais voir l’écran suivant :

Licence

Accepte le contrat de licence et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Vérification du système

Assure-toi que toutes les vérifications donnent OK, puis clique sur le bouton Suivant pour continuer. Tu devrais voir la page de configuration de SuiteCRM :

Configuration de la base de données et du site

Date de la démo

Paramètres SMTP

Localité du système

Fournis tes informations sur la base de données, les détails de l’utilisateur Admin, les spécifications du serveur SMTP, les détails de la marque, les paramètres de sécurité du site, et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Fichier de configuration de SuiteCRM

Clique sur le bouton Suivant. Tu devrais voir la page de connexion de SuiteCRM :

Connexion à SuiteCRM

Indique ton nom d’utilisateur admin, ton mot de passe et clique sur le bouton LOG IN. Tu devrais voir le tableau de bord SuiteCRM sur l’écran suivant :

Tableau de bord

Sécurise SuiteCRM avec Let’s Encrypt SSL

Après avoir configuré Apache, il est recommandé de sécuriser ton site Web avec le certificat SSL de Let’s Encrypt. Pour ce faire, tu dois installer le client Certbot dans ton système. 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. En utilisant le client Certbot Let’s Encrypt, tu peux facilement télécharger, installer et renouveler le certificat SSL pour ton domaine.

Tu peux installer le Certbot avec la commande suivante :

apt-get install certbot python3-certbot-apache -y

Une fois que le client Certbot a été installé avec succès, exécute la commande suivante pour installer le SSL Let’s Encrypt pour ton site Web :

certbot --apache -d suitecrm.example.com

Il te sera demandé de fournir ton adresse e-mail valide et d’accepter les conditions de service 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, choisis de rediriger ou non le trafic HTTP vers HTTPS ou de configurer Nginx pour qu’il redirige tout le trafic vers un accès HTTPS sécurisé, comme le montre 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

Tape 2 et appuie sur Entrée pour lancer le processus. Une fois l’installation terminée, tu devrais obtenir la sortie suivante :

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

Félicitations ! Tu as réussi à installer SuiteCRM avec Apache et Let’s Encrypt SSL sur Debian 11.

Vous aimerez aussi...