SuiteCRM est un logiciel open source CRM (Customer Relationship Management) basé sur PHP. Il s'agit d'un fork du logiciel CRM populaire "SugarCRM", et est devenu plus populaire après que "SugarCRM" ait décidé d'arrêter le développement de la version gratuite. SuiteCRM a été nommé meilleur logiciel CRM open source sur BOSSIE 2015 et 2016.
Dans ce tutoriel, je vais vous montrer étape par étape comment installer le CRM open source 'SuiteCRM'. Le logiciel fonctionnera sous le serveur Web Nginx avec la base de données MariaDB et utilisera le système Ubuntu 16.04.
Ce que nous allons faire
- Installer le serveur Web Nginx
- Installer et configurer PHP-FPM
- Installer et configurer MariaDB
- Télécharger et configurer SuiteCRM
- Installateur Web SuiteCRM
- Étapes finales
Prérequis
- Serveur Ubuntu 16.04
- Privilèges root
Étape 1 - Installer le serveur Web Nginx
SuiteCRM est un logiciel basé sur le Web, et il a besoin d'un serveur Web. Nous pouvons utiliser Apache ou Nginx pour ce logiciel. Dans ce didacticiel, nous utiliserons le serveur Web Nginx au lieu du serveur Web Apache.
Connectez-vous à votre serveur Ubuntu et mettez à jour le référentiel.
ssh [email protected]
mise à jour sudo apt
Installez maintenant le serveur Web Nginx à l'aide de la commande apt de la manière suivante.
apt install -y nginx
Après l'installation, démarrez nginx et activez-le pour qu'il se lance automatiquement à chaque démarrage du système.
systemctl démarrer nginx
systemctl activer nginx
Le serveur Web Nginx est installé et il s'exécute sous le port HTTP par défaut 80. Vérifiez-le à l'aide de la commande netstat, ou vous pouvez utiliser curl pour voir le code d'état HTTP.
netstat -plntu
curl -I localhost
Étape 2 - Installer et configurer PHP-FPM
SuiteCRM est compatible avec plusieurs versions de PHP. Dans ce didacticiel, nous utiliserons la dernière version de PHP 7.0 pour l'installation de SuiteCRM.
Installez PHP et PHP-FPM 7 ainsi que les autres extensions requises à l'aide de la commande apt suivante.
apt install -y php7.0-fpm php7.0-mcrypt php7.0-imap php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0 -json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-zip php-soap libcurl3 curl
Une fois l'installation terminée, accédez au répertoire de configuration PHP et modifiez les fichiers php.ini pour les configurations 'cli' et 'fpm'.
cd /etc/php/7.0/
Modifiez les fichiers php.ini.
vim cli/php.ini
vim fpm/php.ini
Modifiez la valeur de la taille maximale du fichier de téléchargement. SuiteCRM a besoin d'au moins 6 Mo, mais nous définirons 100 Mo comme valeur.
upload_max_filesize =100M
Décommentez la ligne CGI (illustrée ci-dessous) et remplacez la valeur par 0.
cgi.fix_pathinfo=0
Pour la configuration du chemin des sessions, décommentez la ligne ci-dessous.
session.save_path ="/var/lib/php/sessions"
C'est ça. Enregistrez ces modifications et quittez.
Maintenant, nous devons créer un nouveau répertoire pour les fichiers de sessions PHP et changer le propriétaire du répertoire en utilisateur et groupe 'www-data'.
mkdir -p /var/lib/php/sessions
chown -R www-data:www-data /var/lib/php/sessions
La configuration PHP et PHP-FPM est terminée. Maintenant, démarrez le service et activez-le pour qu'il se lance à chaque fois au démarrage du système.
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
Par défaut sur le système Ubuntu, PHP-FPM s'exécutera sous le fichier chaussette au lieu d'utiliser le port système. Vérifiez-le à l'aide de la commande netstat ci-dessous.
netstat -pl | grep php
Et assurez-vous que le résultat que vous voyez est similaire à ce qui est montré dans la capture d'écran suivante.
Étape 3 - Installer et configurer MariaDB
Dans cette étape, nous allons installer MariaDB et configurer le mot de passe root. Configurez ensuite une nouvelle base de données pour l'installation de SuiteCRM.
Installez MariaDB à l'aide de la commande apt ci-dessous.
apt install -y mariadb-server mariadb-client
Après l'installation, démarrez le service et activez-le pour qu'il se lance à chaque démarrage du système.
systemctl démarrer mysql
systemctl activer mysql
Ensuite, configurez le mot de passe root MariaDB à l'aide de la commande 'mysql_secure_installation' comme ci-dessous.
mysql_secure_installation
On vous posera des questions sur la configuration, tapez 'Y' et appuyez sur 'Entrée'.
Définir le mot de passe root ? [O/n] O
Nouveau mot de passe :
Entrez à nouveau le nouveau mot de passe :
Supprimer les utilisateurs anonymes ? [O/n] O
Interdire la connexion root à distance ? [O/n] O
Supprimer la base de données de test et y accéder ? [O/n] O
Recharger les tables de privilèges maintenant ? [O/n] O
Le mot de passe root MariaDB a été configuré.
Nous allons maintenant créer une nouvelle base de données et un nouvel utilisateur pour l'installation de SuiteCRM. Créez une base de données nommée 'suitecrm_db' et un nouvel utilisateur 'crmadmin' avec le mot de passe 'hakase-labs123'. Connectez-vous au shell mysql et exécutez les requêtes mysql suivantes.
mysql -u root -p
Tapez votre mot de passe :
CREATE DATABASE suitecrm_db ;
CREATE USER 'crmadmin'@'localhost' IDENTIFIED BY 'hakase-labs123' ;
ACCORDER TOUS LES PRIVILÈGES SUR suitecrm_db.* À 'crmadmin'@'localhost' ;
FLUSH PRIVILÈGES ;
La configuration de la base de données MariaDB pour l'installation de SuiteCRM est terminée.
Étape 4 - Télécharger et configurer SuiteCRM
Dans cette étape, nous effectuerons certaines tâches qui prépareront le système pour l'installation de SuiteCRM. Nous allons télécharger le code source de SuiteCRM, configurer le pare-feu UFW, générer des certificats Letsencrypt et configurer l'hôte virtuel nginx pour SuiteCRM.
- Télécharger le code source SuiteCRM
Le code source de suiteCRM est disponible sur Github. Assurez-vous que la commande git est installée sur votre système. Ou si vous n'avez pas de package git, installez-le avec la commande apt ci-dessous.
apt install -y git
Allez maintenant dans le répertoire '/opt' et clonez le référentiel à l'aide de la commande git clone suivante.
cd /opt/
clone git https://github.com/salesagility/SuiteCRM.git suitecrm
Allez dans le répertoire suitecrm et créez un nouveau répertoire 'cache'. Ensuite, modifiez les autorisations de certains fichiers et répertoires, et enfin, nous devons modifier les autorisations de propriété pour le répertoire 'suitecrm' en utilisateur et groupe 'www-data'.
cd /opt/suitecrm
mkdir -p /opt/suitecrm/cache
chmod -R 775 cache modules personnalisés thèmes téléchargement de données config_override.php
chown www-data:www-data -R /opt/suitecrm
Le code source de SuiteCRM a été téléchargé.
- Configurer le pare-feu UFW
Sur Ubuntu, nous utiliserons le pare-feu ufw. Ouvrez de nouveaux ports HTTP, HTTPS et SSH à l'aide des commandes ufw comme indiqué ci-dessous.
ufw autorise ssh
ufw autorise http
ufw autorise https
Démarrez maintenant le pare-feu et activez-le pour qu'il se lance à chaque démarrage du système à l'aide de la commande ufw enable.
activation ufw
Tapez 'y' et appuyez sur Entrée pour activer le pare-feu.
Si vous souhaitez vérifier l'état du pare-feu, utilisez la commande ufw status.
statut ufw
Et vous obtiendrez l'état du pare-feu, y compris les ports que vous avez ajoutés.
- Générer des certificats Letsencrypt
Dans ce didacticiel, SuiteCRM utilisera HTTPS pour une connexion plus sécurisée entre le client et le serveur. À cette fin, nous utiliserons un certificat SSL gratuit de Letsencrypt.
Avant de générer des fichiers de certificat, nous devons installer l'agent client Letsencrypt sur le système. Il est disponible dans le référentiel Ubuntu, alors installez-le avec la commande apt ci-dessous.
apt install -y Letsencrypt
Après avoir installé Letsencrypt, nous devons arrêter le service nginx avant de générer des fichiers de certificat.
systemctl stop nginx
Générez maintenant des fichiers de certificat SSL à l'aide de la commande letsencrypt ci-dessous.
letsencrypt certonly --standalone -d suitecrm.hakase-labs.co
Remarque : Le --autonome L'option créera un serveur Web temporaire sur le système, nous devons donc arrêter le serveur Web Nginx avant de générer des fichiers de certificat.
Votre adresse e-mail vous sera demandée pour la notification de renouvellement. Saisissez votre adresse e-mail et cliquez sur "OK".
Pour l'accord Letsencrypt, choisissez "Accepter" et appuyez sur Entrée.
Un nouveau SSL Letsencrypt a été généré dans le répertoire '/etc/letsencrypt/live/domain.com'.
- Configurer l'hôte virtuel Nginx pour SuiteCRM
Allez dans le répertoire de configuration de Nginx et créez un nouveau fichier d'hôte virtuel 'suitecrm' dans le répertoire 'sites-available'.
cd /etc/nginx
vim sites-available/suitecrm
Collez-y la configuration Nginx suivante.
# Configuration du serveur - serveur hakase-labs
{
listen 80 ;
nom_serveur suitecrm.hakase-labs.co;
# Rediriger automatiquement vers HTTPS
return 301 https://$host$request_uri;
}
# SSL Nginx pour le serveur SuiteCRM
{
nom_serveur suitecrm.hakase -labs.co;
# Enable http2
listen 443 http2 ssl;
# SSL Config
ssl_certificate /etc/letsencrypt/live/suitecrm. hakase-labs.co/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/suitecrm.hakase-labs.co/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH : !aNULL : !MD5 ;
client_max_body_size 50 M ;
index index.php index.html index.htm ;
root /opt/suitecrm ;
emplacement / {
root /opt/suitecrm;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html ;
error_log /var/log/nginx/suitecrm.irsyadf.me.error.log ;
location =/50x.html {
racine /var/www/html ;
}
## Les images et le contenu statique sont traités différemment
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml| svg|wgoff2)$ {
access_log off ;
expire max ;
root /opt/suitecrm;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
inclure fastcgi_params ;
}
location ~ /\.ht {
tout refuser ;
}
}Enregistrez et quittez.
Activez maintenant l'hôte virtuel, testez la configuration et assurez-vous qu'il n'y a pas d'erreur. Redémarrez ensuite le serveur Web.
ln -s /etc/nginx/sites-available/suitecrm /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx
La configuration du système pour l'installation de SuiteCRM est terminée.
Étape 5 - Programme d'installation Web SuiteCRM
Ouvrez votre navigateur Web et saisissez l'URL SuiteCRM dans la barre d'adresse, la mienne est suitecrm.hakase-labs.co
Vous serez redirigé vers la connexion HTTPS et la page install.php.
Sur la page qui apparaît, vous verrez la licence GNU AFFERO - cochez la case "J'accepte" et cliquez sur "Suivant".
Vous obtiendrez maintenant la page sur l'environnement système pour l'installation de SuiteCRM.
Assurez-vous que tous les résultats sont "OK", comme indiqué dans l'image ci-dessous.
Cliquez sur "Suivant" pour continuer.
Vient ensuite la configuration de la base de données et de l'administrateur. Tapez les informations de votre base de données, dbname 'suitecrm_db', dbuser 'crmadmin' avec le mot de passe 'hakase-labs123'. Et saisissez votre utilisateur administrateur, votre mot de passe et votre adresse e-mail comme indiqué ci-dessous.
Faites défiler vers le bas et cliquez sur "Suivant" pour continuer l'installation de SuiteCRM.
Attendez un moment pour l'installation, et quand elle sera terminée, vous serez redirigé vers la page de connexion comme ci-dessous.
Saisissez votre nom d'utilisateur et votre mot de passe administrateur, puis cliquez sur le bouton "Connexion".
Vous pourrez maintenant voir le tableau de bord par défaut de SuiteCRM.
SuiteCRM a été installé avec le serveur Web Nginx sur le système Ubuntu 16.04.
Étape 6 - Étapes finales
Pour cette dernière étape, nous allons créer une nouvelle tâche Cron sous www-data user.
Exécutez la commande ci-dessous pour ajouter une nouvelle tâche Cron.
sudo crontab -e -u www-dataCollez la configuration du script Cron ci-dessous.
* * * * * cd /opt/suitecrm ; php -f cron.php> /dev/null 2>&1Sauvegarder et quitter. Redémarrez ensuite le service Cron.
systemctl redémarrage cronL'installation de SuiteCRM sur Ubuntu 16.04 est terminée.