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

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

  • Операционная система Ubuntu 20.04 (с установленным PHP 7.4)
  • Apache 2.2 (желательно, но возможны и другие web сервера с поддержкой php) + модуль Apache mod_rewrite
  • MariaDB 10.3
  • IonCube
  • Модули PHP
  • Система выполнения заданий по расписанию (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 модули:

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

Для установки 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 необходим для выполнения периодических заданий программы таких как: напоминания, отправка писем, отправка смс, подгрузка сообщений техподдержки.

Методы PUT, PATCH, DELETE

Работа API и формы настроек модулей на линейке Pro (например, "Интеграция с Тинькофф Эквайринг" и "Интеграция с Альфа Банк"), используют в работе http-методы, такие как PUT, PATCH, DELETE.

Для установки модулей, которые работают с методами PUT, PATCH и DELETE, нужно:

  1. Зайти на сервер под пользователем root и ввести следующие команды:
a2enmod rewrite   
a2enmod actions   
a2enmod dav   
a2enmod dav_fs   
  1. Отредактировать конфигурационные файлы:

/etc/apache2/sites-available/000-default.conf
/etc/apache2/sites-available/default-ssl.conf

где в конце файла, перед строкой

</VirtualHost>

нужно вставить следующий фрагмент кода:

<Directory "/var/www/html">
  AllowOverride All
  Require all granted
  # Разрешаем методы PUT, PATCH, DELETE
  <Limit PUT PATCH DELETE>
    Require all granted
  </Limit>
</Directory>
  1. Ввести команду:
systemctl restart apache2

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

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

Для жителей РФ рекомендуем сервера в зоне RU для стабильной и бесперебойной работы (цены указаны на 07/10/2024):

  1. firstvds.ru (серия “Разгон”)

  2. selectel.ru (можно самостоятельно собрать необходимую конфигурацию, минимальный рекомендуемый вариант 2 vCPU 4 ГБ RAM 40 SSD)

  3. timeweb.com

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

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

Диск - 40 ГБ

  1. sweb.ru

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

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

Диск - 30 ГБ