Ako nainštalovať OroCRM na Ubuntu 16.04

OroCRM je bezplatná a open source aplikácia Customer Relationship Manager (CRM) postavená na platforme OroPlatform. OroPlatform je plne prispôsobiteľný softvér platformy podnikových aplikácií s otvoreným zdrojom. OroPlatform vám poskytuje všetky funkcie, ktoré sú potrebné na vytvorenie prispôsobenej aplikácie. OroCRM je vytvorený pomocou PHP Symfony frameworku a ukladá svoje dáta do databázového servera MySQL/MariaDB. Je to podniková CRM aplikácia, ktorá poskytuje množstvo funkcií. Tiež sa integruje s mnohými aplikáciami tretích strán, ako sú Magento Store, MailChimp, Zendesk a mnoho ďalších. Je viacjazyčný a má plne citlivé používateľské rozhranie, ktoré vám poskytuje možnosť spravovať ho aj pomocou mobilných zariadení.

Predpoklady

V tomto návode použijeme crm.example.comnázov domény nasmerovaný na server. Nahraďte všetky výskyty crm.example.comsvojho skutočného názvu domény.

Aktualizujte svoj základný systém pomocou príručky Ako aktualizovať Ubuntu 16.04 . Po aktualizácii systému pokračujte v inštalácii požadovaných závislostí.

Nainštalujte Nginx a PHP 7

OroCRM je možné nainštalovať na akýkoľvek produkčný webový server podporujúci PHP. OroCRM podporuje všetky verzie PHP vyššie ako 7.0. V tomto návode budeme používať Nginx s PHP-FPM a PHP 7.1.

Nainštalujte Nginx.

sudo apt -y install nginx

Spustite Nginx a povoľte jej automatické spustenie pri štarte.

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7.1 nie je dostupné v predvolenom aptúložisku. Najprv pridajte úložisko PPA pre PHP.

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

Nainštalujte PHP 7.1 spolu s PHP modulmi vyžadovanými 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

Upravte načítaný konfiguračný súbor PHP.

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

Nájdite nasledujúce riadky. Zrušte komentár a vykonajte zmeny podľa obrázka.

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

cgi.fix_pathinfo=0

Spustite PHP-FPM a povoľte jeho spustenie pri štarte.

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

Nainštalujte MariaDB

MariaDB je open source fork MySQL. Pridajte úložisko 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'

Nainštalujte MariaDB.

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

Spustite MariaDB a povoľte jej automatické spustenie pri štarte.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Vytvorte databázu pre OroCRM

Prihláste sa do shellu MySQL ako užívateľ root spustením.

mysql -u root -p

Zadajte heslo pre používateľa root MariaDB na prihlásenie.

Spustite nasledujúce dotazy na vytvorenie databázy a databázového užívateľa pre inštaláciu 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;

Názov databázy oro_dataa používateľské meno môžete nahradiť oro_userpodľa vlastného výberu. Nezabudnite zmeniť StrongPasswordheslo na veľmi silné.

Nainštalujte Node.js a Composer

OroCRM tiež vyžaduje runtime JavaScript Node.js. Node.js použije OroCRM na kompiláciu JavaScriptu, ktorý sa používa na zostavenie používateľského rozhrania aplikácie. Predvolené úložisko Ubuntu obsahuje zastaranú verziu Node.js, takže na získanie najnovšej verzie budete musieť pridať úložisko Nodesource do vášho systému.

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

Nainštalujte Node.js a Git.

sudo apt -y install nodejs git

Git sa použije na klonovanie úložiska OroCRM z internetu. Budete tiež musieť nainštalovať Composer. Composer je nástroj na správu závislostí pre aplikácie PHP. Pretože OroCRM je napísaný v rámci Symfony, na inštaláciu závislostí a aplikácie budete potrebovať Composer.

Nainštalujte Composer.

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

Presuňte Composer do /usr/binadresára, aby ho bolo možné spustiť odkiaľkoľvek v systéme.

sudo mv composer.phar /usr/bin/composer

Poskytnite Skladateľovi povolenie na vykonanie.

sudo chmod +x /usr/bin/composer

Nainštalujte OroCRM

Existuje mnoho spôsobov, ako stiahnuť OroCRM na váš server. Najvhodnejším spôsobom, ako získať najaktuálnejšiu verziu, je naklonovať úložisko cez Git.

Naklonujte úložisko OroCRM.

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

Skopírujte vzorový parameterssúbor do predvoleného parameterssúboru používaného OroCRM.

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

Skôr ako budete môcť pokračovať, budete musieť aktualizovať parameters.ymlsúbor, aby poskytoval informácie o databáze a e-maile.

sudo nano app/config/parameters.yml

Nájdite nasledujúce riadky.

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

Aktualizujte vyššie uvedenú konfiguráciu podľa databázy, ktorú ste vytvorili na ukladanie údajov OroCRM. V našom prípade by to malo vyzerať takto.

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

Ak máte pripravený server SMTP a chcete okamžite používať funkcie odosielania e-mailov, môžete aktualizovať nastavenia odosielateľa podľa obrázka.

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

Ak nemáte pripravený poštový server, môžete ho zatiaľ preskočiť a ponechať existujúce hodnoty. Konfiguráciu e-mailu môžete kedykoľvek zmeniť prostredníctvom ovládacieho panela.

Set a random string in secret by replacing ThisTokenIsNotSoSecretChangeIt. A random string is required to encode the session data. An example string will look like this.

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

You can generate a random string using the pwgen utility. Install pwgen by running sudo apt -y install pwgen. To generate a random string, run pwgen -s 64 1.

Save the file and exit from the editor. Install the required PHP dependencies through composer.

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

Using --no-dev will ensure that Composer only installs the dependencies required to run the web server in production mode. The script will take a few minutes to download and install the required PHP dependencies.

Install the application.

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

This will build the web cache and write the database. The --env=prod parameter is provided to install the application in production mode. The installation will only proceed if all the required dependencies are installed and configured.

During the installation, you will be asked a few questions for setting up the administrator account. The questions are as follows.

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

Provide the information. Load the sample data to evaluate the product before using it for production.

Warm up the API documentation cache:

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

Configuring Nginx, Firewall and Permissions

Create an Nginx server block file to serve the application to the users.

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

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

Uistite sa, že ste zmenili názov crm.example.comvašej domény na skutočný. Vyššie uvedená konfigurácia zahŕňa aj konfiguráciu potrebnú pre kompresiu GZip a ukladanie do vyrovnávacej pamäte prehliadača. Kompresia Gzip komprimuje údaje pred ich odoslaním do prehliadača. Povolenie ukladania do vyrovnávacej pamäte prehliadača ukladá statické prostriedky do webovej vyrovnávacej pamäte klientskeho počítača. Pri ďalšom prístupe používateľa na stránku sa väčšina statického obsahu načíta z vlastnej webovej vyrovnávacej pamäte používateľa. Tieto dve metódy výrazne zvyšujú rýchlosť aplikácie.

Povoliť stránku.

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

Skontrolujte, či konfiguračný súbor Nginx neobsahuje chyby.

sudo nginx -t

Výstup by mal vyzerať nasledovne.

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

Poskytnite používateľovi Nginx vlastníctvo súborov OroCRM.

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

Ak chcete použiť novú konfiguráciu, reštartujte Nginx.

sudo systemctl restart nginx

Teraz máte prístup k aplikácii na adrese http://crm.example.com. Prihláste sa pomocou správcu usernamea passwordmáte nastavené pri inštalácii.

Nastavte naplánované úlohy a úlohy na pozadí

Ak chcete automaticky spúšťať naplánované úlohy, môžete pridať záznam úlohy Cron. Otvoriť crontab.

sudo crontab -e

Pridajte nasledujúci riadok do súboru.

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

Toto spustí úlohu cron každú minútu, takže naplánované úlohy, ako napríklad e-mailové fronty, budú spracované čo najskôr.

Na spustenie služby frontu správ budete tiež musieť nastaviť správcu. Vyžaduje sa, aby vždy bežal aspoň jeden proces, aby spotrebiteľ mohol spracovať správy. Spotrebiteľ môže normálne prerušiť proces správy mnohými spôsobmi. Aby sme zabezpečili nepretržitý chod služby, budeme využívať službu Dohľad. Nakonfigurujeme správcu na paralelné spustenie štyroch procesov. Ak sa niektorý zo štyroch procesov z akéhokoľvek dôvodu zastaví, supervízor sa ho pokúsi spustiť znova.

Inštalovať správcu.

sudo apt -y install supervisor

Vytvorte nový konfiguračný súbor správcu.

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

Pridajte do súboru nasledujúce riadky.

[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

Spustite a povoľte supervízorovi, aby sa automaticky spustil pri štarte.

sudo systemctl restart supervisor
sudo systemctl enable supervisor

Stav procesov môžete zobraziť spustením nasledujúceho.

sudo supervisorctl status

Mali by ste vidieť, že procesy bežia.

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 je teraz nainštalovaný na vašom serveri. Teraz môžete aplikáciu používať na správu rutinných úloh vašej organizácie. Ak sa chcete dozvedieť viac o OroCRM, môžete navštíviť jeho oficiálnu webovú stránku .


Leave a Comment

Install Plesk on CentOS 7

Install Plesk on CentOS 7

Using a Different System? Plesk is a proprietary web host control panel that allows users to administer their personal and/or clients websites, databases

Install Lets Encrypt SSL on One-Click WordPress App

Install Lets Encrypt SSL on One-Click WordPress App

Introduction Lets Encrypt is a certificate authority service that offers free TLS/SSL certificates. The process of installation is simplified by Certbot,

Ako nastaviť klasický server Tekkit na Ubuntu 16.10

Ako nastaviť klasický server Tekkit na Ubuntu 16.10

Používate iný systém? Čo je Tekkit Classic? Tekkit Classic je modpack pre hru, ktorú každý pozná a miluje; Minecraft. Obsahuje niektoré z ver

Creating a Jekyll Blog on Ubuntu 16.04

Creating a Jekyll Blog on Ubuntu 16.04

Using a Different System? Jekyll is a great alternative to WordPress for blogging or sharing content. It doesnt require any databases and it is very easy i

Ako nastaviť bezobslužné aktualizácie na Debian 9 (Stretch)

Ako nastaviť bezobslužné aktualizácie na Debian 9 (Stretch)

Používate iný systém? Ak si zakúpite server Debian, mali by ste mať vždy najnovšie bezpečnostné záplaty a aktualizácie, či už spíte alebo nie

Ako nainštalovať a nakonfigurovať PHP 7.0 alebo PHP 7.1 na Ubuntu 16.04

Ako nainštalovať a nakonfigurovať PHP 7.0 alebo PHP 7.1 na Ubuntu 16.04

PHP a súvisiace balíky sú najčastejšie používané komponenty pri nasadzovaní webového servera. V tomto článku sa naučíme, ako nastaviť PHP 7.0 alebo PHP 7.1 o

Ako nainštalovať Squid Proxy na CentOS

Ako nainštalovať Squid Proxy na CentOS

Squid je populárny bezplatný linuxový program, ktorý vám umožňuje vytvoriť webový proxy server na presmerovanie. V tejto príručke uvidíte, ako nainštalovať Squid na CentOS, aby vás zmenil

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Úvod Lighttpd je fork Apache, ktorého cieľom je byť oveľa menej náročný na zdroje. Je ľahký, odtiaľ jeho názov, a jeho použitie je celkom jednoduché. Installin

Tri bezplatné ovládacie panely servera (rýchla inštalácia)

Tri bezplatné ovládacie panely servera (rýchla inštalácia)

1. Virtualmin/Webmin Virtualmin je výkonný a flexibilný ovládací panel webhostingu pre systémy Linux a UNIX založený na známej webovej základni Open Source

Nastavenie aplikácie Yii na Ubuntu 14.04

Nastavenie aplikácie Yii na Ubuntu 14.04

Yii je rámec PHP, ktorý vám umožňuje rýchlejšie a jednoduchšie vyvíjať aplikácie. Inštalácia Yii na Ubuntu je jednoduchá, ako sa presne dozviete

Používanie obrazovky na Ubuntu 14.04

Používanie obrazovky na Ubuntu 14.04

Screen je aplikácia, ktorá umožňuje viacnásobné použitie terminálových relácií v rámci jedného okna. To vám umožňuje simulovať viacero okien terminálu, kde je to možné

Nastavte si svoj vlastný DNS server na Debian/Ubuntu

Nastavte si svoj vlastný DNS server na Debian/Ubuntu

Tento tutoriál vysvetľuje, ako nastaviť server DNS pomocou Bind9 na Debiane alebo Ubuntu. V celom článku podľa toho nahraďte názov vašej-domény.com. Pri th

Používanie Logrotate na správu protokolových súborov

Používanie Logrotate na správu protokolových súborov

Úvod Logrotate je nástroj pre Linux, ktorý zjednodušuje správu protokolových súborov. Zvyčajne beží raz denne prostredníctvom úlohy cron a spravuje základňu protokolov

Konfigurácia statickej siete a IPv6 na CentOS 7

Konfigurácia statickej siete a IPv6 na CentOS 7

VULTR nedávno vykonal zmeny na ich konci a všetko by teraz malo fungovať dobre po vybalení so zapnutým NetworkManagerom. Ak chcete deaktivovať

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Icinga2 je výkonný monitorovací systém a pri použití v modeli master-client môže nahradiť potrebu monitorovacích kontrol založených na NRPE. Hlavný klient

Nastavte Red5 Media Server na Ubuntu 16.04

Nastavte Red5 Media Server na Ubuntu 16.04

Používate iný systém? Red5 je mediálny server s otvoreným zdrojom implementovaný v jazyku Java, ktorý vám umožňuje spúšťať aplikácie Flash pre viacerých používateľov, ako napríklad živé vysielanie

Ako nainštalovať Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Ako nainštalovať Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú

Ako nainštalovať Vanilla Forum na Ubuntu 16.04

Ako nainštalovať Vanilla Forum na Ubuntu 16.04

Používate iný systém? Vanilla forum je open source aplikácia fóra napísaná v PHP. Je plne prispôsobiteľný, ľahko použiteľný a podporuje externé

Ako nainštalovať Kanboard na Ubuntu 18.04 LTS

Ako nainštalovať Kanboard na Ubuntu 18.04 LTS

Používate iný systém? Úvod Kanboard je bezplatný a otvorený softvérový program na riadenie projektov, ktorý je navrhnutý tak, aby uľahčil a vizualizoval

Ako nainštalovať Kanboard na Debian 9

Ako nainštalovať Kanboard na Debian 9

Používate iný systém? Úvod Kanboard je bezplatný a otvorený softvérový program na riadenie projektov, ktorý je navrhnutý tak, aby uľahčil a vizualizoval

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac