Поиск по сайту:

Как установить OroCRM с Nginx на Ubuntu 16.04 LTS


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установить сервер LEMP
  4. Настройка MariaDB для OroCRM
  5. Установите Node.js и Composer
  6. Установить OroCRM
  7. Настройка Nginx для OroCRM
  8. Доступ к OroCRM

OroCRM — это платформа управления взаимоотношениями с клиентами (CRM) с открытым исходным кодом, полностью ориентированная на группы электронной коммерции и маркетинга с многоканальной перспективой. Это полностью настраиваемое корпоративное CRM-приложение с множеством функций. Он построен на базе PHP Symfony и использует MySQL для хранения своих данных. OroCRM поставляется в двух версиях: Community Edition (CE) и Enterprise Edition (EE). Вы можете легко интегрировать его с другими платформами электронной коммерции, такими как Magento и другими решениями.

В этом руководстве мы узнаем, как установить OroCRM на Ubuntu 16.04.

Предпосылки

  • Сервер под управлением Ubuntu 16.04.
  • Пользователь без полномочий root с привилегиями sudo.

Начиная

Во-первых, вам нужно будет обновить вашу систему до последней версии. Вы можете сделать это с помощью следующей команды:

sudo apt-get update -y
sudo apt-get upgrade -y

Как только ваша система будет обновлена, перезагрузите ее, чтобы применить все изменения. Затем установите необходимые пакеты в вашу систему с помощью следующей команды:

sudo apt-get install git curl unzip wget -y

Установить LEMP-сервер

Прежде чем начать, вам необходимо установить LEMP (Nginx, MariaDB и PHP7) в вашу систему.

Сначала установите Nginx с помощью следующей команды:

sudo apt-get install nginx -y

После установки Nginx запустите службу Nginx и включите ее запуск во время загрузки с помощью следующей команды:

sudo systemctl start nginx
sudo systemctl enable nginx

По умолчанию последняя версия MariaDB и PHP недоступна в Ubuntu 16.04. Поэтому вам нужно будет добавить репозиторий для этого.

Сначала добавьте репозиторий MariaDB с помощью следующей команды:

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'

Затем добавьте репозиторий PHP с помощью следующей команды:

sudo add-apt-repository ppa:ondrej/php

Затем обновите репозиторий с помощью следующей команды:

sudo apt-get update -y

После обновления репозитория установите MariaDB и PHP7, выполнив следующую команду:

sudo apt-get install mariadb-server php7.0 php7.0-fpm php7.0-common php7.0-curl php7.0-gd php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-xml php7.0-xml php7.0-zip php7.0-tidy php7.0-soap php7.0-opcache -y

Далее вам нужно будет установить часовой пояс и увеличить лимит памяти в файле php.ini:

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

Измените следующую строку:

date.timezone = Asia/Kolkata

Сохраните и закройте файл, когда закончите.

sudo nano /etc/php/7.0/fpm/php.ini

Измените следующую строку:

memory_limit = 1024M

Сохраните и закройте файл, когда закончите.

Затем запустите службу MariaDB и PHP-FPM и включите их при загрузке с помощью следующей команды:

sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl start php7.0-fpm
sudo systemctl enable php7.0-fpm

Настройка MariaDB для OroCRM

По умолчанию установка MariaDB не защищена, поэтому вам необходимо сначала защитить MariaDB. Вы можете защитить его, запустив скрипт mysql_secure_installation:

sudo mysql_secure_installation

Ответьте на все вопросы, как показано ниже:

Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Затем войдите в оболочку MariaDB и создайте базу данных и пользователя для OroCRM:

mysql -u root -p

Введите пароль root и нажмите Enter, затем создайте базу данных и пользователя с помощью следующей команды:

MariaDB [(none)]> CREATE DATABASE orodb;
MariaDB [(none)]> CREATE USER 'orouser'@'localhost' IDENTIFIED BY 'password';

Затем предоставьте привилегии базе данных OroCRM с помощью следующей команды:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON orodb.* TO 'orouser'@'localhost';

Затем выполните команду FLUSH PRIVILEGES, чтобы таблица привилегий была перезагружена MariaDB:

MariaDB [(none)]> FLUSH PRIVILEGES;

Наконец, выйдите из оболочки MariaDB:

MariaDB [(none)]> EXIT

После настройки MariaDB вы можете перейти к следующему шагу.

Установите Node.js и Composer

Вам также потребуется установить Node.js и Composer в вашу систему. Поскольку Node.js будет использоваться OroCRM для компиляции JavaScript, а Composer будет использоваться для установки зависимостей PHP.

Сначала добавьте репозиторий Node.js с помощью следующей команды:

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

Затем установите Node.js и Composer с помощью следующей команды:

sudo apt-get install nodejs -y
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo php composer-setup.php

Затем скопируйте Composer в каталог /usr/bin с помощью следующей команды:

sudo cp composer.phar /usr/bin/composer

Предоставьте Composer необходимые разрешения с помощью следующей команды:

sudo chmod 755 /usr/bin/composer

Установить OroCRM

Во-первых, вам нужно скачать последнюю версию OroCRM из репозитория Git. Вы можете сделать это с помощью следующей команды:

cd /var/www/html
sudo git clone -b 2.4 https://github.com/oroinc/crm-application.git orocrm

Затем измените каталог на orocrm и установите зависимости, необходимые для PHP, с помощью следующей команды:

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

Во время установки вам нужно будет предоставить данные базы данных, такие как имя базы данных, имя пользователя и пароль базы данных, хост базы данных следующим образом:

Creating the "app/config/parameters.yml" file
Some parameters are missing. Please provide them.
database_driver (pdo_mysql): 
database_host (127.0.0.1): 
database_port (null):
database_name (oro_crm): orodb 
database_user (root): orouser
database_password (null): password
mailer_transport (smtp): 
mailer_host (127.0.0.1): 
mailer_port (null): 
mailer_encryption (null): 
mailer_user (null): 
mailer_password (null): 
websocket_bind_address (0.0.0.0): 
websocket_bind_port (8080): 
websocket_frontend_host ('*'): 
websocket_frontend_port (8080): 
websocket_backend_host ('*'): 
websocket_backend_port (8080): 
web_backend_prefix (''): 
session_handler (session.handler.native_file): 
locale (en): 
secret (ThisTokenIsNotSoSecretChangeIt): 
installed (null): 
assets_version (null): 
assets_version_strategy (time_hash): 
message_queue_transport (dbal): 
message_queue_transport_config (null): 

Затем установите приложение, выполнив следующую команду:

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

Во время установки вам нужно будет указать данные учетной записи администратора:

Administration setup.
Application URL (http://localhost): 
Organization name (OroCRM): 
Username (admin): 
Email: 
First name: hitesh
Last name: jethva
Password: 
Load sample data (y/n): y

Oro Application has been successfully installed in prod mode.
Please run oro:api:doc:cache:clear command to warm-up API documentation cache
Make sure that consumer command was running oro:message-queue:consume. More info you can find here: https://www.orocrm.com/documentation/current/book/installation#activating-background-tasks.

Затем разогрейте кеш документации API с помощью следующей команды:

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

Настроить Nginx для OroCRM

Далее вам нужно будет создать файл виртуального хоста Nginx для OroCRM. Вы можете сделать это с помощью следующей команды:

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

Добавьте следующие строки:

server {
    server_name example.com;
    root  /var/www/html/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.0-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;
}

Сохраните и закройте файл, когда закончите, затем включите виртуальный хост Nginx с помощью следующей команды:

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

Затем проверьте Nginx на наличие ошибок конфигурации с помощью следующей команды:

sudo nginx -t

Вы должны увидеть следующий вывод:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Затем предоставьте необходимые права каталогу orocrm и перезапустите Nginx:

sudo chown -R www-data:www-data /var/www/html/orocrm
sudo chmod -R 777 /var/www/html/orocrm
sudo systemctl restart nginx

Доступ к OroCRM

Теперь OroCRM установлен, пришло время получить доступ к веб-интерфейсу OroCRM.

Откройте веб-браузер и введите URL-адрес http://example.com, вы будете перенаправлены на страницу входа в OroCRM, как показано ниже:

Укажите имя пользователя и пароль администратора, затем нажмите кнопку «Войти». Вы должны увидеть панель управления OroCRM на следующем изображении:

Поздравляем! OroCRM теперь установлен на сервере Ubuntu 16.04.