GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare SuiteCRM su Ubuntu 20.04 con Apache/Nginx

Questo tutorial ti mostrerà come installare SuiteCRM su Ubuntu 20.04 con server web Apache o Nginx. SuiteCRM è una soluzione software open source gratuita per la gestione delle relazioni con i clienti che offre una visione a 360 gradi dei tuoi clienti e della tua attività. È un fork del popolare SugarCRM software perché SugarCRM ha smesso di rilasciare la sua edizione della community open source nel 2014.

Caratteristiche di SuiteCRM

  • Sistema calendario/promemoria
  • Archiviazione documenti
  • E-mail marketing
  • Integrazione della chat interna
  • qualificazione principale
  • automazione del marketing
  • accesso mobile
  • Quote/Stime
  • Segmentazione
  • Integrazione con i social media
  • gestione delle attività
  • gestione del territorio
  • Automazione della forza vendita, campagne di marketing, assistenza clienti, collaborazione, Mobile CRM, Social CRM e reportistica.
  • Installa plug-in per estendere la funzionalità di SuiteCRM.
  • SuiteCRM può essere facilmente integrato con servizi di inoltro SMTP di terze parti come Gmail, Mandrill, Sendgrid, Amazon SES. Puoi anche utilizzare il tuo server di posta.
  • Può integrarsi perfettamente con molte app di terze parti popolari come Mautic, Gmail, Facebook, Twitter, GoToMeeting, MailChimp, Zoom, Quickbooks, Avaya, DocuSign, ecc.
  • Supporta più account utente e ruoli.
  • E molto altro

Prerequisiti per l'installazione di SuiteCRM su Ubuntu 20.04 Server

SuiteCRM è scritto in PHP e si basa sul server di database MySQL/MariaDB. Quindi è necessario impostare uno stack LAMP o uno stack LEMP. Se preferisci Apache server web, quindi imposta lo stack LAMP.

  • Come installare lo stack LAMP su Ubuntu 20.04

Se preferisci Nginx server web, quindi imposta lo stack LEMP.

  • Come installare lo stack LEMP su Ubuntu 20.04

Hai anche bisogno di un nome di dominio. Ho registrato il mio nome di dominio da NameCheap perché il prezzo è basso e offrono protezione della privacy a whois gratuita per tutta la vita. Senza ulteriori indugi, installiamo SuiteCRM sul server Ubuntu 20.04.

Passaggio 1:scarica SuiteCRM sul tuo server Ubuntu 20.04

Scarica l'ultima versione stabile eseguendo il seguente comando sul tuo server.

wget https://suitecrm.com/files/162/SuiteCRM-7.11/525/SuiteCRM-7.11.18.zip

Installa unzip utility e decomprimilo in /var/www/ directory.

sudo apt install unzip

sudo mkdir -p /var/www/

sudo unzip SuiteCRM-7.11.18.zip -d /var/www/

Verrà salvato in /var/www/SuiteCRM-7.11.18/ directory. Lo rinominiamo per renderlo più semplice.

sudo mv /var/www/SuiteCRM-7.11.18/ /var/www/suitecrm

Quindi esegui i seguenti comandi per impostare le autorizzazioni corrette.

cd /var/www/suitecrm

sudo chown -R www-data:www-data /var/www/suitecrm/

sudo chmod -R 755 .

sudo chmod -R 775 cache custom modules themes data upload

sudo chmod 775 config_override.php 2>/dev/null

Fase 2:crea un database MariaDB e un utente per SuiteCRM

Accedi alla console MariaDB.

sudo mysql -u root

Quindi, crea un nuovo database per SuiteCRM usando il comando seguente. Questo tutorial lo chiama suitecrm , puoi utilizzare il nome che preferisci per il database.

CREATE DATABASE suitecrm;

Il comando seguente creerà un utente e una password del database e allo stesso tempo concederà tutti i permessi del nuovo database al nuovo utente in modo che in seguito SuiteCRM possa scrivere nel database. Sostituisci i testi rossi con il nome del database, il nome utente e la password preferiti.

GRANT ALL ON suitecrm.* TO 'suitecrm'@'localhost' IDENTIFIED BY 'password';

Svuota la tabella dei privilegi ed esci dalla console MariaDB.

FLUSH PRIVILEGES;

EXIT;

Fase 3:installa i moduli PHP richiesti e consigliati.

Esegui il comando seguente per installare i moduli PHP richiesti o consigliati da SuiteCRM

sudo apt install 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

Se utilizzi il server web Apache, devi disabilitare il modulo PHP per Apache.

sudo a2dismod php7.4

Devi anche disabilitare il modulo MPM prefork in Apache.

sudo a2dismod mpm_prefork

Ora devi eseguire il comando seguente per abilitare tre moduli per poter usare PHP-FPM in Apache, indipendentemente dal fatto che mod_php è installato sul tuo server.

sudo a2enmod mpm_event proxy_fcgi setenvif

Quindi riavvia Apache.

sudo systemctl restart apache2

Fase 4:crea un host virtuale Apache o un file di configurazione Nginx per SuiteCRM

Apache

Se utilizzi il server web Apache, crea un host virtuale per SuiteCRM.

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

Inserisci il seguente testo nel file. Sostituisci suitecrm.example.com con il tuo vero nome di dominio e non dimenticare di creare un record DNS A per esso.

<VirtualHost *:80>
  ServerName suitecrm.example.com
  DocumentRoot /var/www/suitecrm/

  ErrorLog ${APACHE_LOG_DIR}/suitecrm_error.log
  CustomLog ${APACHE_LOG_DIR}/suitecrm_access.log combined

  <Directory />
    Options FollowSymLinks
    AllowOverride All
  </Directory>

  <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

</VirtualHost>

Salva e chiudi il file. Quindi abilita questo host virtuale con:

sudo a2ensite suitecrm.conf

Ricarica Apache per rendere effettive le modifiche.

sudo systemctl reload apache2

Ora dovresti essere in grado di vedere la procedura guidata di installazione basata sul Web di SuiteCRM su http://suitecrm.example.com/install.php .

Nginx

Se utilizzi il server web Nginx, crea un host virtuale per SuiteCRM.

sudo nano /etc/nginx/conf.d/suitecrm.conf

Inserisci il seguente testo nel file. Sostituisci suitecrm.example.com con il tuo vero nome di dominio e non dimenticare di creare un record DNS A per esso.

server {
   listen 80;
   listen [::]:80;
   server_name suitecrm.example.com;

   root /var/www/suitecrm;
   error_log /var/log/nginx/suitecrm.error;
   access_log /var/log/nginx/suitecrm.access;
   client_max_body_size 20M;

   index index.php index.html index.htm index.nginx-debian.html;

   location / {
     # try to serve file directly, fallback to app.php
     try_files $uri /index.php$is_args$args;
   }

   location ~ \.php$ {
     include snippets/fastcgi-php.conf;
     fastcgi_pass unix:/run/php/php7.4-fpm.sock;
     #Note: If you install SuiteCRM on iRedMail server, you should use the TCP socket instead. 
     #fastcgi_pass 127.0.0.1:9999
   }

   location ~* ^/index.php {
     # try_files $uri =404;
     fastcgi_split_path_info ^(.+\.php)(/.+)$;
     # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

     fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
     #Note: If you install SuiteCRM on iRedMail server, you should use the TCP socket instead.
     #fastcgi_pass 127.0.0.1:9999
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     include fastcgi_params;

     fastcgi_buffer_size 128k;
     fastcgi_buffers 256 16k;
     fastcgi_busy_buffers_size 256k;
     fastcgi_temp_file_write_size 256k;
   }

    # Don't log favicon
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    # Don't log robots
    location = /robots.txt  {
        access_log off;
        log_not_found off;
    }

    # Deny all attempts to access hidden files/folders such as .htaccess, .htpasswd, .DS_Store (Mac), etc...
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

     # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }
}

Salva e chiudi il file. Quindi testa la configurazione di Nginx.

sudo nginx -t

Se il test ha esito positivo, ricarica Nginx per rendere effettive le modifiche.

sudo systemctl reload nginx

Ora dovresti essere in grado di vedere la procedura guidata di installazione basata sul Web di SuiteCRM su http://suitecrm.example.com/install.php .

Fase 5:abilitazione di HTTPS

Per crittografare il traffico HTTP, possiamo abilitare HTTPS installando un certificato TLS gratuito emesso da Let's Encrypt. Esegui il comando seguente per installare il client Let's Encrypt (certbot) sul server Ubuntu 20.04.

sudo apt install certbot

Se usi Nginx , devi anche installare il plug-in Certbot Nginx.

sudo apt install python3-certbot-nginx

Quindi, esegui il comando seguente per ottenere e installare il certificato TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d suitecrm.example.com

Se usi Apache , installa il plugin Certbot Apache.

sudo apt install python3-certbot-apache

Ed esegui questo comando per ottenere e installare il certificato TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d suitecrm.example.com

Dove

  • --nginx :usa il plugin nginx.
  • --apache :usa il plugin Apache.
  • --agree-tos :Accetta i termini di servizio.
  • --redirect :Forza HTTPS tramite reindirizzamento 301.
  • --hsts :aggiungi l'intestazione Strict-Transport-Security a ogni risposta HTTP. Forzare il browser a utilizzare sempre TLS per il dominio. Difende dallo stripping SSL/TLS.
  • --staple-ocsp :Abilita la pinzatura OCSP. Una risposta OCSP valida viene pinzata al certificato offerto dal server durante TLS.

Il certificato dovrebbe ora essere ottenuto e installato automaticamente.

Fase 6:aumenta il limite delle dimensioni del file di caricamento

PHP imposta un limite per la dimensione del file di caricamento. La dimensione massima predefinita del file per il caricamento è 2 MB. Per aumentare la dimensione del caricamento, modifica il file di configurazione PHP.

sudo nano /etc/php/7.4/fpm/php.ini

Trova la riga seguente (riga 846).

upload_max_filesize = 2M

Modifica il valore come di seguito. Si consiglia di impostare almeno 20 MB.

upload_max_filesize = 20M

Salva e chiudi il file. In alternativa, puoi eseguire il comando seguente per modificare il valore senza aprire manualmente il file.

sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 20M/g' /etc/php/7.4/fpm/php.ini

Quindi riavvia PHP-FPM.

sudo systemctl restart php7.4-fpm

Riavvia anche Apache/Nginx.

sudo systemctl restart apache2

o

sudo systemctl restart nginx

Fase 7:Completa l'installazione di SuiteCRM nel browser Web

Ora nella barra degli indirizzi del browser, digita il tuo nome di dominio per SuiteCRM per accedere alla procedura guidata di installazione web.

https://suitecrm.your-domain.com/install.php

Innanzitutto, accetta la licenza GNU AGPL.

Quindi controllerà l'ambiente del tuo server. Se tutto è a posto, fai clic su Avanti .

Quindi inserire i dettagli del database MariaDB/MySQL creati nel passaggio 2. È inoltre necessario impostare una password per l'utente amministratore, che verrà utilizzata per accedere all'interfaccia web. Modifica l'URL in https://suitecrm.your-domain.com e inserisci il tuo indirizzo email.

In more options sezione, puoi configurare le impostazioni e-mail, come l'impostazione del nome Da e dell'indirizzo Da.

Se SuiteCRM è installato sul tuo server di posta, puoi utilizzare 127.0.0.1 come server SMTP e la porta 25 come porta SMTP, quindi SuiteCRM utilizzerà il tuo server di posta per inviare e-mail.

Se SuiteCRM e il tuo server di posta sono in esecuzione su host diversi e desideri che SuiteCRM invii e-mail tramite il tuo server di posta, devi scegliere Other come trasporto di posta. Allora

  • Inserisci il nome host del tuo server di posta
  • Scegli la porta 587
  • Scegli la crittografia TLS.
  • Inserisci le credenziali di accesso di un indirizzo email sul tuo server di posta.

Fare clic sul pulsante Avanti e SuiteCRM verrà installato.

Passaggio 8:abilita HTTP2 per migliorare le prestazioni

Puoi abilitare il protocollo HTTP2 per migliorare le prestazioni di caricamento delle pagine per SuiteCRM.

Apache

Innanzitutto, devi abilitare il modulo HTTP2.

sudo a2enmod http2

Quindi apri il file dell'host virtuale SSL.

sudo nano /etc/apache2/sites-enabled/suitecrm-le-ssl.conf

Inserisci la seguente direttiva dopo l'apertura <VirtualHost *:443> tag.

Protocols h2 http/1.1

Salva e chiudi il file. Quindi riavvia Apache per rendere effettive le modifiche.

sudo systemctl restart apache2

Nginx

Per abilitare il protocollo HTTP2 nell'host virtuale Nginx, trova la riga seguente.

listen 443 ssl; # managed by Certbot

Aggiungi semplicemente http2 dopo ssl .

listen 443 ssl http2; # managed by Certbot

Salva e chiudi il file. Quindi ricarica Nginx.

sudo systemctl reload nginx

Passaggio 9:aggiungi lavori Cron

SuiteCRM si basa sui lavori Cron per funzionare correttamente. Modifica il file crontab dell'utente www-data. (Non dovresti aggiungere i comandi SuiteCRM nel file crontab dell'utente root.)

sudo -u www-data crontab -e

Aggiungi le seguenti righe alla fine di questo file.

######  SuiteCRM Cron Job #######
* * * * *  php7.4 -f /var/www/suitecrm/cron.php > /dev/null 2>&1

Salva e chiudi il file.

Come integrarsi con Mautic

Mautic è un'alternativa open source gratuita ai fornitori di servizi di posta elettronica commerciali come MailChimp. Mautic ha un plug-in SugarCRM e poiché SuiteCRM è basato su SugarCRM 6.x, possiamo utilizzare il plug-in SugarCRM per l'integrazione con Mautic.

Innanzitutto, dobbiamo andare all'interfaccia web di SuiteCRM, fare clic sulla freccia a discesa nell'angolo in alto a destra per accedere al modulo di amministrazione.

Quindi scorri verso il basso e seleziona Chiavi OAuth.

Crea una nuova chiave OAuth. Assegna alla chiave un nome come mautic . Inserisci qualcosa come matuic-suitecrm nella Consumer key campo. Quindi inserisci alcuni caratteri casuali nel Consumer Secret campo. Salva le modifiche.

Quindi, vai a Mautic Settings -> Plugins -> SugarCRM . Inserisci l'URL di SuiteCRM, la chiave del cliente (chiave del consumatore) e il segreto del cliente (segreto del consumatore). Quindi inserisci il nome utente e la password dell'amministratore di SuiteCRM. Seleziona la versione 6.x/community. Fai clic sul pulsante Autorizza app.

Una volta autorizzato, puoi modificare lo stato di pubblicazione da No a Yes . Se riscontri un errore durante il tentativo di autorizzazione dell'app, assicurati che i record DNS per il tuo sottodominio Mautic e SuiteCRM siano entrambi propagati a Internet.


Ubuntu
  1. Come installare Apache su Ubuntu 18.04

  2. Come installare Apache su Ubuntu 20.04

  3. Come installare Nginx su Ubuntu 16.04

  4. Come installare Joomla con Apache su Ubuntu 18.04

  5. Come installare Elgg con Nginx su Ubuntu 14.04

Come installare InvoiceNinja su Ubuntu 18.04 Server con Apache/Nginx

Come installare InvoiceNinja su Ubuntu 20.04 Server con Apache/Nginx

Come installare Apache Tomcat 10 su Ubuntu 20.04 con Nginx

Come installare Apache Tomcat 10 su Ubuntu 22.04 con Nginx

Come installare Apache su Ubuntu 22.04

Come installare Nginx su Ubuntu 22.04