Come installare OroCRM su CentOS 7

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 ecc. È multilingue e ha un'interfaccia utente completamente reattiva, che ti offre la possibilità di gestirlo anche tramite dispositivi mobili.

Prerequisiti

  • Un'istanza del server Vultr CentOS 7.
  • Un utente sudo .

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 CentOS 7 . 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 yum -y install nginx

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

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7 non è disponibile nel repository YUM predefinito, ma possiamo usare il repository Remi per ottenere e installare gli ultimi build di PHP 7. Innanzitutto, aggiungi e abilita il repository Remi.

sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php71

Installa l'ultima versione di PHP 7 insieme ai moduli PHP richiesti da OroCRM.

sudo yum -y install php php-fpm php-ctype php-curl php-fileinfo php-gd php-intl php-json php-mbstring php-mcrypt php-mysql php-pcre php-simplexml php-tokenizer php-xml php-zip php-tidy php-soap php-opcache php-posix

Modifica il file di configurazione PHP predefinito.

sudo nano /etc/php.ini

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

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

memory_limit = 512M
cgi.fix_pathinfo=0

Modifica il file di configurazione PHP-FPM.

sudo nano /etc/php-fpm.d/www.conf

Per impostazione predefinita, PHP-FPM è configurato per funzionare con Apache e per ascoltare la porta 9000. Dovremo cambiare l'utente e il gruppo, così come il file socket Unix su cui verrà eseguito. Trova le seguenti righe e apporta le modifiche necessarie come mostrato.

user = nginx
group = nginx

;listen = 127.0.0.1:9000
;Comment out or remove the above line and add the following line.
listen = /var/run/php-fpm/php-fpm.sock

listen.owner = nobody
listen.group = nobody

Avvia PHP-FPM e abilitalo all'avvio.

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Fornire la proprietà del file socket PHP-FPM all'utente Nginx.

sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock

Installa MariaDB

MariaDB è un fork open source di MySQL. Installa MariaDB.

sudo yum -y install mariadb mariadb-server

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

sudo systemctl start mariadb
sudo systemctl enable mariadb

L'installazione predefinita di MariaDB include alcuni database di test e utenti anonimi. Prima di configurare il database, è necessario prima proteggere il server MariaDB. Puoi proteggerlo eseguendo lo mysql_secure_installationscript.

sudo mysql_secure_installation

Ti verrà chiesta la password di root di MariaDB corrente. Per impostazione predefinita, non esiste una password di root in una nuova installazione di MariaDB. Premere il Entertasto per procedere. Imposta una password complessa per l'utente root del tuo server MariaDB e rispondi Ya tutte le altre domande poste. Le domande poste sono autoesplicative.

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 CentOS contiene una versione obsoleta di Node.js, quindi sarà necessario aggiungere il repository Nodesource al sistema per ottenere l'ultima versione.

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

Installa Node.js e Git.

sudo yum -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
php -r "unlink('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.3 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 l' pwgenutilità eseguendo sudo yum -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 Organization
Username (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/conf.d/orocrm.conf

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:/var/run/php-fpm/php-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 cambiare il crm.example.comcon il tuo vero nome di dominio. 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.

Controllare il file di configurazione Nginx per eventuali errori.

sudo nginx -t

L'output dovrebbe essere simile al seguente.

[user@vultr ~]$ 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 nginx:nginx /usr/share/nginx/orocrm

Riavvia Nginx per applicare la nuova configurazione.

sudo systemctl restart nginx

Se stai eseguendo un firewall sul tuo server, dovrai configurare il firewall per impostare un'eccezione per il servizio HTTP. Consenti a Nginx di connettersi dall'esterno della rete.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

Ora puoi accedere all'applicazione all'indirizzo http://crm.example.com. Accedi utilizzando il nome utente e la password dell'amministratore che hai 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 yum -y install supervisor

Modifica il file di configurazione del supervisore.

sudo nano /etc/supervisord.conf

Aggiungi le seguenti righe alla fine del 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=nginx
redirect_stderr=true

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

sudo systemctl start supervisord
sudo systemctl enable supervisord

È possibile visualizzare lo stato dei processi eseguendo quanto segue.

sudo supervisorctl status

Dovresti vedere che i processi sono in esecuzione.

[user@vultr ~]$ sudo supervisorctl status
oro_message_consumer:oro_message_consumer_00   RUNNING   pid 13596, uptime 0:02:13
oro_message_consumer:oro_message_consumer_01   RUNNING   pid 13595, uptime 0:02:13
oro_message_consumer:oro_message_consumer_02   RUNNING   pid 13594, uptime 0:02:13
oro_message_consumer:oro_message_consumer_03   RUNNING   pid 13593, uptime 0:02:13

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.