Гид по технологиям

Установка SuiteCRM на Debian 11 с Apache и Let's Encrypt SSL

6 min read CRM Обновлено 25 Nov 2025
Установка SuiteCRM на Debian 11 с Apache и SSL
Установка SuiteCRM на Debian 11 с Apache и SSL

Обложка: интерфейс SuiteCRM или логотип на фоне экрана сервера

SuiteCRM — это решение CRM с открытым исходным кодом, написанное на PHP. Это полнофункциональное и легко расширяемое приложение, работающее на любой операционной системе. SuiteCRM стало популярным вариантом после прекращения общественной версии SugarCRM и часто применяется вместо коммерческих CRM, таких как SugarCRM, Salesforce и Microsoft Dynamics. В этой статье показан надёжный путь установки SuiteCRM с Apache и сертификатом Let’s Encrypt на Debian 11.

Важно: инструкция предполагает, что у вас есть сервер с Debian 11 и управляемый домен, указывающий на IP сервера.

Предварительные требования

  • Сервер с Debian 11.
  • Домен, указывающий на IP сервера (A-запись).
  • Настроен пароль root на сервере (или доступ через sudo-аккаунт с правами администратора).

Краткая методология установки

  1. Установить Apache, MariaDB, PHP и нужные PHP-расширения.
  2. Настроить PHP под требования SuiteCRM.
  3. Создать базу данных и пользователя MariaDB.
  4. Скачать и распаковать SuiteCRM в корневую папку Apache.
  5. Настроить виртуальный хост Apache.
  6. Завершить установку через веб-интерфейс.
  7. Установить и настроить сертификат Let’s Encrypt, включить принудительное перенаправление на HTTPS.

Установка Apache, MariaDB и PHP

SuiteCRM работает на PHP и использует MariaDB как СУБД. На сервер нужно установить Apache, MariaDB, PHP и расширения для PHP. Выполните одну команду:

apt-get install apache2 mariadb-server mariadb-client php php-common php-zip php-mysql php-gd php-curl php-imap php-mbstring php-xml php-json libapache2-mod-php unzip libpcre3 -y

После установки откройте файл php.ini и измените базовые настройки:

nano /etc/php/7.4/apache2/php.ini

Отредактируйте или добавьте параметры:

memory_limit = 256M
post_max_size = 64M
upload_max_filesize = 64M

Сохраните файл и перезапустите Apache, чтобы применить изменения:

systemctl restart apache2

Важно: версия PHP в примерах — 7.4. Если вы используете другую версию PHP, замените путь к php.ini соответственно.

Создание базы данных MariaDB для SuiteCRM

Для безопасности сначала запустите скрипт настройки MariaDB:

mysql_secure_installation

На вопросы отвечайте утвердительно, чтобы задать пароль root, удалить анонимных пользователей и тестовую базу данных.

Затем войдите в оболочку MariaDB:

mysql -u root -p

Создайте базу данных и пользователя (в примере имя базы и пользователя — suitecrm; замените пароль на надёжный):

MariaDB [(none)]> CREATE DATABASE suitecrm;
MariaDB [(none)]> CREATE USER 'suitecrm'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON suitecrm.* TO 'suitecrm'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Совет: используйте сложный пароль и храните его в менеджере паролей.

Установка SuiteCRM

Скачайте последнюю версию SuiteCRM (пример из оригинальной инструкции):

wget https://suitecrm.com/files/147/SuiteCRM-7.12/578/SuiteCRM-7.12.1.zip

Распакуйте архив:

unzip SuiteCRM-7.12.1.zip

Переместите распакованную папку в корневой каталог Apache и установите права:

mv SuiteCRM-7.12.1 /var/www/html/suitecrm
chown -R www-data:www-data /var/www/html/suitecrm
chmod -R 755 /var/www/html/suitecrm

Проверка: веб-страницы должны быть доступны пользователю www-data, а права на выполнение и чтение выставлены корректно.

Настройка Apache для SuiteCRM

Создайте виртуальный хост Apache:

nano /etc/apache2/sites-available/suitecrm.conf

Вставьте конфигурацию (замените ServerName на ваше доменное имя):



 DocumentRoot /var/www/html/suitecrm
 ServerName suitecrm.example.com

 
    Options FollowSymLinks
    AllowOverride All
 

 ErrorLog /var/log/apache2/suitecrm-error.log
 CustomLog /var/log/apache2/suitecrm-access.log common

Активируйте сайт и перезагрузите конфигурацию:

a2ensite suitecrm.conf
systemctl reload apache2

Проверить статус Apache:

systemctl status apache2

Если сервис активен и запущен, вы можете продолжить веб-установку.

Веб-интерфейс установки SuiteCRM

Откройте браузер и перейдите по адресу: http://suitecrm.example.com

При установке вы увидите страницы: лицензионное соглашение, проверка системы, конфигурация базы данных и профиля администратора, настройки SMTP и локали.

Страница лицензионного соглашения SuiteCRM

Пройдите мастер установки, задав данные базы, администратора, SMTP, брендинга и параметры безопасности. После успешной установки вы попадёте на страницу входа.

Проверка системы SuiteCRM

Конфигурация базы данных и сайта SuiteCRM

Импорт демонстрационных данных SuiteCRM

Настройки SMTP

Настройка локали и системных параметров

Конфигурационный файл SuiteCRM

Страница входа SuiteCRM

Панель управления SuiteCRM

Защита SuiteCRM с помощью Let’s Encrypt

Установите Certbot и плагин для Apache:

apt-get install certbot python3-certbot-apache -y

Запустите Certbot для автоматической генерации и установки сертификата:

certbot --apache -d suitecrm.example.com

Во время работы вам предложат ввести email и принять условия обслуживания. После успешной установки вы можете выбрать перенаправление всего трафика на HTTPS — рекомендуется выбрать перенаправление.

Certbot сохранит сертификаты по умолчанию в:

/etc/letsencrypt/live/suitecrm.example.com/fullchain.pem
/etc/letsencrypt/live/suitecrm.example.com/privkey.pem

Примечание: срок действия сертификатов Let’s Encrypt — 90 дней. Рекомендуется автоматически продлевать их.

Настройка автоматического продления

Certbot обычно добавляет системный cron или systemd timer для автоматического продления. Для ручной проверки можно запускать:

certbot renew --dry-run

Если нужно добавить cron-задачу вручную:

# Запуск дважды в день, попытка обновления
0 */12 * * * root certbot renew --quiet --post-hook "systemctl reload apache2"

Безопасность и жесткая конфигурация

  • Установите файрвол (ufw) и откройте только нужные порты:
apt-get install ufw -y
ufw allow OpenSSH
ufw allow 'Apache Full'    # это разрешит 80 и 443
ufw enable
  • Ограничьте доступ к базе данных только с localhost.
  • Регулярно обновляйте пакеты:
apt-get update && apt-get upgrade -y
  • Убедитесь, что директория upload и cache имеют правильные права и принадлежат www-data.
  • По возможности используйте резервные копии конфигурации и базы данных (пример резервного скрипта):
#!/bin/bash
TIMESTAMP=$(date +"%F-%H%M")
mysqldump -u root -p'your_root_password' suitecrm > /root/backups/suitecrm-db-$TIMESTAMP.sql
tar -czf /root/backups/suitecrm-www-$TIMESTAMP.tar.gz /var/www/html/suitecrm

Важно: храните резервные копии вне основного сервера и защищайте пароли.

Когда этот подход не подойдёт

  • Если вы предпочитаете контейнеризацию — лучше использовать Docker-образ SuiteCRM.
  • Для высоконагруженных инсталляций с несколькими веб-серверами и балансировщиком нагрузки потребуется отдельная архитектура (NFS/объектное хранилище для загрузок, кластер БД).
  • Если вы обязаны использовать Nginx, приведённые конфигурации Apache нужно адаптировать.

Альтернативные подходы

  • Docker: готовые образы с PHP-FPM, MariaDB и автоматическими миграциями.
  • Nginx + PHP-FPM: производительнее в ряде сценариев, требует настройки fastcgi и прав доступа.
  • Управляемые облачные сервисы: развертывание на PaaS с автоматическим бэкапом и масштабированием.

Роль-based чек-лист

Администратор системы:

  • Проверить, что сервер обновлён.
  • Настроить firewall и Certbot.
  • Настроить автоматическое продление сертификатов.

Администратор БД:

  • Создать отдельную базу и пользователя.
  • Настроить регулярное резервное копирование.

Администратор приложения:

  • Проверить права на файлы и папки SuiteCRM.
  • Пройти веб-мастер установки и проверить работу SMTP.

Критерии приёмки

  • Веб-интерфейс доступен по HTTPS и не генерирует предупреждений в браузере.
  • Вход в систему под учётной записью администратора возможен.
  • Все системные проверки мастера установки SuiteCRM возвращают OK.
  • Резервные копии базы и файлов создаются по расписанию и успешно восстанавливаются в тестовой среде.

Тесты и контрольные сценарии

  1. Проверить доступность главной страницы: curl -I https://suitecrm.example.com
  2. Проверить перенаправление: curl -I http://suitecrm.example.com (ожидается 301/302 на https)
  3. Проверить сертификат: openssl s_client -connect suitecrm.example.com:443 -servername suitecrm.example.com
  4. Войти в панель администратора и создать тестовую запись — проверить её отображение и поиск.

Советы по миграции из SugarCRM

  • Экспорт данных из SugarCRM и импорт в SuiteCRM обычно возможен через CSV-экспорт/импорт или модули миграции.
  • Проверьте совместимость пользовательских модулей и расширений — не все плагины SugarCRM будут работать без доработок.

Фактбокс

  • PHP: пример в инструкции использует 7.4 (путь php.ini: /etc/php/7.4/apache2/php.ini).
  • Порты: 80 (HTTP), 443 (HTTPS).
  • Пути сертификатов Let’s Encrypt: /etc/letsencrypt/live/your-domain/
  • Рекомендуемые PHP-параметры: memory_limit 256M, post_max_size и upload_max_filesize 64M.

Заключение

Поздравляем — вы установили SuiteCRM с Apache и настроили SSL через Let’s Encrypt на Debian 11. Основные шаги: установка зависимостей, создание базы, размещение файлов, настройка Apache, веб-мастер установки и защита сертификатом. Не забудьте настроить резервное копирование, автоматическое продление сертификатов и базовую защиту сервера.

Важно: если вы планируете промышленную эксплуатацию, рассмотрите контейнеризацию, горизонтальное масштабирование и отдельный кластер баз данных.

Краткая инструкция для быстрого запуска (копировать и адаптировать):

apt-get update && apt-get install -y apache2 mariadb-server php php-mbstring php-xml php-mysql libapache2-mod-php unzip certbot python3-certbot-apache
mysql_secure_installation
# Создать базу/пользователя, скачать и разархивировать SuiteCRM, настроить права
# Настроить виртуальный хост Apache, включить сайт, перезагрузить apache
certbot --apache -d suitecrm.example.com

Если у вас есть вопросы по адаптации под вашу инфраструктуру — опишите окружение (виртуальный/облачный сервер, Docker или bare metal), и я помогу скорректировать шаги.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство