SuiteCRM

De Le Wiki de Lug
Aller à la navigation Aller à la recherche

LXC Unbuntu 20.04

Installation

Source

On installe l'ensemble LAMP et autres dépendances :

# apt update && apt upgrade
# apt install apache2 apache2-utils mariadb-server mariadb-client unzip php-imagick php7.4-fpm php7.4-mysql php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp

Archive SuiteCRM

On se rend à cette adresse pour récupérer et déployer la dernière verion de SuiteCRM :

# wget https://suitecrm.com/files/162/SuiteCRM-7.11/560/SuiteCRM-7.11.21.zip
# unzip SuiteCRM-7.11.21.zip -d /var/www/
# mv /var/www/SuiteCRM-7.11.21 /var/www/suitecrm
# rm SuiteCRM-7.11.21.zip

On attribue les droits et permissions :

# chown -R www-data. /var/www/suitecrm
# cd /var/www/suitecrm
# chmod -R 755 .
# chmod -R 775 cache custom modules themes data upload
# chmod 775 config_override.php 2>/dev/null

Configuration de MariaDB

On sécurise la base de données :

# mysql_secure_installation
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
... Success!

Ensuite on crée la base de données pour SuiteCRM et son utilisateur :

# sudo mysql -u root
> CREATE DATABASE suitecrm;
> GRANT ALL ON suitecrm.* TO 'suitecrm'@'localhost' IDENTIFIED BY 'monsupermotdepasse';
> FLUSH PRIVILEGES;
> EXIT;

Configuration de Apache et PHP

On configure les modules nécessaires :

# a2dismod php7.4 mpm_prefork
# a2enmod mpm_event proxy_fcgi setenvif
# systemctl restart apache2

On active SSL :

# a2enmod ssl
# a2ensite default-ssl
# systemctl reload apache2

(Optionnel) On supprime l'écoute sur le port 80 :

 # vi /etc/apache2/ports.conf
...
# /etc/apache2/sites-enabled/000-default.conf

#Listen 80
...
# systemctl reload apache2

On créé l'alias du site :

# vi /etc/apache2/sites-available/suitecrm.conf
Alias /suitecrm "/var/www/suitecrm/"

<Directory /var/www/suitecrm/>
  Options FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
</Directory>

Include /etc/apache2/conf-available/php7.4-fpm.conf

On active le site et on recharge Apache :

# a2ensite suitecrm.conf
# systemctl reload apache2

On augmente la limite de téléversement de fichier de PHP :

# sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 20M/g' /etc/php/7.4/fpm/php.ini
# systemctl restart php7.4-fpm && systemctl restart apache2

Configuration de SuiteCRM

On se rend à l'adresse "https://ADRESSE_IP_SERVEUR/suitecrm" pour accéder à la procédure d'installation.

  • On accepte la Licence :

On accepte la Licence..

  • On vérifie que l'environnement est correctement configuré :

Tout doit être "ok"..

  • Dans la partie suprérieur de la page suivante on configure la base de donnés àgauche et le compte de l'admin à droite :

On configure la BDD et le compte admin..

  • Plus bas sur la page diverses options de personnalisation sont proposées, il est préférable de renseigner le serveur SMTP de l'application :

On configure le SMTP de SuiteCRM..

  • Une fois terminé on valide avec "Next" :

On continue..

  • L'installation se lance :

On patiente..

  • Une fois terminé on accède à la page de connexion :

Installation terminé !

Installation de base terminée !

Installation d'un pack de langue

Changement de la devise

Vhost pour reverse-proxy Nginx

listen 80;
    listen [::]:80;
    server_name     crm.exemple.net;
   # return 404;
    return 301 https://$host$request_uri;
}

server {
server_name     crm.exemple.net;
    error_page 403  https://crm.exemple.net;

    location / {
            proxy_set_header Upgrade           $http_upgrade;
            proxy_set_header Connection        "upgrade";
            proxy_set_header Host              $host;
            proxy_set_header X-Real-IP         $remote_addr;
            proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Host  $host;
            proxy_set_header X-Forwarded-Port  $server_port;
            proxy_pass https://ADRESSE_IP_SERVEUR/suitecrm/;
            proxy_buffering off; #pour desactiver le "buffering"
    }

    listen [::]:443 ssl; # managed by Certbot
    listen 443 ssl; # managed by Certbot


    ssl_certificate /etc/letsencrypt/live/crm.exemple.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/crm.exemple.net/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    add_header Strict-Transport-Security "max-age=31536000" always;
    ssl_trusted_certificate /etc/letsencrypt/live/crm.exemple.net/chain.pem;
    ssl_stapling on;
    ssl_stapling_verify on;

server_tokens off;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";

}