Како инсталирати ОроЦРМ на Убунту 16.04

ОроЦРМ је бесплатна апликација отвореног кода Цустомер Релатионсхип Манагер (ЦРМ) изграђена на ОроПлатформу. ОроПлатформ је потпуно прилагодљив софтвер платформе пословних апликација отвореног кода. ОроПлатформ вам пружа све функције које су потребне за креирање прилагођене апликације. ОроЦРМ је направљен помоћу ПХП Симфони оквира и складишти своје податке у МиСКЛ/МариаДБ сервер базе података. То је ЦРМ апликација спремна за предузећа која пружа мноштво функција. Такође се интегрише са многим апликацијама трећих страна као што су Магенто Сторе, МаилЦхимп, Зендеск и многе друге. Вишејезичан је и има потпуно прилагодљив кориснички интерфејс, који вам пружа могућност да њиме управљате и помоћу мобилних уређаја.

Предуслови

У овом туторијалу користићемо crm.example.comкао име домена које указује на сервер. Замените сва појављивања crm.example.comса својим стварним именом домена.

Ажурирајте свој основни систем користећи водич Како ажурирати Убунту 16.04 . Када се ваш систем ажурира, наставите са инсталирањем потребних зависности.

Инсталирајте Нгинк и ПХП 7

ОроЦРМ се може инсталирати на било који производни веб сервер који подржава ПХП. ОроЦРМ подржава све верзије ПХП-а старије од 7.0. У овом водичу ћемо користити Нгинк са ПХП-ФПМ и ПХП 7.1.

Инсталирајте Нгинк.

sudo apt -y install nginx

Покрените Нгинк и омогућите му да се аутоматски покреће при покретању.

sudo systemctl start nginx
sudo systemctl enable nginx

ПХП 7.1 није доступан у подразумеваном aptспремишту. Прво додајте ППА спремиште за ПХП.

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

Инсталирајте ПХП 7.1 заједно са ПХП модулима које захтева ОроЦРМ.

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

Уредите учитану ПХП конфигурациону датотеку.

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

Пронађите следеће редове. Уклоните коментаре и унесите измене као што је приказано.

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

cgi.fix_pathinfo=0

Покрените ПХП-ФПМ и омогућите му покретање при покретању.

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

Инсталирајте МариаДБ

МариаДБ је форк МиСКЛ отвореног кода. Додајте МариаДБ 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'

Инсталирајте МариаДБ.

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

Покрените МариаДБ и омогућите му да се аутоматски покреће при покретању.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Креирајте базу података за ОроЦРМ

Пријавите се на МиСКЛ љуску као роот корисник покретањем.

mysql -u root -p

Наведите лозинку за МариаДБ роот корисника за пријаву.

Покрените следеће упите да бисте креирали базу података и корисника базе података за инсталацију ОроЦРМ-а.

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;

Име базе података oro_dataи корисничко име можете заменити oro_userпо свом избору. Обавезно промените StrongPasswordна веома јаку лозинку.

Инсталирајте Ноде.јс и Цомпосер

ОроЦРМ такође захтева Ноде.јс ЈаваСцрипт рунтиме. Ноде.јс ће користити ОроЦРМ за компајлирање ЈаваСцрипт-а, који се користи за изградњу корисничког интерфејса апликације. Подразумевано спремиште Убунтуа садржи застарелу верзију Ноде.јс, тако да ћете морати да додате Нодесоурце спремиште у свој систем да бисте добили најновију верзију.

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

Инсталирајте Ноде.јс и Гит.

sudo apt -y install nodejs git

Гит ће се користити за клонирање ОроЦРМ спремишта са интернета. Такође ћете морати да инсталирате Цомпосер. Цомпосер је алатка за управљање зависностима за ПХП апликације. Пошто је ОроЦРМ написан у Симфони оквиру, биће вам потребан Цомпосер да бисте инсталирали зависности и апликацију.

Инсталирајте Цомпосер.

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

Померите Цомпосер у /usr/binдиректоријум тако да може да се изврши са било ког места у систему.

sudo mv composer.phar /usr/bin/composer

Дајте дозволу за извршење композитору.

sudo chmod +x /usr/bin/composer

Инсталирајте ОроЦРМ

Постоји много начина да преузмете ОроЦРМ на свој сервер. Најприкладнији начин да добијете најажурнију верзију је клонирање спремишта преко Гита.

Клонирајте ОроЦРМ спремиште.

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

Копирајте parametersдатотеку примера у подразумевану parametersдатотеку коју користи ОроЦРМ.

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

Пре него што наставите даље, мораћете да ажурирате parameters.ymlдатотеку да бисте обезбедили базу података и информације е-поште.

sudo nano app/config/parameters.yml

Пронађите следеће редове.

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

Ажурирајте горњу конфигурацију у складу са базом података коју сте креирали за складиштење ОроЦРМ података. У нашем случају, то би требало да изгледа овако.

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

Ако имате спреман СМТП сервер и желите одмах да користите функције слања е-поште, можете ажурирати подешавања маилера као што је приказано.

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

Ако немате спреман сервер за пошту, за сада га можете прескочити тако што ћете оставити постојеће вредности. Увек можете да промените конфигурацију е-поште преко контролне табле.

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

Make sure that you change the crm.example.com to your actual domain name. The above configuration also includes the configuration required for GZip compression and browser caching. Gzip compression compresses the data before sending it to the browser. Enabling browser caching stores the static resources to the web cache of the client computer. The next time the user accesses the site, most of the static content is loaded from the user's own web cache. These two methods increase the speed of the application dramatically.

Enable the site.

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

Check the Nginx configuration file for any errors.

sudo nginx -t

The output should look like the following.

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

Provide the ownership of the OroCRM files to the Nginx user.

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

Restart Nginx to apply the new configuration.

sudo systemctl restart nginx

You can now access the application at http://crm.example.com. Log in using the administrator username and password you have set during installation.

Setup Scheduled Tasks and Background Jobs

To automatically run the scheduled tasks you can add a Cron job entry. Open crontab.

sudo crontab -e

Add the following line to the file.

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

This will run the cron job every minute so that the scheduled tasks such as email queues are processed earliest.

You will also need to setup Supervisor to run the Message Queue service. It is required that at least one process is running at all times for a consumer to process the messages. A consumer can normally interrupt the message process through many ways. To ensure that the service is running continuously, we will use the Supervisor service. We will configure Supervisor to run four processes in parallel. If any of the four processes is stopped for any reason, Supervisor will try to start it again.

Install Supervisor.

sudo apt -y install supervisor

Create a new Supervisor configuration file.

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

Add the following lines to the 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

Start and enable Supervisor to automatically start at boot time.

sudo systemctl restart supervisor
sudo systemctl enable supervisor

You can view the status of the processes by running the following.

sudo supervisorctl status

You should see that the processes are running.

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 is now installed on your server. You can now use the application to manage the routine tasks of your organization. To learn more about OroCRM, you can visit its official website.


Leave a Comment

Инсталирајте Плеск на ЦентОС 7

Инсталирајте Плеск на ЦентОС 7

Користите другачији систем? Плеск је власничка контролна табла веб хоста која омогућава корисницима да управљају својим личним и/или клијентским веб локацијама, базама података

Подесите Цацти на Дебиан Јессие

Подесите Цацти на Дебиан Јессие

Увод Цацти је алатка отвореног кода за праћење и графику која је у потпуности заснована на РРД подацима. Преко Цацтуса можете надгледати скоро сваку врсту уређаја

Инсталирајте Летс Енцрипт ССЛ на ВордПресс апликацију једним кликом

Инсталирајте Летс Енцрипт ССЛ на ВордПресс апликацију једним кликом

Увод Летс Енцрипт је услуга ауторитета за сертификате која нуди бесплатне ТЛС/ССЛ сертификате. Цертбот поједностављује процес инсталације,

Подесите иРедМаил на Дебиан Вхеези

Подесите иРедМаил на Дебиан Вхеези

Користите другачији систем? Овај водич ће вам показати како да инсталирате групни софтвер иРедМаил на нову инсталацију Дебиан Вхеези-а. Требало би да користите сервис

Креирање Јекилл блога на Убунту 16.04

Креирање Јекилл блога на Убунту 16.04

Користите другачији систем? Јекилл је одлична алтернатива ВордПресс-у за блоговање или дељење садржаја. Не захтева никакве базе података и веома је лако и

Како подесити надоградње без надзора на Дебиан 9 (протежу)

Како подесити надоградње без надзора на Дебиан 9 (протежу)

Користите другачији систем? Ако купите Дебиан сервер, увек би требало да имате најновије безбедносне закрпе и ажурирања, без обзира да ли спавате или не

Како инсталирати и конфигурисати ПХП 7.0 или ПХП 7.1 на Убунту 16.04

Како инсталирати и конфигурисати ПХП 7.0 или ПХП 7.1 на Убунту 16.04

ПХП и повезани пакети су најчешће коришћене компоненте приликом постављања веб сервера. У овом чланку ћемо научити како да подесите ПХП 7.0 или ПХП 7.1 о

Како инсталирати Скуид проки на ЦентОС

Како инсталирати Скуид проки на ЦентОС

Скуид је популаран, бесплатни Линук програм који вам омогућава да креирате веб проки за прослеђивање. У овом водичу ћете видети како да инсталирате Скуид на ЦентОС да вас преокрене

Како инсталирати Лигхттпд (ЛЛМП Стацк) на ЦентОС 6

Како инсталирати Лигхттпд (ЛЛМП Стацк) на ЦентОС 6

Увод Лигхттпд је форк Апацхе-а који има за циљ да буде много мање интензиван према ресурсима. Лаган је, отуда и његово име, и прилично је једноставан за употребу. Инсталлин

Три бесплатна контролна панела сервера (брза инсталација)

Три бесплатна контролна панела сервера (брза инсталација)

1. Виртуалмин/Вебмин Виртуалмин је моћна и флексибилна контролна табла за веб хостинг за Линук и УНИКС системе заснована на добро познатој веб бази отвореног кода

Подешавање Иии апликације на Убунту 14.04

Подешавање Иии апликације на Убунту 14.04

Иии је ПХП оквир који вам омогућава да брже и лакше развијате апликације. Инсталирање Иии-а на Убунту је једноставно, као што ћете тачно научити

Коришћење екрана на Убунту 14.04

Коришћење екрана на Убунту 14.04

Сцреен је апликација која омогућава вишеструку употребу терминалских сесија унутар једног прозора. Ово вам омогућава да симулирате више прозора терминала где је ма

Подесите сопствени ДНС сервер на Дебиан/Убунту

Подесите сопствени ДНС сервер на Дебиан/Убунту

Овај водич објашњава како да подесите ДНС сервер користећи Бинд9 на Дебиан-у или Убунту-у. У целом чланку замените иоур-домаин-наме.цом у складу са тим. Ат тх

Коришћење Логротате за управљање датотекама евиденције

Коришћење Логротате за управљање датотекама евиденције

Увод Логротате је Линук услужни програм који поједностављује администрацију датотека евиденције. Обично се покреће једном дневно преко црон посла и управља базом евиденције

Конфигурисање статичког умрежавања и ИПв6 на ЦентОС 7

Конфигурисање статичког умрежавања и ИПв6 на ЦентОС 7

ВУЛТР је недавно направио измене на њиховој страни, и сада би све требало да ради добро из кутије са омогућеним НетворкМанагер-ом. Ако желите да онемогућите

Модификовање Ицинга2 да користи модел Мастер/Цлиент на ЦентОС 6 или ЦентОС 7

Модификовање Ицинга2 да користи модел Мастер/Цлиент на ЦентОС 6 или ЦентОС 7

Ицинга2 је моћан систем за праћење, и када се користи у моделу мастер-цлиент, може да замени потребу за провером праћења заснованом на НРПЕ. Главни клијент

Подесите Ред5 Медиа Сервер на Убунту 16.04

Подесите Ред5 Медиа Сервер на Убунту 16.04

Користите другачији систем? Ред5 је медијски сервер отвореног кода имплементиран у Јави који вам омогућава да покренете Фласх вишекорисничке апликације као што је ливе стреамин

Компајлирајте и инсталирајте Нгинк са модулом ПагеСпеед на Дебиан 8

Компајлирајте и инсталирајте Нгинк са модулом ПагеСпеед на Дебиан 8

У овом чланку ћемо видети како да компајлирате и инсталирате Нгинк маинлине из званичних извора Нгинк-а помоћу модула ПагеСпеед, који вам омогућава да

Како инсталирати Апацхе Цассандра 3.11.к на Убунту 16.04 ЛТС

Како инсталирати Апацхе Цассандра 3.11.к на Убунту 16.04 ЛТС

Користите другачији систем? Апацхе Цассандра је бесплатан систем за управљање НоСКЛ базом података отвореног кода који је дизајниран да обезбеди скалабилност, високу

Како инсталирати Ванилла Форум на Убунту 16.04

Како инсталирати Ванилла Форум на Убунту 16.04

Користите другачији систем? Ванилла форум је апликација отвореног кода написана у ПХП-у. Потпуно је прилагодљив, једноставан за коришћење и подржава екстерне

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више