SuiteCRM è un software open source CRM (Customer Relationship Management) basato su PHP. È un fork del popolare software CRM "SugarCRM" ed è diventato più popolare dopo che "SugarCRM" ha deciso di interrompere lo sviluppo della versione gratuita. SuiteCRM è stato nominato miglior software CRM open source su BOSSIE 2015 e 2016.
In questo tutorial, ti mostrerò passo dopo passo come installare il CRM open source "SuiteCRM". Il software verrà eseguito sul server Web Nginx con il database MariaDB e utilizzando il sistema Ubuntu 16.04.
Cosa faremo
- Installa il server Web Nginx
- Installa e configura PHP-FPM
- Installa e configura MariaDB
- Scarica e configura SuiteCRM
- Programma di installazione Web SuiteCRM
- Passaggi finali
Prerequisiti
- Server Ubuntu 16.04
- Privilegi di root
Passaggio 1:installazione del server Web Nginx
SuiteCRM è un software basato sul web e necessita di un server web. Possiamo usare Apache o Nginx per questo software. In questo tutorial, utilizzeremo il server web Nginx invece del server web Apache.
Collegati al tuo server Ubuntu e aggiorna il repository.
ssh [email protected]
sudo apt update
Ora installa il server web Nginx usando il comando apt nel modo seguente.
apt install -y nginx
Dopo l'installazione, avvia nginx e abilitalo all'avvio automatico ogni volta all'avvio del sistema.
systemctl start nginx
systemctl enable nginx
Il server Web Nginx è installato e funziona con la porta HTTP predefinita 80. Verificalo utilizzando il comando netstat oppure puoi utilizzare curl per visualizzare il codice di stato HTTP.
netstat -plntu
curl -I localhost
Fase 2 - Installa e configura PHP-FPM
SuiteCRM è compatibile con più versioni di PHP. In questo tutorial, utilizzeremo la versione più recente di PHP 7.0 per l'installazione di SuiteCRM.
Installa PHP e PHP-FPM 7 insieme ad altre estensioni richieste usando il seguente comando apt.
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
Al termine dell'installazione, vai alla directory di configurazione di PHP e modifica i file php.ini sia per la configurazione 'cli' che per quella 'fpm'.
cd /etc/php/7.0/
Modifica i file php.ini.
vim cli/php.ini
vim fpm/php.ini
Modifica il valore della dimensione massima del file di caricamento. SuiteCRM richiede almeno 6 MB, ma imposteremo 100 MB come valore.
upload_max_filesize = 100M
Decommenta la riga CGI (mostrata sotto) e cambia il valore in 0.
cgi.fix_pathinfo=0
Per la configurazione del percorso delle sessioni, decommenta la riga sottostante.
session.save_path = "/var/lib/php/sessions"
Questo è tutto. Salva queste modifiche ed esci.
Ora dobbiamo creare una nuova directory per i file delle sessioni PHP e cambiare il proprietario della directory in utente e gruppo 'www-data'.
mkdir -p /var/lib/php/sessions
chown -R www-data:www-data /var/lib/php/sessions
La configurazione di PHP e PHP-FPM è stata completata. Ora avvia il servizio e abilitalo all'avvio ogni volta all'avvio del sistema.
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
Per impostazione predefinita sul sistema Ubuntu, PHP-FPM verrà eseguito nel file sock invece di utilizzare la porta di sistema. Controllalo usando il comando netstat di seguito.
netstat -pl | grep php
E assicurati che il risultato che vedi sia simile a quello mostrato nello screenshot seguente.
Fase 3 - Installa e configura MariaDB
In questo passaggio installeremo MariaDB e configureremo la password di root. Quindi configura un nuovo database per l'installazione di SuiteCRM.
Installa MariaDB usando il comando apt di seguito.
apt install -y mariadb-server mariadb-client
Dopo l'installazione, avvia il servizio e abilitalo all'avvio ogni volta all'avvio del sistema.
systemctl start mysql
systemctl enable mysql
Quindi, configura la password di root di MariaDB usando il comando 'mysql_secure_installation' come di seguito.
mysql_secure_installation
Ti verrà chiesto della configurazione, digita 'Y' e premi 'Invio'.
Set root password? [Y/n] Y
New password:
Re-enter new password:
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
La password di root di MariaDB è stata configurata.
Ora creeremo un nuovo database e un nuovo utente per l'installazione di SuiteCRM. Crea un database chiamato 'suitecrm_db' e un nuovo utente 'crmadmin' con password 'hakase-labs123'. Connettiti alla shell mysql ed esegui le seguenti query MySQL.
mysql -u root -p
Type your password:
CREATE DATABASE suitecrm_db;
CREATE USER 'crmadmin'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON suitecrm_db.* TO 'crmadmin'@'localhost';
FLUSH PRIVILEGES;
La configurazione del database MariaDB per l'installazione di SuiteCRM è stata completata.
Passaggio 4 - Scarica e configura SuiteCRM
In questo passaggio, eseguiremo alcune attività che prepareranno il sistema per l'installazione di SuiteCRM. Scaricheremo il codice sorgente di SuiteCRM, configureremo UFW Firewall, genereremo certificati Letsencrypt e configureremo l'host virtuale nginx per SuiteCRM.
- Scarica il codice sorgente di SuiteCRM
Il codice sorgente di suiteCRM è disponibile su Github. Assicurati che il comando git sia installato sul tuo sistema. Oppure, se non hai un pacchetto git, installalo con il comando apt di seguito.
apt install -y git
Ora vai nella directory '/opt' e clona il repository usando il seguente comando git clone.
cd /opt/
git clone https://github.com/salesagility/SuiteCRM.git suitecrm
Vai alla directory suitecrm e crea una nuova directory 'cache'. Quindi cambia i permessi di alcuni file e directory e, infine, dobbiamo cambiare i permessi di proprietà per la directory 'suitecrm' in utente e gruppo 'www-data'.
cd /opt/suitecrm
mkdir -p /opt/suitecrm/cache
chmod -R 775 cache custom modules themes data upload config_override.php
chown www-data:www-data -R /opt/suitecrm
Il codice sorgente di SuiteCRM è stato scaricato.
- Configura Firewall UFW
Su Ubuntu, utilizzeremo il firewall ufw. Apri nuove porte HTTP, HTTPS e SSH utilizzando i comandi ufw come mostrato di seguito.
ufw allow ssh
ufw allow http
ufw allow https
Ora avvia il firewall e abilitalo all'avvio ogni volta all'avvio del sistema utilizzando il comando ufw enable.
ufw enable
Digita 'y' e premi Invio per abilitare il firewall.
Se vuoi controllare lo stato del firewall, usa il comando ufw status.
ufw status
E otterrai lo stato del firewall comprese le porte che hai aggiunto.
- Genera certificati Letsencrypt
In questo tutorial, SuiteCRM utilizzerà HTTPS per una connessione più sicura tra client e server. A tale scopo, utilizzeremo il certificato SSL gratuito di Letsencrypt.
Prima di generare file di certificato, è necessario installare l'agente client Letencrypt sul sistema. È disponibile nel repository di Ubuntu, quindi installalo con il comando apt di seguito.
apt install -y letsencrypt
Dopo aver installato letencrypt, è necessario interrompere il servizio nginx prima di generare file di certificato.
systemctl stop nginx
Ora genera i file del certificato SSL utilizzando il comandoletsencrypt di seguito.
letsencrypt certonly --standalone -d suitecrm.hakase-labs.co
Nota: Il --autonomo l'opzione creerà un server Web temporaneo sul sistema, quindi è necessario arrestare il server Web Nginx prima di generare file di certificato.
Ti verrà chiesto il tuo indirizzo email per la notifica di rinnovo. Digita il tuo indirizzo email e fai clic su "OK".
Per l'accordo Letsencrypt, scegli "Accetto" e premi Invio.
Il nuovo SSL Letsencrypt è stato generato nella directory '/etc/letsencrypt/live/domain.com'.
- Configura l'host virtuale Nginx per SuiteCRM
Vai alla directory di configurazione di Nginx e crea un nuovo file host virtuale 'suitecrm' nella directory 'siti-disponibili'.
cd /etc/nginx
vim sites-available/suitecrm
Incolla lì la seguente configurazione di Nginx.
# Server Config - hakase-labs
server {
listen 80;
server_name suitecrm.hakase-labs.co;
# Automatically redirect to HTTPS
return 301 https://$host$request_uri;
}
# Nginx SSL for SuiteCRM
server {
server_name 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 50M;
index index.php index.html index.htm;
root /opt/suitecrm;
location / {
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 {
root /var/www/html;
}
## Images and static content is treated different
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml|svg|wgoff2)$ {
access_log off;
expires 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;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Salva ed esci.
Ora attiva l'host virtuale, verifica la configurazione e assicurati che non ci siano errori. Quindi riavvia il server web.
ln -s /etc/nginx/sites-available/suitecrm /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx
La configurazione del sistema per l'installazione di SuiteCRM è stata completata.
Fase 5 - Programma di installazione Web di SuiteCRM
Apri il tuo browser web e digita l'URL di SuiteCRM nella barra degli indirizzi, il mio è suitecrm.hakase-labs.co
Verrai reindirizzato alla connessione HTTPS e alla pagina install.php.
Nella pagina che appare, vedrai la licenza GNU AFFERO:controlla su "Accetto" e fai clic su "Avanti".
Ora otterrai la pagina sull'ambiente di sistema per l'installazione di SuiteCRM.
Assicurati che tutti i risultati siano "OK" come mostrato nell'immagine qui sotto.
Fai clic su "Avanti" per continuare.
Poi arriva la configurazione del database e dell'utente amministratore. Digita le informazioni sul database, dbname 'suitecrm_db', dbuser 'crmadmin' con password 'hakase-labs123'. E digita il tuo utente amministratore, password ed e-mail come mostrato di seguito.
Scorri fino in fondo e fai clic su "Avanti" per continuare l'installazione di SuiteCRM.
Attendi qualche istante per l'installazione e, una volta completata, verrai reindirizzato alla pagina di accesso come di seguito.
Digita l'utente amministratore e la password e fai clic sul pulsante "Accedi".
Ora potrai vedere la dashboard predefinita di SuiteCRM.
SuiteCRM è stato installato con il server web Nginx sul sistema Ubuntu 16.04.
Fase 6 - Passaggi finali
Per quest'ultimo passaggio, creeremo un nuovo lavoro Cron sotto l'utente www-data.
Esegui il comando seguente per aggiungere un nuovo processo Cron.
sudo crontab -e -u www-data
Incolla la configurazione dello script Cron di seguito.
* * * * * cd /opt/suitecrm; php -f cron.php > /dev/null 2>&1
Salva ed esci. Quindi riavvia il servizio Cron.
systemctl restart cron
L'installazione di SuiteCRM su Ubuntu 16.04 è stata completata.