Présentation
SuiteCRM est une application open source gratuite de gestion de la relation client pour les serveurs. Il est écrit en PHP. Le CRM open source est souvent utilisé comme alternative aux logiciels CRM propriétaires de grandes entreprises telles que les applications HubSpot, Salesforce et Microsoft Dynamics CRM. SuiteCRM est un fork logiciel du système populaire de gestion de la relation client (CRM) de SugarCRM. Le projet SuiteCRM a démarré lorsque SugarCRM a décidé d'arrêter le développement de sa version open-source.
Dans ce guide, nous vous montrerons comment installer SuiteCRM dans votre Linux CentOS 8.
Installation
Suivez simplement les étapes ci-dessous :
- Système de mise à jour
dnf update -y && dnf upgrade -y
- Installer PHP et les extensions requises
sudo dnf -y install yum-utils
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf module reset php #run this with root user
sudo dnf module install php:remi-7.3
sudo yum install wget php php-bcmath php-json php-xml php-fpm php-common php-curl php-intl php-zip php-imap php-pear php-cgi php-mbstring php-gd php-mysqlnd php-gettext -y
- Augmentez le délai d'attente php et la taille maximale de téléchargement des fichiers comme indiqué :
sudo vim /etc/php.ini
Modifiez ensuite les valeurs
upload_max_filesize = 20M
max_execution_time = 120
- Définir l'utilisateur et le groupe pour nginx exécuter php-fpm
sudo vim /etc/php-fpm.d/www.conf
Modifiez-les ensuite comme suit :
user = nginx
group = nginx
- Démarrer et activer php-fpm
systemctl start php-fpm && systemctl enable --now php-fpm
- Installer MariaDB et le serveur Web Nginx
sudo dnf -y install nginx mariadb mariadb-server
- Démarrer et activer les services nginx et mariadb
sudo systemctl start nginx && sudo systemctl enable nginx
sudo systemctl start mariadb && sudo systemctl enable mariadb
- Une fois le serveur de base de données installé, sécurisez avec
mysql_secure_installation
- Répondez à toutes les questions comme indiqué ci-dessous
Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new password:
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
- Créer une base de données pour SuiteCRM.
mysql -u root -p
CREATE DATABASE suitecrm_db;
CREATE USER 'suitecrm_usr'@'localhost' IDENTIFIED BY 'unixcopPassword';
GRANT ALL PRIVILEGES ON suitecrm_db.* TO 'suitecrm_usr'@'localhost';
FLUSH PRIVILEGES;
\q;
- Installez SuiteCRM en vérifiant ladernière version de SuiteCRM
- Au moment d'écrire ces lignes, la dernière version est la v7.12.0-RC
sudo wget https://github.com/salesagility/SuiteCRM/archive/refs/tags/v7.12-rc.tar.gz
sudo tar xvf v7.12-rc.tar.gz
- Installer le compositeur
sudo wget https://getcomposer.org/installer -O composer-installer.php
sudo php composer-installer.php --filename=composer --install-dir=/usr/local/bin
- Déplacer les fichiers extraits de SuiteCRM vers /var/www/html/
sudo mkdir /var/www/html/suitecrm
sudo cp -r SuiteCRM-7.12-rc/* /var/www/html/suitecrm
- Lancer l'installation du compositeur
cd /var/www/html/suitecrm
composer install
- Transférer la propriété des fichiers à l'utilisateur du service Web
sudo chown -R nginx:nginx /var/www/html/suitecrm
sudo chmod -R 766 /var/www/html/suitecrm
- Configurer SELinux pour les fichiers
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/suitecrm(/.*)?"
sudo restorecon -Rv /var/www/html/suitecrm/
- Configurer Nginx
sudo vim /etc/nginx/conf.d/suitecrm.conf
Ajoutez ensuite ce qui suit :
server {
server_name suitecrm.unixcop.com;
client_max_body_size 20M;
root /var/www/html/suitecrm;
location / {
try_files $uri /index.php;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_log /var/log/nginx/suitecrm_error.log;
access_log /var/log/nginx/suitecrm_access.log;
location ~ /\.ht {
deny all;
}
}
- Redémarrez nginx et php-fpm.
sudo systemctl restart nginx php-fpm
- Autoriser le port http dans les paramètres du pare-feu.
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload
- Accédez à l'interface Web de SuiteCRM en ouvrant votre navigateur et accédez à http://suitecrm.unixcop.com
Remarque :Si vous obtenez cette erreur, vous devrez peut-être ajouter un dossier de session pour résoudre l'erreur
Solution
Dans ce cas, confirmez qu'il existe un dossier existant /var/lib/php/session , sinon, créez-le. Ensuite, assurez-vous que le moteur de serveur Web approprié dispose des autorisations nécessaires
sudo mkdir -p /var/lib/php/session
sudo chown -R nginx:nginx /var/lib/php/session
- Redémarrez nginx puis rechargez votre page Web
- Sélectionnez J'accepte puis cliquez sur Suivant
- Voici une information sur l'environnement système, vous pouvez vérifier que tout est OK comme indiqué ci-dessus Puis cliquez sur Suivant
- Fournissez votre base de données nom que vous avez créé auparavant et modifiez les configurations du site avec vos informations comme indiqué ci-dessus, puis cliquez sur Suivant .
- Attendez l'installation et la création des paramètres par défaut.
- Cliquez sur Terminer bouton pour commencer à vous connecter à SuiteCRM.
- Fournissez le nom d'utilisateur et le mot de passe que vous avez ajoutés auparavant dans les configurations du site paramètres.
- Vous serez dirigé avec succès vers SuiteCRM Tableau de bord comme indiqué ci-dessus.
- Configurez également cron pour que l'utilisateur Web exécute les planificateurs SuiteCRM.
sudo crontab -e -u nginx
- Ajoutez ensuite la ligne suivante à la crontab
* * * * * cd /var/www/html/suitecrm; php -f cron.php > /dev/null 2>&1
Conclusion
Dans cet article, nous avons illustré comment installer complètement SuiteCRM sur votre serveur CentOS 8.
C'est tout... merci.