GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare SuiteCRM con Nginx su Ubuntu 16.04

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

  1. Installa il server Web Nginx
  2. Installa e configura PHP-FPM
  3. Installa e configura MariaDB
  4. Scarica e configura SuiteCRM
  5. Programma di installazione Web SuiteCRM
  6. 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.


Ubuntu
  1. Come installare Nextcloud con Nginx su Ubuntu 18.04 LTS

  2. Come installare MediaWiki con Nginx su Ubuntu 16.04

  3. Come installare Magento 2 con Nginx e Letsencrypt su Ubuntu 18.04

  4. Come installare Magento con Nginx su Ubuntu 15.10

  5. Come installare Mailpile con Nginx su Ubuntu 15.10

Come installare Nginx con ModSecurity su Ubuntu 15.04

Come installare più WordPress con Nginx su Ubuntu 18.04

Come installare SuiteCRM su Ubuntu 20.04 con Apache/Nginx

Come installare Nextcloud 13 su Ubuntu 16.04 con Nginx

Come installare Nginx su Ubuntu 15.04

Come installare SuiteCRM su Ubuntu 20.04