Come installare OroCRM su Ubuntu 16.04

OroCRM è un'applicazione CRM (Customer Relationship Manager) gratuita e open source basata su OroPlatform. OroPlatform è un software di piattaforma applicativa aziendale open source completamente personalizzabile. OroPlatform ti offre tutte le funzionalità necessarie per creare un'applicazione personalizzata. OroCRM è realizzato utilizzando il framework PHP Symfony e memorizza i suoi dati nel server di database MySQL / MariaDB. Si tratta di un'applicazione CRM di livello enterprise che offre moltissime funzionalità. Si integra anche con molte applicazioni di terze parti come Magento Store, MailChimp, Zendesk e molte altre. È multilingue e ha un'interfaccia utente completamente reattiva, che ti offre la possibilità di gestirlo anche tramite dispositivi mobili.

Prerequisiti

In questo tutorial, useremo crm.example.comcome nome di dominio puntato al server. Sostituisci tutte le occorrenze di crm.example.comcon il tuo vero nome di dominio.

Aggiorna il tuo sistema di base usando la guida Come aggiornare Ubuntu 16.04 . Dopo aver aggiornato il sistema, procedere con l'installazione delle dipendenze richieste.

Installa Nginx e PHP 7

OroCRM può essere installato su qualsiasi server Web di produzione che supporta PHP. OroCRM supporta tutte le versioni di PHP successive alla 7.0. In questo tutorial, utilizzeremo Nginx con PHP-FPM e PHP 7.1.

Installa Nginx.

sudo apt -y install nginx

Avvia Nginx e abilita l'avvio automatico all'avvio.

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7.1 non è disponibile nel aptrepository predefinito . Innanzitutto, aggiungi il repository PPA per PHP.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Installa PHP 7.1 insieme ai moduli PHP richiesti da OroCRM.

sudo apt update
sudo apt -y install php7.1 php7.1-fpm php7.1-common php7.1-curl php7.1-gd php7.1-intl php7.1-json php7.1-mbstring php7.1-mcrypt php7.1-mysql php7.1-xml php7.1-xml php7.1-zip php7.1-tidy php7.1-soap php7.1-opcache

Modifica il file di configurazione PHP caricato.

sudo nano /etc/php/7.1/cli/php.ini

Trova le seguenti righe. Sblocca e apporta le modifiche come mostrato.

date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate timezone

cgi.fix_pathinfo=0

Avvia PHP-FPM e abilitalo all'avvio.

sudo systemctl start php7.1-fpm
sudo systemctl enable php7.1-fpm

Installa MariaDB

MariaDB è un fork open source di MySQL. Aggiungi repository MariaDB 10.2.

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://kartolo.sby.datautama.net.id/mariadb/repo/10.2/ubuntu xenial main'

Installa MariaDB.

sudo apt -y update
sudo apt -y install mariadb-server

Avviare MariaDB e abilitare l'avvio automatico all'avvio.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Crea il database per OroCRM

Esegui l'accesso alla shell MySQL come utente root eseguendo.

mysql -u root -p

Fornire la password per l'utente root MariaDB per accedere.

Eseguire le seguenti query per creare un database e un utente del database per l'installazione di OroCRM.

CREATE DATABASE oro_data;
CREATE USER 'oro_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON oro_data.* TO 'oro_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

È possibile sostituire il nome del database oro_datae il nome utente in oro_userbase alla propria scelta. Assicurati di passare StrongPassworda una password molto sicura .

Installa Node.js e Composer

OroCRM richiede anche il runtime JavaScript Node.js. Node.js verrà utilizzato da OroCRM per compilare JavaScript, che viene utilizzato per creare l'interfaccia utente dell'applicazione. Il repository predefinito di Ubuntu contiene una versione obsoleta di Node.js, quindi sarà necessario aggiungere il repository Nodesource al proprio sistema per ottenere la versione più recente.

sudo curl --silent --location https://deb.nodesource.com/setup_8.x | sudo bash -

Installa Node.js e Git.

sudo apt -y install nodejs git

Git verrà utilizzato per clonare il repository OroCRM da Internet. Dovrai anche installare Composer. Composer è uno strumento di gestione delle dipendenze per le applicazioni PHP. Poiché OroCRM è scritto nel framework Symfony, è necessario Composer per installare le dipendenze e l'applicazione.

Installa Composer.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php

Sposta Composer nella /usr/bindirectory in modo che possa essere eseguito da qualsiasi parte del sistema.

sudo mv composer.phar /usr/bin/composer

Fornisci il permesso di esecuzione al compositore.

sudo chmod +x /usr/bin/composer

Installa OroCRM

Esistono molti modi per scaricare OroCRM sul tuo server. Il modo più appropriato per ottenere la versione più aggiornata è clonare il repository tramite Git.

Clona il repository OroCRM.

cd /usr/share/nginx/
sudo git clone -b 2.4 https://github.com/oroinc/crm-application.git orocrm

Copia il parametersfile di esempio nel file predefinito parametersutilizzato da OroCRM.

cd orocrm
sudo cp app/config/parameters.yml.dist  app/config/parameters.yml

Prima di poter procedere oltre, sarà necessario aggiornare il parameters.ymlfile per fornire informazioni sul database e via e-mail.

sudo nano app/config/parameters.yml

Trova le seguenti righe.

database_driver:   pdo_mysql
database_host:     127.0.0.1
database_port:     ~
database_name:     oro_crm
database_user:     root
database_password: ~

Aggiorna la configurazione sopra in base al database che hai creato per memorizzare i dati OroCRM. Nel nostro caso, dovrebbe apparire così.

database_driver:   pdo_mysql
database_host:     127.0.0.1
database_port:     3306
database_name:     oro_data
database_user:     oro_user
database_password: StrongPassword

Se hai un server SMTP pronto e desideri utilizzare immediatamente le funzionalità di invio e-mail, puoi aggiornare le impostazioni del mailer come mostrato.

mailer_transport:  smtp
mailer_host:       mail.example.com
mailer_port:       456
mailer_encryption: ssl
mailer_user:       [email protected]
mailer_password:   EMailPassword

Se non disponi di un server di posta pronto, puoi saltarlo per ora lasciando i valori esistenti. Puoi sempre modificare la configurazione della posta elettronica tramite la dashboard.

Imposta una stringa casuale secretsostituendola ThisTokenIsNotSoSecretChangeIt. È necessaria una stringa casuale per codificare i dati della sessione. Una stringa di esempio sarà simile a questa.

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

È possibile generare una stringa casuale utilizzando l' pwgenutilità. Installa pwgeneseguendo sudo apt -y install pwgen. Per generare una stringa casuale, esegui pwgen -s 64 1.

Salvare il file ed uscire dall'editor. Installa le dipendenze PHP richieste tramite compositore.

sudo composer install --prefer-dist --no-dev

L'utilizzo --no-devgarantirà che Composer installi solo le dipendenze richieste per eseguire il server Web in modalità di produzione. Lo script richiederà alcuni minuti per scaricare e installare le dipendenze PHP richieste.

Installa l'applicazione.

sudo php app/console oro:install --env=prod

Questo costruirà la cache web e scriverà il database. Il --env=prodparametro viene fornito per installare l'applicazione in modalità di produzione. L'installazione procederà solo se tutte le dipendenze richieste sono installate e configurate.

Durante l'installazione, ti verranno poste alcune domande per la configurazione dell'account amministratore. Le domande sono le seguenti.

Administration setup.
Application URL (http://localhost): http://crm.example.com
Organization name (OroCRM): My Org
Username (admin): admin
Email: [email protected]
First name: John
Last name: Doe
Password:
Load sample data (y/n): y

Fornire le informazioni. Caricare i dati di esempio per valutare il prodotto prima di utilizzarlo per la produzione.

Riscalda la cache della documentazione API:

sudo php app/console oro:api:doc:cache:clear

Configurazione di Nginx, Firewall e autorizzazioni

Creare un file di blocco del server Nginx per servire l'applicazione agli utenti.

sudo nano /etc/nginx/sites-available/orocrm

Popolare il file.

server {
    server_name crm.example.com;
    root  /usr/share/nginx/orocrm/web;

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

    location ~ ^/(app|app_dev|config|install)\.php(/|$) {
        fastcgi_pass unix:/run/php/php7.1-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;
    }

    # Enable Gzip compression
    gzip on;
    gzip_buffers 16 8k;
    gzip_comp_level 5;
    gzip_disable "msie6";
    gzip_min_length 1000;
    gzip_http_version 1.0;
    gzip_proxied any;
    gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css image/svg+xml;
    gzip_vary on;    

    # Enable browser caching
    # One week for javascript and css
     location ~* \.(?:css|js) {
       expires 1w;
       access_log off;
       add_header Cache-Control public;
     }

     # Three weeks for media: images, fonts, icons, video, audio etc.
     location ~* \.(?:jpg|jpeg|gif|png|ico|tiff|woff|eot|ttf|svg|svgz|mp4|ogg|ogv|webm|swf|flv)$ {
       expires 3w;
       access_log off;
       add_header Cache-Control public;
     }

    error_log /var/log/nginx/orocrm_error.log;
    access_log /var/log/nginx/orocrm_access.log;
}

Assicurati di modificare il crm.example.comnome del tuo dominio attuale. La configurazione sopra include anche la configurazione richiesta per la compressione GZip e la memorizzazione nella cache del browser. La compressione Gzip comprime i dati prima di inviarli al browser. L'abilitazione della memorizzazione nella cache del browser memorizza le risorse statiche nella cache Web del computer client. La volta successiva che l'utente accede al sito, la maggior parte del contenuto statico viene caricato dalla cache Web dell'utente. Questi due metodi aumentano notevolmente la velocità dell'applicazione.

Abilita il sito.

sudo ln -s /etc/nginx/sites-available/orocrm /etc/nginx/sites-enabled/orocrm

Controllare il file di configurazione Nginx per eventuali errori.

sudo nginx -t

L'output dovrebbe essere simile al seguente.

user@vultr:/usr/share/nginx/orocrm$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Fornire la proprietà dei file OroCRM all'utente Nginx.

sudo chown -R www-data:www-data /usr/share/nginx/orocrm

Riavvia Nginx per applicare la nuova configurazione.

sudo systemctl restart nginx

Ora puoi accedere all'applicazione all'indirizzo http://crm.example.com. Accedi utilizzando l'amministratore usernamee passwordhai impostato durante l'installazione.

Imposta attività pianificate e lavori in background

Per eseguire automaticamente le attività pianificate è possibile aggiungere una voce di lavoro Cron. Aprire crontab.

sudo crontab -e

Aggiungi la seguente riga al file.

*/1 * * * * /usr/bin/php /usr/share/nginx/orocrm/app/console oro:cron --env=prod > /dev/null

Questo eseguirà il processo cron ogni minuto in modo che le attività pianificate come le code di posta elettronica vengano elaborate prima.

Sarà inoltre necessario impostare Supervisor per eseguire il servizio Coda messaggi. È necessario che almeno un processo sia sempre in esecuzione affinché un consumatore elabori i messaggi. Un consumatore può normalmente interrompere il processo del messaggio in molti modi. Per garantire che il servizio funzioni continuamente, utilizzeremo il servizio di supervisore. Configureremo Supervisor per eseguire quattro processi in parallelo. Se uno qualsiasi dei quattro processi viene interrotto per qualsiasi motivo, il supervisore proverà a riavviarlo.

Installa supervisore.

sudo apt -y install supervisor

Creare un nuovo file di configurazione del supervisore.

sudo nano /etc/supervisor/conf.d/orocrm.conf

Aggiungi le seguenti righe al file.

[program:oro_message_consumer]
command=/usr/bin/php /usr/share/nginx/orocrm/app/console --env=prod --no-debug oro:message-queue:consume
process_name=%(program_name)s_%(process_num)02d
numprocs=4
autostart=true
autorestart=true
startsecs=0
user=www-data
redirect_stderr=true

Avvia e abilita Supervisor per l'avvio automatico all'avvio.

sudo systemctl restart supervisor
sudo systemctl enable supervisor

È possibile visualizzare lo stato dei processi eseguendo quanto segue.

sudo supervisorctl status

Dovresti vedere che i processi sono in esecuzione.

user@vultr:/usr/share/nginx/orocrm$ sudo supervisorctl status
oro_message_consumer:oro_message_consumer_00   RUNNING   pid 20809, uptime 0:00:01
oro_message_consumer:oro_message_consumer_01   RUNNING   pid 20808, uptime 0:00:01
oro_message_consumer:oro_message_consumer_02   RUNNING   pid 20807, uptime 0:00:01
oro_message_consumer:oro_message_consumer_03   RUNNING   pid 20806, uptime 0:00:01

OroCRM è ora installato sul tuo server. Ora puoi utilizzare l'applicazione per gestire le attività di routine della tua organizzazione. Per ulteriori informazioni su OroCRM, è possibile visitare il sito Web ufficiale .



Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.