Установка 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

Основные возможности
- Простой и легковесный интерфейс.
- Веб‑интерфейс с интуитивной навигацией.
- Неограниченные заметки и вложения файлов.
- Интеграция с почтовым клиентом 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. Следуйте мастеру установки: выбор языка, принятие лицензии, ввод параметров базы, создание администратора и почтовых настроек.


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









Поздравляем — установка завершена. Проверьте функциональность: создание контакта, отправка письма, импорт/экспорт данных.
Типовые проблемы и как их решить
Проблема: белая страница или 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
План отката и аварийного восстановления
- Перед обновлением создайте резервные копии:
- Экспорт базы: sudo mysqldump -u root -p epesidb > epesidb_backup.sql
- Копирование файлов: sudo tar czf epesi_files_backup.tar.gz /var/www/html/epesi
- При проблеме верните файлы и базу:
- sudo tar xzf epesi_files_backup.tar.gz -C /
- mysql -u root -p epesidb < epesidb_backup.sql
- Если проблема после Composer, восстановите composer.lock и vendor из бэкапа
Чек‑лист по ролям
Системный администратор
- Обновить ОС и пакеты
- Настроить брандмауэр и HTTPS
- Создать резервные копии
- Настроить мониторинг и логи
Администратор БД
- Выполнить mysql_secure_installation
- Создать базу и пользователя
- Настроить регулярный экспорт резервных копий
Dev/Ops инженер
- Загружает код из Git
- Устанавливает Composer зависимости
- Настраивает права доступа и автозапуск служб
Бизнес‑администратор
- Настройка пользователей в EPESI
- Импорт существующих контактов и данных
- Валидация бизнес‑процессов
Критерии приёмки
- Веб‑мастер доступен по HTTPS и корректно отвечает
- Пользователь‑администратор может войти и создать контакт
- Отправка и приём писем через интегрированный почтовый клиент
- Импорт/экспорт CSV работают корректно
- Регулярные бэкапы выполняются и проверены
Тестовые сценарии
- Создание контакта и проверка записи в базе
- Экспорт списка контактов в CSV и импорт на тестовую инстанцию
- Отправка тестового письма через настроенный SMTP
- Проверка прав доступа: пользователь без прав не видит административных секций
Короткая методология развертывания
- Подготовить сервер и обновить пакеты
- Установить LAMP и PHP‑модули
- Защитить MariaDB и создать БД
- Скачать EPESI, установить зависимости
- Настроить виртуальный хост и HTTPS
- Пройти мастер установки и проверить функциональность
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‑стеке.
- Безопасность и бэкапы критичны перед запуском в проде.
- Тестируйте установку в тестовой среде до переноса в прод.
Похожие материалы
Herodotus: механизм и защита Android‑трояна
Включить новое меню «Пуск» в Windows 11
Панель полей сводной таблицы в Excel — руководство
Включить новое меню «Пуск» в Windows 11
Дубликаты Диспетчера задач в Windows 11 — как исправить