Kako instalirati OroCRM na Ubuntu 16.04

OroCRM je besplatna aplikacija otvorenog koda Customer Relationship Manager (CRM) izgrađena na OroPlatformu. OroPlatform je potpuno prilagodljiv softver platforme poslovnih aplikacija otvorenog koda. OroPlatform vam pruža sve značajke koje su potrebne za izradu prilagođene aplikacije. OroCRM je izgrađen pomoću PHP Symfony okvira i pohranjuje svoje podatke u MySQL/MariaDB poslužitelj baze podataka. To je CRM aplikacija spremna za poduzeća koja nudi mnoštvo značajki. Također se integrira s mnogim aplikacijama trećih strana kao što su Magento Store, MailChimp, Zendesk i mnoge druge. Višejezičan je i ima potpuno responzivno korisničko sučelje, koje vam pruža mogućnost upravljanja njime i pomoću mobilnih uređaja.

Preduvjeti

U ovom vodiču koristit ćemo crm.example.comkao ime domene usmjereno na poslužitelj. Zamijenite sva pojavljivanja crm.example.comsa svojim stvarnim imenom domene.

Ažurirajte svoj osnovni sustav pomoću vodiča Kako ažurirati Ubuntu 16.04 . Nakon što se vaš sustav ažurira, nastavite s instaliranjem potrebnih ovisnosti.

Instalirajte Nginx i PHP 7

OroCRM se može instalirati na bilo koji proizvodni web poslužitelj koji podržava PHP. OroCRM podržava sve verzije PHP-a starije od 7.0. U ovom vodiču koristit ćemo Nginx s PHP-FPM i PHP 7.1.

Instalirajte Nginx.

sudo apt -y install nginx

Pokrenite Nginx i omogućite mu automatsko pokretanje pri pokretanju.

sudo systemctl start nginx
sudo systemctl enable nginx

PHP 7.1 nije dostupan u zadanom aptspremištu. Prvo dodajte PPA spremište za PHP.

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

Instalirajte PHP 7.1 zajedno s PHP modulima koje zahtijeva 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

Uredite učitanu PHP konfiguracijsku datoteku.

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

Pronađite sljedeće retke. Dekomentirajte i izvršite izmjene kao što je prikazano.

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

cgi.fix_pathinfo=0

Pokrenite PHP-FPM i omogućite mu pokretanje pri pokretanju.

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

Instalirajte MariaDB

MariaDB je fork MySQL otvorenog koda. Dodajte spremište 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'

Instalirajte MariaDB.

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

Pokrenite MariaDB i omogućite mu automatsko pokretanje pri pokretanju.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Napravite bazu podataka za OroCRM

Prijavite se na MySQL ljusku kao root korisnik pokretanjem.

mysql -u root -p

Navedite lozinku za MariaDB root korisnika za prijavu.

Pokrenite sljedeće upite za stvaranje baze podataka i korisnika baze podataka za instalaciju OroCRM-a.

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;

Naziv baze podataka oro_datai korisničko ime možete zamijeniti oro_userpo svom izboru. Svakako promijenite StrongPasswordu vrlo jaku lozinku.

Instalirajte Node.js i Composer

OroCRM također zahtijeva Node.js JavaScript runtime. Node.js će OroCRM koristiti za kompajliranje JavaScripta, koji se koristi za izgradnju korisničkog sučelja aplikacije. Zadano spremište Ubuntua sadrži zastarjelu verziju Node.js, stoga ćete morati dodati spremište Nodesource u svoj sustav kako biste dobili najnoviju verziju.

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

Instalirajte Node.js i Git.

sudo apt -y install nodejs git

Git će se koristiti za kloniranje OroCRM repozitorija s interneta. Također ćete morati instalirati Composer. Composer je alat za upravljanje ovisnostima za PHP aplikacije. Budući da je OroCRM napisan u Symfony okviru, trebat će vam Composer za instalaciju ovisnosti i aplikacije.

Instalirajte Composer.

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

Premjestite Composer u /usr/bindirektorij tako da se može izvršiti s bilo kojeg mjesta u sustavu.

sudo mv composer.phar /usr/bin/composer

Skladatelju dajte dopuštenje za izvršenje.

sudo chmod +x /usr/bin/composer

Instalirajte OroCRM

Postoji mnogo načina za preuzimanje OroCRM-a na vaš poslužitelj. Najprikladniji način da dobijete najažurniju verziju je kloniranje spremišta putem Gita.

Klonirajte OroCRM spremište.

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

Kopirajte parametersdatoteku primjera u zadanu parametersdatoteku koju koristi OroCRM.

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

Prije nego što nastavite dalje, morat ćete ažurirati parameters.ymldatoteku kako biste pružili podatke iz baze podataka i e-pošte.

sudo nano app/config/parameters.yml

Pronađite sljedeće retke.

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

Ažurirajte gornju konfiguraciju prema bazi podataka koju ste stvorili za pohranu podataka OroCRM. U našem slučaju to bi trebalo izgledati ovako.

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

Ako imate spreman SMTP poslužitelj i želite odmah koristiti značajke slanja e-pošte, možete ažurirati postavke mailera kao što je prikazano.

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

Ako nemate spreman poslužitelj e-pošte, za sada ga možete preskočiti ostavljajući postojeće vrijednosti. Konfiguraciju e-pošte uvijek možete promijeniti putem nadzorne ploče.

Postavite nasumični niz secretzamjenom ThisTokenIsNotSoSecretChangeIt. Za kodiranje podataka sesije potreban je nasumični niz. Primjer niza će izgledati ovako.

secret:            uxvpXHhDxCFc9yU1hV1fMwjSoyVUzGh4WBMBBBa3XEgrRUF5OuB2h8iNl9JRDqcd

Pomoću pwgenuslužnog programa možete generirati nasumični niz . Instalirajte pwgenpokretanjem sudo apt -y install pwgen. Da biste generirali nasumični niz, pokrenite pwgen -s 64 1.

Spremite datoteku i izađite iz uređivača. Instalirajte potrebne PHP ovisnosti putem skladatelja.

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

Korištenje --no-devće osigurati da Composer instalira samo ovisnosti potrebne za pokretanje web poslužitelja u proizvodnom načinu. Skripti će trebati nekoliko minuta da preuzme i instalira potrebne PHP ovisnosti.

Instalirajte aplikaciju.

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

Provjerite jeste li promijenili naziv crm.example.comsvoje domene u stvarni naziv. Gornja konfiguracija također uključuje konfiguraciju potrebnu za GZip kompresiju i predmemoriju preglednika. Gzip kompresija komprimira podatke prije nego što ih pošalje pregledniku. Omogućavanje predmemorije preglednika pohranjuje statičke resurse u web predmemoriju klijentskog računala. Sljedeći put kada korisnik pristupi web-mjestu, većina statičkog sadržaja učitava se iz korisnikove web predmemorije. Ove dvije metode dramatično povećavaju brzinu aplikacije.

Omogućite web mjesto.

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

Provjerite ima li u konfiguracijskoj datoteci Nginx bilo kakvih pogrešaka.

sudo nginx -t

Izlaz bi trebao izgledati ovako.

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

Omogućite vlasništvo nad OroCRM datotekama korisniku Nginxa.

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

Ponovno pokrenite Nginx da biste primijenili novu konfiguraciju.

sudo systemctl restart nginx

Sada možete pristupiti aplikaciji na http://crm.example.com. Prijavite se pomoću administratora usernamei passwordpostavili ste tijekom instalacije.

Postavite zakazane zadatke i pozadinske poslove

Za automatsko pokretanje planiranih zadataka možete dodati unos Cron posla. Otvori crontab.

sudo crontab -e

Dodajte sljedeći redak u datoteku.

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

Ovo će pokrenuti cron posao svake minute tako da se planirani zadaci kao što su redovi e-pošte obrađuju što je prije moguće.

Također ćete morati postaviti Supervisora ​​za pokretanje usluge reda čekanja poruka. Potrebno je da se u svakom trenutku izvodi barem jedan proces kako bi potrošač obradio poruke. Potrošač može normalno prekinuti proces poruke na mnogo načina. Kako bismo osigurali kontinuirano funkcioniranje usluge, koristit ćemo uslugu Supervizor. Konfigurirat ćemo Supervisor da izvodi četiri procesa paralelno. Ako se bilo koji od četiri procesa zaustavi iz bilo kojeg razloga, Supervizor će ga pokušati ponovno pokrenuti.

Instalirajte Supervisor.

sudo apt -y install supervisor

Izradite novu konfiguracijsku datoteku Supervisora.

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

Dodajte sljedeće retke u datoteku.

[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

Pokrenite i omogućite Supervisoru da se automatski pokrene prilikom pokretanja.

sudo systemctl restart supervisor
sudo systemctl enable supervisor

Status procesa možete vidjeti tako da pokrenete sljedeće.

sudo supervisorctl status

Trebali biste vidjeti da su procesi pokrenuti.

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 sada instaliran na vašem poslužitelju. Sada možete koristiti aplikaciju za upravljanje rutinskim zadacima svoje organizacije. Da biste saznali više o OroCRM-u, možete posjetiti njegovu službenu web stranicu .


Instalirajte Plesk na CentOS 7

Instalirajte Plesk na CentOS 7

Korištenje drugog sustava? Plesk je vlasnička upravljačka ploča web hosta koja omogućuje korisnicima da administriraju svoje osobne i/ili klijentske web stranice, baze podataka

Postavite Cacti na Debian Jessie

Postavite Cacti na Debian Jessie

Uvod Cacti je alat otvorenog koda za praćenje i crtanje koji se u potpunosti temelji na RRD podacima. Putem Cactusa možete pratiti gotovo sve vrste uređaja

Instalirajte Lets Encrypt SSL na WordPress aplikaciju jednim klikom

Instalirajte Lets Encrypt SSL na WordPress aplikaciju jednim klikom

Uvod Lets Encrypt je usluga za izdavanje certifikata koja nudi besplatne TLS/SSL certifikate. Certbot pojednostavljuje proces instalacije,

Kako postaviti Tekkit Classic Server na Ubuntu 16.10

Kako postaviti Tekkit Classic Server na Ubuntu 16.10

Korištenje drugog sustava? Što je Tekkit Classic? Tekkit Classic je modpack za igru ​​koju svi znaju i vole; Minecraft. Sadrži neke od ver

Postavite iRedMail na Debian Wheezy

Postavite iRedMail na Debian Wheezy

Korištenje drugog sustava? Ovaj vodič će vam pokazati kako instalirati grupni softver iRedMail na novu instalaciju Debian Wheezyja. Trebali biste koristiti servis

Izrada Jekyll bloga na Ubuntu 16.04

Izrada Jekyll bloga na Ubuntu 16.04

Korištenje drugog sustava? Jekyll je izvrsna alternativa WordPressu za bloganje ili dijeljenje sadržaja. Ne zahtijeva nikakve baze podataka i vrlo je jednostavan i

Kako postaviti nenadzirane nadogradnje na Debianu 9 (protežu)

Kako postaviti nenadzirane nadogradnje na Debianu 9 (protežu)

Korištenje drugog sustava? Ako kupite Debian poslužitelj, uvijek biste trebali imati najnovije sigurnosne zakrpe i ažuriranja, bez obzira spavate li ili ne

Kako instalirati i konfigurirati PHP 7.0 ili PHP 7.1 na Ubuntu 16.04

Kako instalirati i konfigurirati PHP 7.0 ili PHP 7.1 na Ubuntu 16.04

PHP i povezani paketi najčešće su korištene komponente prilikom postavljanja web poslužitelja. U ovom članku ćemo naučiti kako postaviti PHP 7.0 ili PHP 7.1 o

Kako instalirati Squid proxy na CentOS

Kako instalirati Squid proxy na CentOS

Squid je popularan besplatni program za Linux koji vam omogućuje stvaranje web proxyja za prosljeđivanje. U ovom vodiču vidjet ćete kako instalirati Squid na CentOS da vas preokrene

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je fork Apachea koji ima za cilj da bude puno manje intenzivan prema resursima. Lagan je, otuda mu i naziv, i prilično je jednostavan za korištenje. Instaliraj

Korištenje zaslona na Ubuntu 14.04

Korištenje zaslona na Ubuntu 14.04

Screen je aplikacija koja omogućuje višestruko korištenje terminalskih sesija unutar jednog prozora. To vam omogućuje da simulirate više prozora terminala gdje je ma

Postavite svoj vlastiti DNS poslužitelj na Debian/Ubuntu

Postavite svoj vlastiti DNS poslužitelj na Debian/Ubuntu

Ovaj vodič objašnjava kako postaviti DNS poslužitelj pomoću Bind9 na Debianu ili Ubuntu. U cijelom članku u skladu s tim zamijenite your-domain-name.com. Na th

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

VULTR je nedavno napravio promjene na svojoj strani i sada bi sve trebalo raditi dobro iz kutije s omogućenim NetworkManagerom. Želite li onemogućiti

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Icinga2 je moćan sustav nadzora, a kada se koristi u modelu master-client, može zamijeniti potrebu za provjerama praćenja na temelju NRPE. Glavni klijent

Postavite Red5 Media Server na Ubuntu 16.04

Postavite Red5 Media Server na Ubuntu 16.04

Korištenje drugog sustava? Red5 je medijski poslužitelj otvorenog koda implementiran u Javi koji vam omogućuje pokretanje Flash višekorisničkih aplikacija kao što je live streamin

Prevedite i instalirajte Nginx s modulom PageSpeed ​​na Debian 8

Prevedite i instalirajte Nginx s modulom PageSpeed ​​na Debian 8

U ovom članku ćemo vidjeti kako sastaviti i instalirati Nginx mainline iz službenih izvora Nginxa s modulom PageSpeed, koji vam omogućuje da

Kako instalirati Vanilla Forum na Ubuntu 16.04

Kako instalirati Vanilla Forum na Ubuntu 16.04

Korištenje drugog sustava? Vanilla forum je aplikacija otvorenog koda napisana u PHP-u. Potpuno je prilagodljiv, jednostavan za korištenje i podržava eksterne

Kako instalirati Kanboard na Ubuntu 18.04 LTS

Kako instalirati Kanboard na Ubuntu 18.04 LTS

Korištenje drugog sustava? Uvod Kanboard je besplatni softver za upravljanje projektima otvorenog koda koji je dizajniran za olakšavanje i vizualizaciju

Kako instalirati Kanboard na Debian 9

Kako instalirati Kanboard na Debian 9

Korištenje drugog sustava? Uvod Kanboard je besplatni softver za upravljanje projektima otvorenog koda koji je dizajniran za olakšavanje i vizualizaciju

Kako instalirati Giteu na Debian 9

Kako instalirati Giteu na Debian 9

Korištenje drugog sustava? Gitea je alternativni sustav za kontrolu verzija otvorenog koda s vlastitim hostom koji pokreće Git. Gitea je napisana na Golangu i jest

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više