Требования к серверу и его настройкам

Для работы программы "Клиентская база" 3.0.4 необходимы следующие программы и модули:

  • Операционная система Ubuntu 18.04
  • Apache 2.2 (желательно, но возможны и другие web сервера с поддержкой php) + модуль Apache mod_rewrite
  • PHP 7.2
  • Модули php:
  • gd
  • mbstring
  • cli
  • imap
  • zip
  • curl (для отправки смс)
  • mysql
  • xml
  • imagick
  • recode
  • tidy
  • xmlrpc
  • bcmath
  • openssl
  • memcached
  • opcache
  • iconv
  • exif
  • MariaDB 10.1
  • IonCube

Также необходима система выполнения заданий по расписанию (cron).

Минимальные требования к серверу (VPS/Dedicated):

  • Процессор (2.0 ГГц) - 2 ядра
  • Оперативная память (МБ) - 2048
  • Дисковое пространство (ГБ) - 10 ГБ

Ниже будут расписаны некоторые узкие моменты по настройке сервера.

Настройки PHP

Для работы программы необходимо выключить вывод уведомлений Notice. Для этого в файле php.ini должна быть следующая строка:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_STRICT

Также желательно увеличить размер и количество файлов для закачки на сервер:

max_input_time = 120

Минимальное значение для данного параметра - 60

post_max_size = 512M

Минимальное значение для данного параметра - 256М

upload_max_filesize = 512M

Минимальное значение для данного параметра - 256М

Увеличить размер возможной памяти на процесс:

memory_limit= 512M

Минимальное значение для данного параметра - 256M

Увеличить максимальное время работы скрипта:

max_execution_time = 360

Минимальное значение для данного параметра - 240

Опция PHP open_basedir

В случае если на вашем сервере включена данная опция, необходимо также корректно настроить параметры upload_tmp_dir и session.save_path.

Оба данных каталога должны быть внутри каталога open_basedir. Естественно, должны присутсnвовать права на запись в данные каталоги.

upload_tmp_dir - указывает каталог, в который будут сохранены заливаемые на сайт файлы.

session.save_path - указывает каталог, в который будут сохраняться данные сессии пользователя.

Пример корректной настройки:

open_basedir = /var/www

upload_tmp_dir = /var/www/tmp_upload

session.save_path = /var/www/tmp

Пример скрипта для проверки:

{
  echo "Basedir: ".ini_get('open_basedir');
  echo "Upload dir: ".ini_get('upload_tmp_dir');
  echo "Temp dir: ".sys_get_temp_dir();
}

Если при корректных настройках php функция sys_get_temp_dir все равно возвращает /tmp, то вы имеете дело с багом PHP 5.2. В некоторых случаях эту проблему можно решить так: если на сервере установлен модуль SetEnv, тогда можно прописать в .htaccess:

SetEnv TMPDIR /var/www/data/mod-tmp

ZendGuard / Ioncube

CRM программа "Клиентская база" поставляется в закодированном виде. Для ее работы необходим модуль PHP ZendOptimizer 3.9 либо последняя версия IonCube. Для установки необходимо скачать соответствующие модули и прописать в файле php.ini директивы по их включению. Например:

Для Ioncube:

zend_extension=/etc/php5/ioncube_loader_lin_5.5.so

Для ZendGuard:

zend_loader.enable=1

zend_extension=/etc/php5/ZendGuardLoader.so

Целостность файлов

При проверке целостности файлов вычисляются контрольные суммы файлов дистрибутива. Если файл испорчен, залит в неправильном режиме FTP (текстовый формат), из другой ревизии, то выводится предупреждение о нарушении целостности.

Модули PHP

Для корректной работы программы необходимы следующие php модули: gd, mbstring, iconv, zip, openssl, imap, mhash, curl.

  • Модуль gd необходим для работы с графическими объектами. Например, при работе с полями изображений генерируется маленькое изображение для предварительного просмотра. Данный модуль, как правило, существует в основной поставке php, и является критичным модулем для работы с Кб.
  • Модуль mbstring необходим для работы со строковыми данными. Для работы программы критичен.
  • Модуль iconv необходим для работы со строковыми данными в различных кодировках. Целевое использование - при импорте данных файла csv в кодировке CP1251. Для работы программы критичен.
  • Модуль mcrypt необходим для шифрования данных. Для работы программы критичен.
  • Модуль zip необходим для работы с файлами бекапов. Данный модуль, как правило, существует в основной поставке php. Для работы программы критичен.
  • Модуль zlib необходим для корректной работы файлов типа docx (т.е. в частности для работы с шаблонами печати данного типа).
  • Модуль openssl необходим при использовании рассылок, если используется внешний smtp сервер с ssl авторизаций. Например, при рассылке с gmail ящика. Для работы программы не критичен.
  • Модуль imap необходим для работы системы отписки при использовании массовых рассылок. Для работы программы не критичен.
  • Модуль mhash необходим для более безопасного хранения паролей пользователей системы. Для работы программы критичен.
  • Модуль curl необходим для рассылки СМС через шлюз Intis, а так же для корректной работы модуля "IP-телефонии".
  • Модуль exif необходим для корректного отображения файлов и картинок.
  • Модуль php-xml для корректной работы с xml-документами и шаблонами печати.

При использовании локальной версии программы и программы "Локальный сервер" все модули уже установлены и настроены. Ничего более настраивать не требуется. Если же у вас всё-таки возникает ошибка из-за отсутствия одного из модулей, то, возможно, у вас некорректно была установлена программа. В этом случае требуется переустановить программу, а также проверить компьютер на наличие вирусов.

Для установки php модулей на простом хостинге (Shared Hosting) требуется обратиться к администрации хостинга. Администрация хостинга подскажет, как включить данный модуль средствами панели управления хостингом, либо установит для вас этот модуль. В случае если администрация откажет в использовании вышеперечисленных модулей, придется искать другого хостера.

Права доступа на папки

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

  • cache (кеш файлов стилей, иконок изображений и т.п.),
  • files (файлы конфигурации),
  • temp (временные файлы программы, файлы стандартных конфигураций),
  • templates_c (временные файлы шаблонов smarty),
  • backup (файлы бэкапов программы),
  • runtime

Строковые функции PHP

Для правильной работы с данными в различных кодировках требуется корректная работа строковых функций PHP. На некоторых версиях PHP наблюдается баг, при котором неправильно вычисляются длины строк, содержащих различные данные. Если проверка системы показывает, что строковые функции работают некорректно, то необходимо поменять версию PHP (описание бага на сайте PHP). Пример некорректной работы со строками:

{
  mb_internal_encoding("UTF-8");
  echo "strlen: ".strlen("Счет MWE_самострой с регсбором.rtf");
  echo "mb_strlen: ".mb_strlen("Счет MWE_самострой с регсбором.rtf");
}

Прочие требования

  • Наличие модуля Apache mod_rewrite. Данный модуль необходим для корректной работы функционала API программы
  • Система выполнения заданий по расписанию (Cron). Cron необходим для выполнения периодических заданий программы таких как: напоминания, отправка писем, отправка смс, подгрузка сообщений техподдержки.

Список рекомендуемых VPS провайдеров для установки актуальной версии КБ

Рекомендуемые дата-центры:

Для жителей РФ рекомендуем сервера в зоне RU для стабильной и бесперебойной работы:

  • Selectel https://selectel.ru/services/cloud/servers/?zone=ru-9a (можно самостоятельно собрать необходимую конфигурацию, минимальный рекомендуемый вариант 2 vCPU 4 ГБ RAM 40 SSD)
  • Firstvds https://firstvds.ru/ (серия “Разгон”)

Сервера Германии, рекомендованы для граждан не RU зоны:

  • Hetzner https://www.hetzner.com/cloud#pricing (серия CAX11)

Рекомендованные хостинг-провайдеры

Данные хостинг-провайдеры были протестированы путем непосредственной установки программы "Клиентская база" с включением основного функционала.

  1. beget.com

Минимальный рекомендованный тарифный план для работы программы - Noble

Стоимость, руб. (за месяц при оплате за год) - 560 руб.

Диск - 40 ГБ

  1. timeweb.com

Минимальный рекомендованный тарифный план для работы программы - Century+

Стоимость, руб. (за месяц при оплате за год) - 397 руб.

Диск - 40 ГБ

  1. sweb.ru

Минимальный рекомендованный тарифный план для работы программы - Космос

Стоимость, руб. (за месяц при оплате за год) - 479 руб.

Диск - 30 ГБ