Установка YetiForce на Debian 10 с бесплатным SSL от Let's Encrypt

Что такое YetiForce
YetiForce — это свободная CRM-система с открытым исходным кодом. Она помогает управлять клиентами, поставщиками, партнёрами и персоналом. YetiForce поддерживает интеграцию с LDAP, PBX, DAV, картами и социальными порталами. Включает более 70 модулей, биллинговые функции, автоматизацию и отслеживание писем, уведомления, поддержку GDPR и активное сообщество.
Важно: в примерах используется домен example.com и конфигурации по умолчанию. Замените их на свои значения.
Содержание руководства
- Подготовка системы
- Установка Apache, MariaDB, PHP и зависимостей
- Настройка PHP (php.ini)
- Настройка и защита MariaDB
- Загрузка и установка YetiForce
- Конфигурация виртуального хоста Apache
- Установка SSL с помощью Let’s Encrypt
- Тестирование установки и приёмочные критерии
- Рекомендации по безопасности и эксплуатация
- Чеклисты ролей, тест-кейсы и сценарии отката
Требования
- Сервер с Debian 10 и минимум 2 ГБ ОЗУ.
- Домен, указывающий на IP сервера (в примере example.com).
- Пароль root для сервера.
Начальная подготовка
Перед началом обновите систему:
apt-get update -y
apt-get upgrade -yПосле обновления рекомендуется перезагрузить сервер, чтобы применить обновления.
Установка Apache, MariaDB и PHP
Установим веб-сервер, СУБД, PHP и необходимые расширения:
apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-mysql php-gmp php-curl php-intl php-mbstring php-xmlrpc php-gd php-bcmath php-soap php-ldap php-imap php-xml php-cli php-zip git unzip wget -yПосле установки откройте конфигурационный файл PHP для Apache:
nano /etc/php/7.3/apache2/php.iniИзмените следующие строки (в исходном примере они выглядят так):
display_errors = Off
html_errors = Off
display_startup_errors
memory_limit = 256M
post_max_size = 50M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Asia/Kolkata
Примечание: строка date.timezone в примере указывает Asia/Kolkata. Оставьте значение, если оно вам подходит, или замените на вашу временную зону, например Europe/Moscow. Сохраните и закройте файл.
Запустите и включите автозапуск Apache и MariaDB:
systemctl start apache2
systemctl start mariadb
systemctl enable apache2
systemctl enable mariadbНастройка и защита MariaDB
MariaDB нужно защитить и задать пароль root. Выполните:
mysql_secure_installationОтветьте на вопросы мастера, например:
Enter current password for root (enter for none):
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 и создайте базу данных и пользователя для YetiForce:
mysql -u root -pВнутри MariaDB выполните:
MariaDB [(none)]> CREATE DATABASE yetiforcedb;
MariaDB [(none)]> CREATE USER 'yetiforce'@'localhost' IDENTIFIED BY 'password';Выдайте привилегии и примените их:
MariaDB [(none)]> GRANT ALL ON yetiforcedb.* TO 'yetiforce'@'localhost' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Совет: используйте надёжный пароль вместо ‘password’. Для production рекомендуем включить аутентификацию по Unix-сокету или ограничить доступ по IP.
Загрузка YetiForce
Скачайте пакет YetiForce (пример с SourceForge):
wget https://excellmedia.dl.sourceforge.net/project/yetiforce/YetiForce%20CRM%205.x.x/5.1.0/YetiForceCRM-5.1.0-complete.zipРаспакуйте в корень веб-сервера и выставьте права:
mkdir /var/www/html/yetiforce
unzip YetiForceCRM-5.1.0-complete.zip -d /var/www/html/yetiforcechown -R www-data:www-data /var/www/html/yetiforce
chmod -R 755 /var/www/html/yetiforceПроверьте, что файлы доступны для Apache и нет лишних прав на исполнение.
Конфигурация Apache для YetiForce
Создайте виртуальный хост:
nano /etc/apache2/sites-available/yetiforce.confДобавьте конфигурацию:
ServerAdmin [email protected]
DocumentRoot /var/www/html/yetiforce
ServerName example.com
Options FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Включите сайт и модуль перезаписи URL, затем перезапустите Apache:
a2ensite yetiforce.conf
a2enmod rewrite
systemctl restart apache2Проверка: откройте http://example.com и убедитесь, что появляется инсталлятор YetiForce.
Защита HTTPS с помощью Let’s Encrypt
Установим Certbot из backports и получим бесплатный сертификат:
Добавьте репозиторий backports:
echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.listОбновите список пакетов и установите Certbot для Apache:
apt-get update -y
apt-get install python-certbot-apache -t buster-backportsЗапустите Certbot для вашего домена:
certbot --apache -d example.comВо время работы укажите email и согласитесь с условиями. Certbot предложит настроить перенаправление с HTTP на HTTPS — рекомендуется выбрать перенаправление.
Примечание про продление: Certbot устанавливает системный таймер/задачу для автоматического обновления сертификатов. Для ручного запуска используйте:
certbot renew --dry-runЕсли вы предпочитаете crontab, добавьте задачу:
0 3 * * * /usr/bin/certbot renew --quietДоступ к инсталлятору и шаги установки
Откройте https://example.com. Инсталлятор YetiForce проведёт вас через шаги:
- Лицензионное соглашение — примите его.
- Проверка серверной конфигурации — исправьте недостающие модули или права.
- Ввод параметров базы данных (yetiforcedb / yetiforce / password).
- Создание учётной записи администратора и данных компании.

Нажмите “Install” и следуйте подсказкам.





После успешной установки вы попадёте на панель управления:

Критерии приёмки (что проверить после установки)
- Веб-интерфейс доступен по HTTPS и сертификат действителен.
- Вход в админ-панель работает с учётной записью администратора.
- Подключение к базе данных активно, нет ошибок миграции.
- Модули и расширения (imap, ldap и т.д.) установлены и корректно распознаны инсталлятором.
- Файлы и директории имеют корректные права (www-data владелец, права 755/644).
Тест-кейсы и проверочные сценарии
- Попытка загрузить файл вложения 10 МБ — проходит успешно.
- Отправка тестового письма — шаблон отправлен, запись логируется.
- Создание нового клиента и назначение ответственного пользователя — данные сохраняются.
- Резервное копирование базы данных и рестор — бэкап создаётся, восстановление проходит без ошибок.
Руководство ролей: кто за что отвечает
- Системный администратор: установка пакетов, настройка сервера, SSL, бэкапы, обновления ОС.
- Администратор YetiForce: настройка модулей, прав пользователей, миграции данных.
- Разработчик/интегратор: доработка шаблонов, интеграция с внешними сервисами (LDAP, PBX).
- Оператор безопасности: мониторинг логов, контроль доступа, ревью прав пользователей.
Рекомендации по безопасности и жёсткая база
- Отключите доступ к phpMyAdmin по публичному URL; используйте SSH-тоннелирование.
- Ограничьте доступ к MariaDB по IP, если возможно.
- Включите регулярное резервное копирование базы и файлов (rsync + mysqldump с шифрованием).
- Установите fail2ban для защиты от брутфорса.
- Периодически проверяйте обновления YetiForce и модулей.
Пример базовой политики бэкапа (ежедневно/еженедельно):
- Ежедневный дамп базы за 7 дней хранения.
- Еженедельный полный бэкап файлов на offsite-хранилище.
Обновление и миграция
- Для обновления YetiForce используйте встроенные инструменты обновления или следуйте официальной инструкции проекта.
- Перед обновлением всегда делайте полную резервную копию базы и файлов.
- Тестируйте обновление на staging-сервере перед продакшеном.
Общие ошибки и способы их устранения
- Ошибка прав доступа: проверьте владельца и права файлов (chown/chmod).
- Недостающие расширения PHP: проверьте вывод phpinfo() и установите недостающие модули.
- Проблемы с подключением к БД: проверьте параметры хоста, пользователя и пароль; убедитесь, что localhost разрешён.
- SSL не установлен: проверьте логи /var/log/letsencrypt и запустите certbot renew –dry-run.
Альтернативные подходы
- Использовать Nginx вместо Apache — потребует адаптации конфигурации и правил перезаписи.
- Развертывание в Docker-контейнерах — удобнее для изоляции и масштабирования.
- Хостинг на управляемом PaaS — избавляет от администрирования ОС, но ограничивает доступ к конфигурации.
Пошаговая мини-методология для развёртывания (SOP)
- Подготовка сервера: обновление и базовая настройка безопасности.
- Установка LAMP-стека и зависимостей.
- Настройка базы данных и создание пользователя.
- Загрузка YetiForce и правильные права доступа.
- Конфигурация виртуального хоста, тест на HTTP.
- Установка Certbot и получение SSL.
- Полный цикл тестирования и приёмочные тесты.
- Настройка бэкапов и мониторинга.
Сценарий отката (rollback)
Если обновление или установка привели к проблемам:
- Остановите веб-сервер.
- Восстановите файловую систему из резервной копии.
- Восстановите базу данных из mysqldump.
- Перезапустите службы и проверьте логи.
Совместимость и заметки о версиях
- Инструкция проверена для Debian 10 и PHP 7.3 (пакеты в примерах соответствуют этой конфигурации).
- При использовании более новых версий PHP проверьте поддержку модулей и требования YetiForce для выбранной версии.
- Для Debian 11+ некоторые пакеты и пути могут отличаться.
GDPR и приватность
- YetiForce включает инструменты для управления данными по GDPR. Настройте права доступа и политику хранения персональных данных.
- Логи и бэкапы могут содержать персональные данные — храните их защищённо и контролируйте доступ.
Блок быстрого восстановления и проверки (cheat sheet)
- Проверка служб: systemctl status apache2 mariadb
- Тест SSL: openssl s_client -connect example.com:443 -servername example.com
- Проверка cron для certbot: systemctl list-timers | grep certbot
Ключевые выводы
- Следуйте шагам: установка пакетов → настройка PHP → защита БД → загрузка YetiForce → настройка Apache → SSL.
- Делайте бэкапы перед обновлениями.
- Ограничьте публичный доступ к административным инструментам.
Подводя итоги, вы теперь имеете рабочую установку YetiForce на Debian 10 с HTTPS. Настройте модули и политики безопасности под ваши бизнес-процессы.
Если у вас возникли вопросы или нужно помочь с конкретной ошибкой — укажите вывод журналов и точный шаг, на котором возникла проблема.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента