Установка OroCrm

В этой небольшой статье мы расскажем как установить и запустить OroCRM на собственный сервер под управление Ubuntu Linux.

Напомним, что OroCRM - бесплатная и активно развивающаяся CRM-платформа, написанная на Symfony2. Исходный код открыт и доступен на GitHub

Для работы OroCRM вам потребуется сервер/хостинг, удовлетворяющий следующим параметрам:

  • PHP 5.4.9 или выше
  • PHP расширения:
    • GD
    • Mcrypt
    • JSON
    • ctype
    • Tokenizer
    • SimpleXML
    • PCRE
    • ICU
  • MySQL 5.1 или выше
  • PostgreSQL 9.1 или выше

Если у вас все это имеется - можно приступать к установке.

1 Клонируем репозиторий OroCRM с Github в директорию "crm":

git clone http://github.com/orocrm/crm-application.git crm

2 Устанавливаем Composer:

curl -s https://getcomposer.org/installer | php

3 Устанавливаем зависимости OroCrm:

php composer.phar install --prefer-dist --no-dev

Процедура установки зависимостей может занять довольно продолжительное время.

При установке на сервер может возникнуть ситуация, когда Composer-у не хватит доступной памяти, чтобы скачать и установить все зависимости, в таком случае в консоли отобразится: "killed". Если существует возможность увеличить объем доступной php памяти - сделайте это и повторите установку. Если объем памяти лимитирован - проделайте следующее. Повторите описанные выше три пункта на вашем локальном компьютере, после того как все зависимости будут установлены в каталоге с проектом появится файл composer.lock Загрузите этот файл в каталог проекта на сервере и повторно выполните команду:

php composer.phar install --prefer-dist --no-dev

В последних версия OroCRM composer.lock включен в состав дистрибутива.

4 Скорее всего вам потребуется установить php-расширение php-intl, в Ubuntu это делается командой:

sudo apt-get install php5-intl

После установки расширение снова запустите команду установки зависимостей.

5 В процессе установке вам будет необходимо указать параметры соединения с базой данных, настройки для подключения к почтовому серверу и еще ряд параметров.

Запомните название базы данных, которое вы указали (по умолчанию oro_crm)

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

7 Дальнейшая установка возможна двумя способами: через консоль и через веб-интерфейс. Мы будем устанавливать вторым способом.

Для начала нам необходимо настроить Nginx (в нашем случае) для корректной работы с приложением. Конфигурационный файл возьмем из официальной документации по Symfony - http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html#nginx и внесем всего одно изменение:

в секцию

location~^/(app|app_dev|config)\.php(/|$)

добавим еще один файл - install - скрипт запуска процедуры установки.

Итоговый файл имеет вот такой вид:

server {
    server_name crm.local;
    root /var/www/crm/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:/var/run/php5-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;
    }
    error_log /var/log/nginx/project_error.log;
    access_log /var/log/nginx/project_access.log;
}


8 Для начала установки перейдем по адресу domain.ru/install.php должна открыться страничка с проверками окружения.

9 Устраняем проблемы:

  • date.timezone setting must be set - устанавливаем временную зону, обратите внимание, что это необходимо сделать как в php.ini для веб-сервера, так и для консоли. Мы выставили в "Europe/Moscow"
  • memory_limit should be at least 256M - увеличиваем объем допустимой памяти (в последних версиях - 512 МБ)
  • mcrypt_encrypt() should be available - устанавливаем php-расширение: sudo apt-get install php5-mcrypt

После всех этих действий перезапускаем php-fpm: service php5-fpm restart

10 Устанавливаем NodeJs:

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm

Нажимаем "Next" и попадаем на страницу параметров:

На этой странице продублированы параметры, которые мы указывали при установке зависимостей, вводим пароль от базы данных и от почтового сервера (если необходимо) нажимаем "Next"

12 Процесс установки можно видеть в логе tail -f ./app/logs/oro_install.log - в некоторых случаях это помогает понять причину ошибок.

13 На следующем шаге нам предложат создать администратора установленной системы и задать некоторые системные настройки. Рекомендуем поставить галочку "Load Sample Data", в этом случае база данных будет заполнена тестовыми данными, что облегчит процесс ознакомления с системой

14 Процесс инициализации базы данных и загрузки тестовых данных

15 Если процесс прошел без ошибок - вы должны увидеть страничку, сообщающую об успешной остановке OroCRM

16 Переходим по основному адресу только что установленного приложения ( http://crm.local в нашем случае) и мы должны увидеть окно авторизации

OroCRM - очень мощная система, обладающая просто огромными возможностями для ведения и анализа базы данных клиентов, сделок, продаж и т.д.

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

Платформа постоянно развивается, новые версии выходят регулярно, о том, как обновлять OroCrm читайте в нашей заметке "Обновление OroCrm"

В следующей статье мы познакомимся с базовым интерфейсом системы и попробуем сделать простейшие операции.