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

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-аккаунт с правами администратора).
Краткая методология установки
- Установить Apache, MariaDB, PHP и нужные PHP-расширения.
- Настроить PHP под требования SuiteCRM.
- Создать базу данных и пользователя MariaDB.
- Скачать и распаковать SuiteCRM в корневую папку Apache.
- Настроить виртуальный хост Apache.
- Завершить установку через веб-интерфейс.
- Установить и настроить сертификат 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 и локали.

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








Защита 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.
- Резервные копии базы и файлов создаются по расписанию и успешно восстанавливаются в тестовой среде.
Тесты и контрольные сценарии
- Проверить доступность главной страницы: curl -I https://suitecrm.example.com
- Проверить перенаправление: curl -I http://suitecrm.example.com (ожидается 301/302 на https)
- Проверить сертификат: openssl s_client -connect suitecrm.example.com:443 -servername suitecrm.example.com
- Войти в панель администратора и создать тестовую запись — проверить её отображение и поиск.
Советы по миграции из 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), и я помогу скорректировать шаги.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone