GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer SuiteCRM avec Nginx sur Ubuntu 16.04

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

  1. Installer le serveur Web Nginx
  2. Installer et configurer PHP-FPM
  3. Installer et configurer MariaDB
  4. Télécharger et configurer SuiteCRM
  5. Installateur Web SuiteCRM
  6. É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-data

Collez la configuration du script Cron ci-dessous.

*    *    *    *    *     cd /opt/suitecrm ; php -f cron.php>
 /dev/null 2>&1

Sauvegarder et quitter. Redémarrez ensuite le service Cron.

systemctl redémarrage cron

L'installation de SuiteCRM sur Ubuntu 16.04 est terminée.


Ubuntu
  1. Comment installer Nextcloud avec Nginx sur Ubuntu 18.04 LTS

  2. Comment installer MediaWiki avec Nginx sur Ubuntu 16.04

  3. Comment installer Magento 2 avec Nginx et Letsencrypt sur Ubuntu 18.04

  4. Comment installer Magento avec Nginx sur Ubuntu 15.10

  5. Comment installer Mailpile avec Nginx sur Ubuntu 15.10

Comment installer Nginx avec ModSecurity sur Ubuntu 15.04

Comment installer plusieurs WordPress avec Nginx sur Ubuntu 18.04

Comment installer SuiteCRM sur Ubuntu 20.04 avec Apache/Nginx

Comment installer Nextcloud 13 sur Ubuntu 16.04 avec Nginx

Comment installer Nginx sur Ubuntu 15.04

Comment installer SuiteCRM sur Ubuntu 20.04