Установка SalesPlatform vtiger CRM

В статье будет рассмотрено как установить SalesPlatform vtiger CRM, т.к. описанный в официальной документации способ не всегда работает, а также настроить Apache и MySQL для нормальной работы SalesPlatform vtiger CRM.

Upd: внес некоторые правки для установки SalesPlatform vtiger CRM 6.2.0-201505 на Debian 8 Jessie

Оглавление

1. Настройка Apache

2. Настройка MySQL

3. Установка SalesPlatform vtiger CRM.

4. Настройка работы планировщика

5. Ссылки

Итак, начнем:

1. Настройка Apache

  1. В папке /etc/apache2/sites-available/ создаем файл для виртуального хоста:
     nano /etc/apache2/sites-available/crm
  2. Вставляем туда следующее
    <VirtualHost *:80>
        ServerName vtigercrm.local
        DocumentRoot /var/www/vtigercrm
    
        <Directory />
            Options FollowSymLinks
            AllowOverride All
        </Directory>
        <IfModule mod_php5.c>
            php_value error_reporting "E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT"
            php_value safe_mode off
            php_flag display_errors off
            php_value file_uploads on
            php_value max_execution_time 600
            php_value memory_limit 128M
            php_value zlib.output_compression on
            php_value log_errors on
            php_value output_buffering on
            php_value register_globals off
            php_flag short_open_tag on
            php_value max_input_vars 100000
            php_value max_execution_time 600
    
        </IfModule>
            ErrorLog ${APACHE_LOG_DIR}/vtigercrm.local_error.log
    
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
            LogLevel warn
    
            CustomLog ${APACHE_LOG_DIR}/vtigercrm.local_access.log combined
    </VirtualHost>
  3. И включаем виртуальный хост
    ln -s /etc/apache2/sites-available/crm /etc/apache2/sites-enabled/crm
  4. И перезагружаем Apache
    apachectl restart

2. Настройка MySQL

Для MySQL 5.5 нужно настроить кодировку по умолчанию на UTF8, для этого нужно:

  1. Создадть файл /etc/mysql/conf.d/utf8.cnf:
    nano /etc/mysql/conf.d/utf8.cnf
  2. Вставляем туда следующее
    [mysqld]
    
    collation_server=utf8_general_ci
    character_set_server=utf8
    init_connect='SET collation_connection = utf8_general_ci'
    init_connect='SET NAMES utf8'
    
  3. И перезагружаем MySQL
    /etc/init.d/mysql restart
  4. Теперь подключаемся к базе данных:
    mysql -u root -p
  5. Создаем базу vtiger:
    create database vtiger;
  6. Создаем нового пользователя «vtiger» и паролем «some_pass», разрешаем ему подключаться только от localhost:
    CREATE USER 'vtiger'@'localhost' IDENTIFIED BY 'some_pass';
  7. Даем новому пользователю полные права на базу «vtiger»:
    GRANT ALL PRIVILEGES ON vtiger.* TO 'vtiger'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    quit;

3. Установка SalesPlatform vtiger CRM.

  1. Устанавливаем необходимые зависимости:
    aptitude install binutils cpp flex gcc  libarchive-zip-perl libc6-dev 
    libcompress-zlib-perl libpcre3 libpopt-dev lynx m4 make  ncftp nmap 
    openssl perl perl-modules unzip zip zlib1g-dev autoconf  automake 
    libtool bison autotools-dev gcc libpng12-dev libjpeg-dev libfreetype6-dev 
    libssl-dev libxml2-dev libxml2 g++ gawk libapache2-mod-php5 php5-gd 
    php5-imap php5-zlib php5-curl php5-mysql
  2. Обновляем временную зону для php, для этого необходимо установить репозиторий расширений PHP, доступ к которым предоставляется через систему PEAR:
    apt-get install php-pear php5-dev
    pecl install timezonedb
    nano /etc/php5/mods-available/timezonedb.ini
    ln -s /etc/php5/mods-available/timezonedb.ini /etc/php5/conf.d/timezonedb.ini
  3. Затем скачиваем по ссылке последний дистрибутив, на момент написания этой статью версия  была 6.1.0-201412, и распаковываем дистрибутив в каталоге /var/www. Внимание!!! В Debian 8 Jessie каталог по умолчанию /var/www/html/, поэтому, либо меняем каталог куда распаковываем, либо меняем настройки конфиге по умолчанию, у меня он называется 000-default.conf:
    cd /var/www
    wget http://sourceforge.net/projects/salesplatform/files/salesplatform-vtigercrm-6.1.0-201412.tar.gz
    tar xzf salesplatform-vtigercrm-6.1.0-201412.tar.gz
  4. На время выполнения установки дадим веб-серверу права на запись для всех файлов и каталогов. Сделаем это, изменив владельца и группу на www-data (стандартный пользователь сервера Apache в Debian):
    cd vtigercrm
    chown -R www-data.www-data *
  5. Внимание!!! Если Вы настроили Apache как написано в этом руководстве, то этот пункт вы пропускаете. Необходимо также исправить конфигурационный файл PHP (/etc/php5/apache2/php.ini), задав следующие значения параметров (для PHP >= 5.4 опция allow_call_time_pass_reference не требуется):
    allow_call_time_pass_reference = on
    error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
    safe_mode = off
    display_errors = off
    file_uploads = on
    max_execution_time = 600
    memory_limit = 128M
    log_errors = on
    output_buffering = on
    register_globals = off
    short_open_tag = on
    max_input_vars = 5000
  6. Если установлен модуль PHP suhosin, то необходимо также исправить конфигурационный файл этого модуля (/etc/php5/conf.d/suhosin.ini), задав следующие значения параметров:
    suhosin.get.max_value_length = 8192
    suhosin.post.max_vars = 5000
    suhosin.request.max_vars = 5000
  7. Внимание!!! Если Вы настроили MySQL как написано в этом руководстве, то этот пункт вы пропускаете. В настройках MySQL рекомендуется установить UTF8 в качестве кодировки по умолчанию. Для этого создадим файл /etc/mysql/conf.d/utf8.cnf со следующим содержанием (для MySQL версии 5.5 и выше опции default-character-set не требуются):
    [mysqld]
    
    collation_server=utf8_general_ci
    character_set_server=utf8
    default-character-set=utf8
    init_connect='SET collation_connection = utf8_general_ci'
    init_connect='SET NAMES utf8'
    
    [mysql]
    
    default-character-set = utf8
  8. Для корректной работы с кодировками при импорте данных в CRM на сервере должны быть установлены соответствующие кодировкам локали: CP1251, UTF-8 и ISO-8859-1. Необходимо проверить существующие локали
    locale -a

    Вывод этой команды должен быть примерно таким

    <strong>CP1251</strong>
    <strong>CP1251.cp1251</strong>
    C.UTF-8
    <strong>ISO-8859-1</strong>
    <strong>ISO-8859-1.iso88591</strong>
    POSIX
    ru_RU.utf8
    <strong>UTF-8</strong>
    <strong>UTF-8.utf8</strong>

    Нужные нам локали выделены, если чего-то нахватает, то необходимо установить недостающие (важно точное соответствие названия кодировки и локали):

    localedef -i ru_RU -f CP1251 CP1251
    localedef -i ru_RU -f UTF-8 UTF-8
    localedef -i en_US -f ISO-8859-1 ISO-8859-1
  9. Перезапускаем серверы:
    /etc/init.d/mysql restart
    /etc/init.d/apache2 restart
  10. Наконец, все готово. Если настроили Apache по этому руководству, то переходим в браузере по адресу: http://vtigercrm.local/, если нет, то по адресу: http://адрес_сервера/vtigercrm и попадаем в мастер начальной установки vtiger CRM, который в интерактивном режиме поможет выполнить начальную конфигурацию БД vtiger CRM.
  11. Если по нажатии кнопки «Установка» появляется ошибка «Invalid request», то открываем файл
    nano /var/www/vtigercrm/libraries/csrf-magic/csrf-magic.php

    Находим там строчку $GLOBALS[‘csrf’][‘secret’], и в каычки вписываем любой набор символов, у меня получилось вот так:

    $GLOBALS['csrf']['secret'] = 'kldsjfgldsjfkghdskjfghdksljfgh';

    И запускаем установку заново

  12. Соглашаемся с лицензией
  13. Проверям параметры сервера, если что-то выделено красным, то вносим изменения в настройки php, но можно продолжить установку и так, не добиваясь полного соответствия
  14. Теперь вводим параметры подключения к базе данных, логин, пароль и имя базы данных мы настраивали в разделе настройки MySQL, в строке хост пишем «localhost»
  15. Затем,если параметры подключения введены правильно и ошибок нет, жмем «Далее»
  16. Отвечаем на опрос
  17. Ждем пока завершится установка, у меня она длилась минут пять
  18. Выбираем необходимые модули
  19. И завершаем установку
  20. После установки снимем права на запись для ряда подкаталогов системы:
    cd /var/www/vtigercrm
    chown -R root.root *
    chown -R www-data.www-data cache logs modules storage test user_privileges tabdata.php parent_tabdata.php config.inc.php

4. Настройка работы планировщика

Для работы Планировщика необходимо:

  1. создать файл в /etc/cron.d/
    nano /etc/cron.d/vtigercrm
  2. со следующим содержимым:
    */5 * * * * www-data /usr/bin/flock -n /tmp/vtigercron.lock /var/www/vtigercrm/cron/vtigercron.sh 
    #
  3. Даем скрипту права на запуск
    chmod 755 /var/www/vtigercrm/cron/vtigercron.sh

На этом установка закончена и можно пользоваться SalesPlatform vtiger CRM.

P.S. Для работы некоторых расширений необходимо, что бы был включен модуль Zlib, поэтому проверьте статус zlib.output_compression в phpinfo(), он должен быть On.

5. Ссылки:

http://community.salesplatform.ru/documentation/
http://softnastroy.com/content/ustanovka-pecl-i-ustanovka-uploadprogress-dlya-drupal-7-v-debian-squeeze-ili-ubuntu-lts-server.html
http://nslookup.org.ua/blog/2012/10/18/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-vtigercrm/http://serkas.pp.ru/index.php/pamyatki-zapiski-poleznyie-ssyilki/mysql-sozdat-bazu-i-polzovatelya/
http://howto.memcrab.com/2012/01/mysql.html