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

Установка EPESI CRM на Ubuntu 18.04

5 min read DevOps Обновлено 01 Nov 2025
Установка EPESI CRM на Ubuntu 18.04
Установка EPESI CRM на Ubuntu 18.04

EPESI — открытая CRM на PHP/Ajax. В статье показаны шаги по подготовке сервера Ubuntu 18.04, установке стека LAMP, настройке MariaDB, загрузке EPESI из репозитория, установке зависимостей через Composer и конфигурации Apache. В конце — чек‑листы, план отката и рекомендации по безопасности.

Important: перед установкой сделайте резервные копии и выполните команды от учётной записи с sudo, а не от root для Composer.

Что такое EPESI

EPESI — это бесплатное и открытое веб‑приложение для управления бизнес‑данными, включая CRM. Подходит для хранения, организации, доступа и совместного использования записей. Основано на PHP/Ajax, что позволяет модифицировать код и добавлять функции.

Кратко о ключевых версиях

  • Операционная система: Ubuntu 18.04
  • PHP: 7.2
  • База данных: MariaDB

Обзор интерфейса EPESI CRM

Основные возможности

  • Простой и легковесный интерфейс.
  • Веб‑интерфейс с интуитивной навигацией.
  • Неограниченные заметки и вложения файлов.
  • Интеграция с почтовым клиентом Roundcube.
  • Трекер звонков и проектов.
  • Совместные контакты, календарь, задачи и регистрация звонков.

Требования

  • Сервер с Ubuntu 18.04.
  • Непользователь root, имеющий права sudo.

Подготовка системы

Обновите пакеты перед установкой:

sudo apt-get update -y
sudo apt-get upgrade -y

После обновления рекомендуется перезагрузить сервер, чтобы применить все изменения.

Установка стека LAMP

Установите Apache, MariaDB, PHP и необходимые модули:

sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-ldap php7.2-zip php7.2-curl php7.2-imap unzip -y

Отредактируйте php.ini для Apache. Задайте параметры памяти и загрузки файлов. Укажите свою временную зону, например Europe/Moscow:

sudo nano /etc/php/7.2/apache2/php.ini

Внесите или измените значения:

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 30
max_input_vars = 1500
date.timezone = Europe/Moscow

Сохраните файл и закройте редактор.

Запустите и включите службы Apache и MariaDB:

sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mariadb
sudo systemctl enable mariadb

Настройка MariaDB

Защитите установку MariaDB:

sudo mysql_secure_installation

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

Далее войдите в консоль MariaDB и создайте базу и пользователя для EPESI:

sudo mysql -u root

Внутри MariaDB выполните:

CREATE DATABASE epesidb;
CREATE USER 'epesi'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON epesidb.* TO 'epesi'@'localhost' IDENTIFIED BY 'mypassword';
FLUSH PRIVILEGES;
exit

Замените mypassword на надёжный пароль. Не храните пароль в скриптах в открытом виде.

Загрузка и установка EPESI

Скачайте репозиторий EPESI во временную папку и скопируйте в корневую папку Apache:

cd /tmp
git clone https://github.com/Telaxus/EPESI.git
sudo cp -r EPESI /var/www/html/epesi

Установите Composer и зависимости проекта. Выполняйте Composer от пользователя с ограниченными правами, а не от root:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
cd /var/www/html/epesi
sudo composer install

Если у вас появился предупреждающий текст о выполнении Composer от root, запустите Composer от обычного пользователя с правами на директорию проекта.

После установки зависимостей задайте права владельца и доступа:

sudo chown -R www-data:www-data /var/www/html/epesi
sudo chmod -R 775 /var/www/html/epesi

Конфигурация Apache для EPESI

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

sudo nano /etc/apache2/sites-available/epesi.conf

Вставьте содержимое:


     ServerAdmin [email protected]
     DocumentRoot /var/www/html/epesi
     ServerName example.com
     ServerAlias www.example.com

     
          Options +FollowSymlinks
          AllowOverride All
          Require all granted
     

     ErrorLog ${APACHE_LOG_DIR}/epesi_error.log
     CustomLog ${APACHE_LOG_DIR}/epesi_access.log combined

Сохраните, затем включите сайт и модуль rewrite:

sudo a2ensite epesi
sudo a2enmod rewrite
sudo systemctl restart apache2

Доступ к веб‑интерфейсу EPESI

Откройте в браузере URL вашего сервера, например http://example.com. Следуйте мастеру установки: выбор языка, принятие лицензии, ввод параметров базы, создание администратора и почтовых настроек.

Выбор языка установки EPESI

Принятие лицензионного соглашения EPESI

Если появится предупреждение на этапе проверки, проверьте лог Apache и права на файлы. Часто достаточен клик OK чтобы продолжить после исправления прав.

Игнорирование ошибки на этапе установки

Параметры подключения к базе данных EPESI

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

Создание учётной записи администратора EPESI

Настройки почты в EPESI

Нажатие кнопки Далее для продолжения установки

Настройки даты и времени EPESI

Информация о компании в EPESI

Панель управления EPESI после установки

Поздравляем — установка завершена. Проверьте функциональность: создание контакта, отправка письма, импорт/экспорт данных.

Типовые проблемы и как их решить

  • Проблема: белая страница или 500 ошибка

    • Проверьте логи Apache: /var/log/apache2/epesi_error.log
    • Проверьте права на файлы и владельца
    • Убедитесь, что PHP модули установлены
  • Проблема: ошибки Composer

    • Не запускайте Composer от root. Выполните composer install от пользователя с правами на директорию или используйте sudo -u www-data composer install
  • Проблема: подключение к базе данных не работает

    • Проверьте параметры в мастере установки
    • Убедитесь, что пользователь epesi существует и имеет права на базу

Безопасность и эксплуатация

Основные рекомендации по безопасности

  • Включите HTTPS с помощью Certbot и LetsEncrypt:

    • sudo apt install certbot python3-certbot-apache
    • sudo certbot –apache -d example.com
  • Настройте брандмауэр UFW и откройте только нужные порты:

    • sudo ufw allow OpenSSH
    • sudo ufw allow ‘Apache Full’
    • sudo ufw enable
  • Ограничьте доступ к административной панели по IP при возможности

  • Регулярно обновляйте систему и PHP пакеты

  • Храните резервные копии базы и файлов вне сервера

  • Не выполняйте Composer как root

План отката и аварийного восстановления

  1. Перед обновлением создайте резервные копии:
    • Экспорт базы: sudo mysqldump -u root -p epesidb > epesidb_backup.sql
    • Копирование файлов: sudo tar czf epesi_files_backup.tar.gz /var/www/html/epesi
  2. При проблеме верните файлы и базу:
    • sudo tar xzf epesi_files_backup.tar.gz -C /
    • mysql -u root -p epesidb < epesidb_backup.sql
  3. Если проблема после Composer, восстановите composer.lock и vendor из бэкапа

Чек‑лист по ролям

Системный администратор

  • Обновить ОС и пакеты
  • Настроить брандмауэр и HTTPS
  • Создать резервные копии
  • Настроить мониторинг и логи

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

  • Выполнить mysql_secure_installation
  • Создать базу и пользователя
  • Настроить регулярный экспорт резервных копий

Dev/Ops инженер

  • Загружает код из Git
  • Устанавливает Composer зависимости
  • Настраивает права доступа и автозапуск служб

Бизнес‑администратор

  • Настройка пользователей в EPESI
  • Импорт существующих контактов и данных
  • Валидация бизнес‑процессов

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

  • Веб‑мастер доступен по HTTPS и корректно отвечает
  • Пользователь‑администратор может войти и создать контакт
  • Отправка и приём писем через интегрированный почтовый клиент
  • Импорт/экспорт CSV работают корректно
  • Регулярные бэкапы выполняются и проверены

Тестовые сценарии

  • Создание контакта и проверка записи в базе
  • Экспорт списка контактов в CSV и импорт на тестовую инстанцию
  • Отправка тестового письма через настроенный SMTP
  • Проверка прав доступа: пользователь без прав не видит административных секций

Короткая методология развертывания

  1. Подготовить сервер и обновить пакеты
  2. Установить LAMP и PHP‑модули
  3. Защитить MariaDB и создать БД
  4. Скачать EPESI, установить зависимости
  5. Настроить виртуальный хост и HTTPS
  6. Пройти мастер установки и проверить функциональность

Mermaid: простой алгоритм выбора перед деплоем

flowchart TD
  A[Есть ли готовая инфраструктура?] -->|Да| B[Развернуть в существующей среде]
  A -->|Нет| C[Создать новый сервер Ubuntu 18.04]
  B --> D{Есть ли dev/test окружение?}
  C --> D
  D -->|Да| E[Развернуть сначала в тесте]
  D -->|Нет| F[Развернуть напрямую с бэкапами]
  E --> G[Тестирование и миграция в прод]
  F --> G

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

  • EPESI поддерживает PHP 7.2. При переносе на более новую версию PHP проверьте совместимость модулей.
  • При миграции с другой CRM экспортируйте контакты/компании в CSV и используйте встроенные инструменты импорта.
  • Если планируете масштабирование, разделите базу данных и файлы на отдельные тома и используйте резервное копирование вне узла.

Однострочный глоссарий

  • EPESI: модульная CRM на PHP/Ajax.
  • LAMP: Linux, Apache, MariaDB/MySQL, PHP.
  • Composer: менеджер зависимостей для PHP.
  • VirtualHost: конфигурация сайта в Apache.

Итог и рекомендации

Установка EPESI на Ubuntu 18.04 относительно прямолинейна: подготовьте сервер, настройте LAMP, создайте базу, установите зависимости и настройте виртуальный хост. Обязательно включите HTTPS, настройте бэкапы и выполняйте Composer не от root.

Summary

  • EPESI можно быстро развернуть на привычном LAMP‑стеке.
  • Безопасность и бэкапы критичны перед запуском в проде.
  • Тестируйте установку в тестовой среде до переноса в прод.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Herodotus: механизм и защита Android‑трояна
Кибербезопасность

Herodotus: механизм и защита Android‑трояна

Включить новое меню «Пуск» в Windows 11
Windows руководство

Включить новое меню «Пуск» в Windows 11

Панель полей сводной таблицы в Excel — руководство
Excel

Панель полей сводной таблицы в Excel — руководство

Включить новое меню «Пуск» в Windows 11
Windows 11

Включить новое меню «Пуск» в Windows 11

Дубликаты Диспетчера задач в Windows 11 — как исправить
Windows

Дубликаты Диспетчера задач в Windows 11 — как исправить

История просмотров Reels в Instagram — как найти
Instagram

История просмотров Reels в Instagram — как найти