Cum se instalează OroCRM pe Ubuntu 16.04

OroCRM este o aplicație de gestionare a relațiilor cu clienții (CRM) gratuită și deschisă, construită pe OroPlatform. OroPlatform este un software complet personalizabil pentru platforma de aplicații de afaceri open source. OroPlatform vă oferă toate funcțiile necesare pentru crearea unei aplicații personalizate. OroCRM este construit folosind cadrul PHP Symfony și stochează datele sale în serverul de baze de date MySQL / MariaDB. Este o aplicație CRM gata pentru întreprindere, care oferă tone de funcții. De asemenea, se integrează cu multe aplicații terțe, cum ar fi Magento Store, MailChimp, Zendesk și multe altele. Este multilingvă și are o interfață de utilizator complet receptivă, care vă oferă capacitatea de a-l gestiona folosind și dispozitive mobile.

Cerințe preliminare

În acest tutorial, vom folosi crm.example.comca nume de domeniu indicat către server. Înlocuiți toate aparițiile crm.example.comcu numele de domeniu real.

Actualizați-vă sistemul de bază utilizând ghidul Cum să actualizați Ubuntu 16.04 . După ce sistemul dvs. a fost actualizat, continuați să instalați dependențele necesare.

Instalați Nginx și PHP 7

OroCRM poate fi instalat pe orice server web de producție care acceptă PHP. OroCRM acceptă toate versiunile de PHP mai mari de 7.0. În acest tutorial, vom folosi Nginx cu PHP-FPM și PHP 7.1.

Instalați Nginx.

sudo apt -y install nginx

Porniți Nginx și permiteți-l să pornească automat la pornire.

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7.1 nu este disponibil în aptdepozitul implicit . Mai întâi, adăugați depozitul PPA pentru PHP.

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

Instalați PHP 7.1 împreună cu modulele PHP solicitate de 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

Editați fișierul de configurare PHP încărcat.

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

Găsiți următoarele rânduri. Decomandați și faceți modificări așa cum este arătat.

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

cgi.fix_pathinfo=0

Porniți PHP-FPM și permiteți-l să pornească de la pornire.

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

Instalați MariaDB

MariaDB este o furcă open source a MySQL. Adăugați depozitul 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'

Instalați MariaDB.

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

Porniți MariaDB și permiteți-l să pornească automat la pornire.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Creați baza de date pentru OroCRM

Conectați-vă la shell-ul MySQL ca utilizator root rulând.

mysql -u root -p

Furnizați parola pentru utilizatorul rădăcină MariaDB pentru a se autentifica.

Rulați următoarele întrebări pentru a crea o bază de date și un utilizator de bază de date pentru instalarea 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;

Puteți înlocui numele bazei de date oro_datași numele de utilizator în oro_userfuncție de alegerea dvs. Asigurați-vă că treceți StrongPasswordla o parolă foarte puternică.

Instalați Node.js și Composer

De asemenea, OroCRM necesită timp de rulare JavaScript Node.js. Node.js va fi folosit de OroCRM pentru a compila JavaScript, care este utilizat pentru a construi interfața de utilizator a aplicației. Depozitul implicit al Ubuntu conține o versiune depășită a Node.js, astfel va trebui să adăugați depozitul Nodesource la sistemul dvs. pentru a obține cea mai recentă versiune.

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

Instalați Node.js și Git.

sudo apt -y install nodejs git

Git va fi folosit pentru a clona depozitul OroCRM de pe internet. Va trebui, de asemenea, să instalați Composer. Composer este un instrument de gestionare a dependenței pentru aplicațiile PHP. Deoarece OroCRM este scris în cadrul Symfony, veți avea nevoie de Composer pentru a instala dependențele și aplicația.

Instalați Composer.

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

Mutați Composer în /usr/bindirector pentru a putea fi executat de oriunde în sistem.

sudo mv composer.phar /usr/bin/composer

Oferiți permisiunea de execuție compozitorului.

sudo chmod +x /usr/bin/composer

Instalați OroCRM

Există mai multe moduri de a descărca OroCRM pe serverul dvs. Cea mai potrivită modalitate de a obține cea mai actualizată versiune este clonarea depozitului prin Git.

Clonați depozitul OroCRM.

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

Copiați parametersfișierul de exemplu în fișierul implicit parametersutilizat de OroCRM.

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

Înainte de a merge mai departe, va trebui să actualizați parameters.ymlfișierul pentru a oferi informații de bază de date și e-mail.

sudo nano app/config/parameters.yml

Găsiți următoarele rânduri.

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

Actualizați configurația de mai sus în funcție de baza de date creată pentru a stoca datele OroCRM. În cazul nostru, ar trebui să arate astfel.

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

Dacă aveți un server SMTP gata și doriți să utilizați imediat funcțiile de trimitere prin e-mail, puteți actualiza setările mailerului așa cum se arată.

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

Dacă nu aveți un server de e-mail gata, îl puteți omite deocamdată lăsând valorile existente. Puteți modifica întotdeauna configurația e-mailului prin tabloul de bord.

Setați un șir aleatoriu secretînlocuind ThisTokenIsNotSoSecretChangeIt. Este necesar un șir aleatoriu pentru a codifica datele sesiunii. Un exemplu de șir va arăta astfel.

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

Puteți genera un șir aleatoriu folosind pwgenutilitarul. Instalați pwgenrulând sudo apt -y install pwgen. Pentru a genera un șir aleatoriu, executați pwgen -s 64 1.

Salvați fișierul și ieșiți din editor. Instalați dependențele PHP necesare prin intermediul compozitorului.

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

Utilizarea se --no-devva asigura că Composer instalează doar dependențele necesare pentru a rula serverul web în modul de producție. Scriptul va dura câteva minute pentru a descărca și instala dependențele PHP necesare.

Instalați aplicația.

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

Acest lucru va construi memoria cache web și va scrie baza de date. --env=prodParametrul este furnizat pentru a instala aplicația în modul de producție. Instalarea va continua numai dacă toate dependențele necesare sunt instalate și configurate.

În timpul instalării, vi se vor cere câteva întrebări pentru configurarea contului de administrator. Întrebările sunt următoarele.

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

Furnizați informațiile. Încărcați datele eșantionului pentru a evalua produsul înainte de al utiliza pentru producție.

Încălziți memoria cache a documentației API:

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

Configurarea Nginx, firewall și permisiuni

Creați un fișier de bloc de server Nginx pentru a servi aplicația utilizatorilor.

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

Populați fișierul.

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;
}

Asigurați-vă că schimbați crm.example.comnumele de domeniu real. Configurația de mai sus include, de asemenea, configurația necesară pentru compresia GZip și caching-ul browserului. Compresia Gzip comprimă datele înainte de a le trimite în browser. Activarea memorării în cache a browserului stochează resursele statice în memoria cache web a computerului client. Data viitoare când utilizatorul accesează site-ul, cea mai mare parte a conținutului static este încărcat din memoria cache web a utilizatorului. Aceste două metode cresc viteza aplicației dramatic.

Activați site-ul.

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

Verificați dacă există erori în fișierul de configurare Nginx.

sudo nginx -t

Rezultatul ar trebui să arate după cum urmează.

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

Furnizați proprietatea fișierelor OroCRM utilizatorului Nginx.

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

Reporniți Nginx pentru a aplica noua configurație.

sudo systemctl restart nginx

Acum puteți accesa aplicația la http://crm.example.com. Conectați-vă folosind administratorul usernameși passwordați setat-o ​​în timpul instalării.

Configurați sarcini programate și lucrări de fundal

Pentru a rula automat sarcinile programate puteți adăuga o intrare de lucru Cron. Deschis crontab.

sudo crontab -e

Adăugați următoarea linie la fișier.

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

Aceasta va rula lucrarea cron în fiecare minut, astfel încât sarcinile programate, cum ar fi cozile de e-mail să fie procesate cât mai devreme.

De asemenea, va trebui să configurați Supervizorul pentru a rula serviciul Coada de mesaje. Este necesar ca cel puțin un proces să funcționeze în permanență pentru ca un consumator să proceseze mesajele. În mod normal, un consumator poate întrerupe procesul de mesaje prin mai multe moduri. Pentru a ne asigura că serviciul funcționează continuu, vom folosi serviciul de Supervizor. Vom configura Supervizorul pentru a rula patru procese în paralel. Dacă vreunul dintre cele patru procese este oprit din orice motiv, Supervizorul va încerca să-l pornească din nou.

Instalați Supervizorul.

sudo apt -y install supervisor

Creați un nou fișier de configurare a Supervizorului.

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

Adăugați următoarele linii în fișier.

[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

Porniți și permiteți Supervizorul să pornească automat la momentul de pornire.

sudo systemctl restart supervisor
sudo systemctl enable supervisor

Puteți vizualiza starea proceselor rulând următoarele.

sudo supervisorctl status

Ar trebui să vedeți că procesele se execută.

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 este acum instalat pe serverul dvs. Acum puteți utiliza aplicația pentru a gestiona sarcinile de rutină ale organizației dvs. Pentru a afla mai multe despre OroCRM, puteți vizita site-ul său oficial .



Leave a Comment

Cum se instalează Anchor CMS pe un VPS Fedora 26 LAMP

Cum se instalează Anchor CMS pe un VPS Fedora 26 LAMP

Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis

Configurare partajare NFS pe Debian

Configurare partajare NFS pe Debian

NFS este un sistem de fișiere bazat pe rețea care permite computerelor să acceseze fișiere într-o rețea de calculatoare. Acest ghid explică modul în care puteți expune folderele peste NF

Configurați un server TeamTalk pe Linux

Configurați un server TeamTalk pe Linux

TeamTalk este un sistem de conferințe care permite utilizatorilor să aibă conversații audio / video de înaltă calitate, chat de text, transfer de fișiere și partajare ecrane. Este

Folosind cheia SSH pentru a vă conecta la utilizatori non-root

Folosind cheia SSH pentru a vă conecta la utilizatori non-root

Vultr oferă o caracteristică care vă permite să preinstalați cheile SSH la crearea unei noi instanțe. Acest lucru vă permite să accesați utilizatorul root al serverelor, totuși

Cum se instalează Ranger Terminal File Manager pe Linux

Cum se instalează Ranger Terminal File Manager pe Linux

Ranger este un manager de fișiere bazat pe linia de comandă cu legături de cheie VI. Oferă o interfață de blestem minimalistă și frumoasă, cu o vedere asupra ierarhiei de directoare

Cum se instalează Redmine pe Ubuntu 16.04

Cum se instalează Redmine pe Ubuntu 16.04

Folosind un sistem diferit? Redmine este un instrument gratuit și deschis de gestionare a proiectelor bazat pe web. Este scris în Ruby on Rails și acceptă mai multe baze de date

Instalare RethinkDB Cluster pe CentOS 7

Instalare RethinkDB Cluster pe CentOS 7

Introducere RethinkDB este o bază de date NoSQL care stochează date sub formă de documente JSON. Are un limbaj de interogare super intuitiv și are funcții disponibile în mod obișnuit

Cum se construiește Brotli din sursă pe Ubuntu 18.04 LTS

Cum se construiește Brotli din sursă pe Ubuntu 18.04 LTS

Folosind un sistem diferit? Brotli este o nouă metodă de compresie cu un raport de compresie mai bun decât GZIP. Codul sursă este găzduit public pe acest Githu

Configurarea conturilor de utilizator numai SFTP pe CentOS 7

Configurarea conturilor de utilizator numai SFTP pe CentOS 7

În anumite ocazii, este posibil ca un administrator de sistem să aibă nevoie să creeze un cont de utilizator și să restricționeze accesul acestora la gestionarea propriilor fișiere prin sFTP, dar nu b

Utilizarea vizualizărilor MySQL pe Debian 7

Utilizarea vizualizărilor MySQL pe Debian 7

Introducere MySQL are o caracteristică excelentă cunoscută sub numele de vizualizări. Vizualizările sunt interogări stocate. Gândiți-vă la ele ca la un alias pentru o întrebare altfel lungă. În acest ghid,

Cum se instalează Nginx 1.14 pe Arch Linux

Cum se instalează Nginx 1.14 pe Arch Linux

Cerințe preliminare Un server Vultr care funcționează actualizat Arch Linux (vezi acest articol.) Acces Sudo. Comenzile care trebuie rulate ca root sunt prefixate de #. Th

Dezactivați sau restricționați conectarea rădăcină prin SSH pe Linux

Dezactivați sau restricționați conectarea rădăcină prin SSH pe Linux

Permiterea autentificării root pe SSH este de obicei considerată o practică slabă de securitate în întreaga industrie tehnologică. În schimb, puteți efectua administrativ sensibil

Cum se instalează Seafile Server pe Ubuntu 16.10

Cum se instalează Seafile Server pe Ubuntu 16.10

Folosind un sistem diferit? Seafile (versiunea comunității) este o soluție gratuită și deschisă de sincronizare și partajare a fișierelor, care este similară cu ownCloud. De-a lungul spiritului

Cum să compilați Nginx din sursă pe CentOS 7

Cum să compilați Nginx din sursă pe CentOS 7

Folosind un sistem diferit? NGINX poate fi utilizat ca server HTTP / HTTPS, server proxy invers, server proxy de poștă, echilibrator de sarcină, terminator TLS sau cachin

Cum se instalează Thelia 2.3 pe Debian 9

Cum se instalează Thelia 2.3 pe Debian 9

Folosind un sistem diferit? Thelia este un instrument open source pentru crearea de site-uri web pentru e-business și gestionarea conținutului online scris în PHP. Codul sursă Thelia i

Cum se instalează DokuWiki pe Ubuntu 16.04 LTS

Cum se instalează DokuWiki pe Ubuntu 16.04 LTS

Folosind un sistem diferit? DokuWiki este un program wiki open source scris în PHP care nu necesită o bază de date. Stochează date în fișiere text. DokuWik

Configurarea unui chroot pe Debian

Configurarea unui chroot pe Debian

Acest articol vă va învăța cum să configurați o închisoare chroot pe Debian. Presupun că utilizați Debian 7.x. Dacă executați Debian 6 sau 8, acest lucru poate funcționa, bine

Cum se instalează PiVPN pe Debian

Cum se instalează PiVPN pe Debian

Introducere Un mod ușor de a configura un server VPN pe Debian este cu PiVPN. PiVPN este un instalator și un pachet pentru OpenVPN. Creează comenzi simple pentru tine

Cum se instalează Chamilo 1.11.8 pe CentOS 7

Cum se instalează Chamilo 1.11.8 pe CentOS 7

Folosind un sistem diferit? Chamilo este un sistem gratuit și deschis de management al învățării (LMS), care este utilizat pe scară largă pentru educația online și colaborarea în echipă

Instalați Nginx, Wordpress și permiteți criptarea în minute cu EasyEngine pe Debian 8 sau Ubuntu 16.04

Instalați Nginx, Wordpress și permiteți criptarea în minute cu EasyEngine pe Debian 8 sau Ubuntu 16.04

EasyEngine (ee) este un instrument Python care vă permite să gestionați ușor și automat site-urile Wordpress de pe Nginx. Folosind EasyEngine, nu va trebui să dați

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe