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.