RE:NODE

Веб-хостинг11 мин чтения

Хостинг DataLife Engine (DLE): требования и настройка

Правильный хостинг DataLife Engine: требования к PHP и MySQL, лицензия и демоверсия, установка, dbconfig.php, ЧПУ на nginx, кэширование и обновления.

0 прочтений

DataLife Engine - коммерческая система управления контентом на PHP для новостных сайтов, медиапорталов и блогов, популярная в основном в русскоязычных странах. Её хостинг - привычная для PHP процедура: файлы в корне сайта, база данных семейства MySQL, установщик в браузере, - но с тремя особенностями DLE: на каждый домен нужна лицензия (или ограниченная бесплатная демоверсия), ЧПУ зависят от правил rewrite, написанных для Apache, а сообщество поддержки и большая часть документации - на русском языке.

Согласно официальной странице требований, актуальным версиям нужны PHP 8.0 или новее, MySQL 5.6+ или MariaDB 10.0+, nginx или Apache и расширения PHP zlib, xml, gd, curl, mbstring, fileinfo, exif и intl. Это минимальные значения; настоящие сайты стоит запускать на актуальном выпуске PHP 8 и актуальной базе данных. Это руководство разбирает лицензию, установку, файлы конфигурации, nginx, кэширование (включая кэш на протоколе Redis в Valkey), обновления и проблемы, о которых люди сообщают на самом деле.

Что такое DLE и как устроена лицензия#

DLE разрабатывает SoftNews Media Group и продаёт на своём официальном сайте dle-news.ru. Это закрытое коммерческое ПО в том смысле, который важен для хостинга: полную версию нельзя свободно скачать, а лицензия привязана к домену.

Как описывает официальный сайт на момент написания статьи, запустить DLE можно тремя способами:

ВариантЧто вы получаетеОграничения
ДемоверсияБесплатно, для ознакомленияЗакодированный исходный код, 100 новостей, 200 комментариев, без обновлений и поддержки
Базовая лицензияПолный исходный код, обновления в течение годаБез технической поддержки; удалять копирайт нельзя
Расширенная лицензияКак базовая, плюс поддержка-

Каждая лицензия покрывает один домен; второму сайту нужна вторая лицензия. Цены и условия меняются, поэтому перед покупкой прочитайте актуальную страницу покупки, а не доверяйте цифрам из какой-либо статьи в блоге, включая эту. У демоверсии нет ограничения по времени, так что это разумный способ проверить, работает ли DLE на конкретном тарифе хостинга, прежде чем платить.

Одно предупреждение заслуживает отдельного абзаца. Поскольку DLE коммерческая и популярная, «nulled»-копии - пиратские версии с вырезанной проверкой лицензии - встречаются повсюду, часто в комплекте с шаблонами и модулями на сайтах загрузок. Это самый частый путь, которым сайты на DLE оказываются взломанными: люди, вырезающие проверку лицензии, редко стесняются добавить бэкдор. Устанавливайте только версию, скачанную из вашего личного кабинета на официальном сайте, а сторонние модули и шаблоны покупайте у их разработчиков.

Требования и расчёт ресурсов#

Официальная страница требований - главный источник, и она обновляется с выпусками; сверяйтесь с ней для устанавливаемой версии. Вкратце:

ТребованиеОфициальный минимумРазумный выбор в 2026 году
PHP8.0Поддерживаемый сейчас выпуск PHP 8, на котором протестированы ваша версия DLE и модули
База данныхMySQL 5.6+ или MariaDB 10.0+MySQL 8.x или актуальная MariaDB
Веб-серверnginx или ApacheЛюбой; для nginx правила rewrite нужно перевести
Расширения PHPzlib, xml, gd, curl, mbstring, fileinfo, exif, intlПлюс включённый OPcache
ПамятьСтраница указывает очень низкий минимумОт 512 МБ до 1 ГБ для настоящего сайта

Низкая официальная цифра по памяти описывает, что нужно самому движку на один запрос, а не сайту. Новостной портал с тысячами статей, комментариями, загруженной главной страницей и несколькими модулями - другое дело: PHP workers, собственная память базы данных и кэш делят один тариф. Ориентировочно:

СайтПамятьCPUПримечания
Новый сайт, несколько сотен статей1 ГБ0,5-1 ядроКомфортно с файловым кэшем
Устоявшийся новостной сайт, десятки тысяч статей2-4 ГБ1-2 ядраВключите кэширование; следите за медленными запросами
Посещаемый портал с большим числом комментариев4 ГБ+2+ ядраОтдельный сервер кэша, настроенная база данных

Место на диске в основном занимают uploads/ - изображения, прикреплённые к новостям, - и backup, хранящиеся на сервере. Следите за обоими. Та же арифметика для другой CMS на PHP разобрана в статье сколько RAM нужно WordPress, и здесь она применима почти без изменений.

Прежде чем что-то загружать, убедитесь, какие версию PHP и расширения ваш хостинг предоставляет на самом деле. Файл с содержимым <?php phpinfo(); в корне сайта, открытый один раз и затем удалённый, покажет и то, и другое. Официальный FAQ отмечает, что если install.php показывает только «Internal Server Error», обычно это значит, что не хватает нужного модуля PHP.

Установка DLE#

  1. Создайте базу данных и пользователя с полными правами на неё. Запишите хост, порт, имя базы, пользователя и пароль.
  2. Загрузите файлы сайта. Дистрибутив отделяет файлы, которые должны лежать на сервере, от документации; загрузите в корень сайта содержимое папки с сайтом, а не саму папку, иначе сайт будет отвечать только в подкаталоге. Загрузите архив и распакуйте его в файловом менеджере, а не отправляйте тысячи файлов по SFTP по одному - оба пути описаны в статье SFTP и файловый менеджер.
  3. Проверьте права доступа. Установщик проверяет, может ли DLE писать в нужные ему каталоги - среди них backup/, uploads/ и его подпапки, templates/, engine/data/ и engine/cache/. Исправьте всё, на что он укажет. На хостинге на основе контейнеров, где PHP и файловый менеджер работают от одного пользователя, проверка обычно проходит без изменений.
  4. Запустите установщик по адресу https://example.com/install.php. Примите лицензию, дайте ему проверить окружение, введите данные базы и создайте учётную запись администратора. Используйте неочевидное имя пользователя и сгенерированный пароль.
  5. Удалите `install.php`, когда установщик об этом попросит. Оставленный установщик - это приглашение переустановить что-нибудь поверх вашего сайта.
  6. Активируйте лицензию по инструкции в личном кабинете на официальном сайте, если вы её купили.

Панель администратора находится по адресу /admin.php. DLE поддерживает переименование этого файла во что-то менее очевидное, что отсекает множество автоматических попыток входа; следуйте инструкции для своей версии, потому что ссылки самой панели нужно обновить соответственно.

В RE:NODE DLE - одна из систем, под которые рассчитаны тарифы Engines. Вы устанавливаете её сами через SFTP или файловый менеджер - установщика в один клик нет, - а на каждом тарифе есть два слота баз данных, которые создаются из панели со сгенерированными хостом, пользователем и паролем, так что база существует ещё до шага 1.

Файлы конфигурации#

DLE хранит настройки в PHP-файлах в engine/data/. Важнее всего два из них.

`engine/data/dbconfig.php` содержит подключение к базе данных и записывается установщиком:

engine/data/dbconfig.php
define ("DBHOST", "db.example.internal:3306");define ("DBNAME", "dle");define ("DBUSER", "dle_site");define ("DBPASS", "from-the-panel");define ("PREFIX", "dle");define ("USERPREFIX", "dle");define ("COLLATE", "utf8mb4");

Когда вы переносите сайт на новый сервер, править нужно именно этот файл. Как и в любом PHP-приложении, localhost верен, только если база запущена на той же машине; в остальных случаях используйте выданное вам имя хоста с портом, если он не стандартный. Прежде чем править файл вручную, проверьте точный формат, который пишет ваша версия, - образцом служит то, что записал сам установщик.

`engine/data/config.php` содержит настройки, которые вы меняете в панели администратора в разделе System Settings: адрес сайта, язык, часовой пояс, ЧПУ, кэширование и многое другое. По возможности меняйте их через панель - она сама пишет файл. Если неудачная настройка - чаще всего неверный адрес сайта - заблокировала вам вход, исправлять её вручную нужно здесь.

Оба файла содержат секреты или настройки, раскрывающие устройство сайта. Это PHP, поэтому правильно настроенный сервер выполняет их, а не показывает; никогда не оставляйте их копии с другими расширениями, например dbconfig.php.bak, которые будут отдаваться как обычный текст.

Для сайтов на DLE с историей важна кодировка. Старые сайты часто делались в windows-1251; актуальные версии используют UTF-8. Перенос старого сайта означает конвертацию и базы данных, и шаблонов, а ошибка в этом даёт знакомые «кракозябры» вместо кириллицы. Выполняйте конвертацию отдельным проверенным шагом - никогда не как побочный эффект переезда на другой сервер.

ЧПУ на nginx#

Дружественные к поисковикам URL в DLE - /news/12-site-launch.html вместо index.php?newsid=12 - создаются правилами rewrite в файле .htaccess, который поставляется с движком. На Apache с mod_rewrite они просто работают.

nginx игнорирует .htaccess. Для ЧПУ на nginx эти правила нужно перевести в директивы nginx location и rewrite, а набор правил DLE длинный, потому что у каждого типа URL (новости, категории, статические страницы, теги, профили пользователей, RSS) свой шаблон. Здесь есть две оговорки:

  • Переводите правила из `.htaccess` вашей собственной версии, а не из фрагмента, скопированного из сообщения на форуме о другом выпуске. Шаблоны меняются от версии к версии.
  • Убедитесь, что переписанные запросы всё ещё доходят до PHP. Частая ошибка, о которой много пишут на форумах про DLE и nginx, - переведённое правило, которое в итоге отдаёт index.php на скачивание вместо выполнения. Rewrite должен вести в тот location, который передаёт запросы .php в PHP-FPM.

Как минимум должен присутствовать запасной переход на фронт-контроллер, который используют все CMS на PHP:

nginx
location / {    try_files $uri $uri/ /index.php?$args;}

Одного этого недостаточно, чтобы заработали ЧПУ в DLE, потому что DLE сопоставляет пути с конкретными параметрами запроса. Если вы не можете править конфигурацию nginx на своём хостинге, выключите ЧПУ в System Settings - тогда сайт использует адреса вида index.php?..., которые работают везде, - и спросите хостинг, можно ли добавить правила DLE. Включение или выключение ЧПУ после индексации сайта меняет все адреса, так что решите это до запуска.

Сертификат и домен идут первыми, до того как вы зададите адрес сайта в панели: в RE:NODE слот прокси выпускает и продлевает сертификат, как только ваша A-запись указывает на него. Сторона DNS описана в статье ваш домен и его сертификат.

Кэширование, включая Redis на Valkey#

DLE кэширует сгенерированные блоки и страницы, и на загруженном новостном сайте кэширование - это разница между базой данных, которая справляется, и той, что не справляется. Настройки находятся в панели администратора в System Settings на вкладке Optimisation: включите кэширование, затем выберите тип кэша.

Тип кэшаЧто нужноПодходит для
ФайлыНичего - работает на любом хостингеМалые и средние сайты
MemcacheСервер Memcached и расширение PHPКрупные сайты, если доступно
RedisСервер с протоколом Redis и расширение php-redisКрупные сайты; поддерживает пароль

Кэширование в Redis появилось в DLE 14.2 и позволяет указать адрес сервера, порт и данные аутентификации в той же панели. Valkey говорит на том же протоколе, что и Redis, поэтому сервер Valkey работает как бэкенд кэша Redis. Предварительное условие - расширение PHP: если phpinfo() не показывает раздела redis, вариант Redis на этом хостинге работать не может, что бы вы ни настроили в панели. В таком случае правильный выбор - файловый кэш, и для большинства сайтов его вполне достаточно.

Две привычки не дают кэшированию сбивать с толку. После изменения шаблонов очищайте кэш из панели администратора, чтобы посетители не видели старый вывод. И честно рассчитывайте размер кэша: с внешним кэшем DLE хранит блоки, которые при промахе собираются заново, поэтому на стороне Valkey уместна политика с вытеснением - варианты объясняет статья память и политики вытеснения Valkey.

Backup и обновления#

В панель администратора DLE встроен инструмент backup базы данных, который пишет дампы в каталог backup/. Он полезен, но сам по себе недостаточен: дампы лежат на том же диске, что и сайт, и не включают uploads/, шаблоны и конфигурацию. Настоящий backup - это база данных плюс всё дерево файлов, хранящиеся где-то в другом месте и время от времени восстанавливаемые, чтобы доказать, что это работает. Почему важен последний шаг, объясняет статья backup, из которого действительно можно восстановиться.

Обновления выходят как новые выпуски на официальном сайте, с процедурой обновления, которая заменяет файлы движка и запускает скрипт, обновляющий структуру базы данных. Точно следуйте инструкциям, приложенным к каждому выпуску, и перед каждым обновлением:

  1. Сделайте полный backup файлов и базы данных и убедитесь, что он завершился.
  2. Запишите все файлы, которые вы меняли вручную, - шаблоны, файлы ядра, отредактированные ради модуля. Обновление перезаписывает файлы ядра, и ваши правки уходят вместе с ними.
  3. Проверьте, что каждый сторонний модуль поддерживает новую версию. Модули, которые патчат файлы ядра, - обычная причина того, что обновление ломает сайт.
  4. По возможности сначала обновите копию сайта; на хостинге с двумя слотами баз данных тестовая копия с собственной базой ничего дополнительно не стоит.
  5. Примените обновление, очистите кэш и проверьте публикацию, комментарии и вход.

Базовая лицензия включает обновления в течение года. После этого имеющаяся версия продолжает работать, но новые выпуски - включая исправления безопасности - вы перестаёте получать, пока не продлите лицензию. Учитывайте это в стоимости эксплуатации DLE.

Устранение неполадок#

`install.php` показывает «Internal Server Error». Не хватает расширения PHP, как сказано в официальном FAQ. Сравните phpinfo() со списком требований.

Ошибка подключения к базе после переезда. В engine/data/dbconfig.php остались старый хост или пароль.

Все страницы, кроме главной, возвращают 404. ЧПУ включены, а правил rewrite нет - типично для nginx. Переведите правила или выключите ЧПУ.

Кириллица превратилась в «кракозябры». Несовпадение кодировок между базой данных, подключением и шаблонами, обычно после переноса старого сайта в windows-1251.

Панель администратора перенаправляет на старый домен. Адрес сайта в engine/data/config.php не обновили после смены домена.

Вариант кэша Redis ничего не делает. Расширение php-redis не загружено, либо адрес, порт или пароль указаны неверно.

FAQ#

Можно ли пользоваться DLE бесплатно?

Только демоверсией, которая ограничена 100 новостями и 200 комментариями, имеет закодированный исходный код и не получает обновлений и поддержки. Настоящему сайту нужна платная лицензия на его домен. Избегайте «бесплатных полных версий» с сайтов загрузок: они пиратские и часто с бэкдорами.

Работает ли DLE на nginx?

Да - официальные требования указывают nginx наравне с Apache. Единственное отличие - ЧПУ, правила для которых поставляются в формате .htaccess для Apache и должны быть переведены для nginx, либо ЧПУ нужно выключить.

Можно ли перенести сайт на DLE на другой домен?

Лицензия выдаётся на домен, поэтому прежде чем переключаться, свяжитесь с разработчиком насчёт её переноса. Технически переезд означает обновление адреса сайта в конфигурации и замену ссылок на старый домен в базе данных, после полного backup.

Какую версию PHP использовать для DLE?

Самый новый выпуск PHP 8, который поддерживают ваша версия DLE и каждый установленный модуль. Официальный минимум - 8.0, который больше не поддерживается разработчиками PHP; старые модули - обычная причина, по которой сайт застревает на устаревшей версии.

Нужен ли отдельный сервер кэша?

Большинству сайтов - нет; файловый кэш встроен и работает где угодно. Кэш на протоколе Redis, такой как Valkey, помогает загруженным сайтам, снимая нагрузку с диска и базы данных, при условии, что на хостинге есть расширение php-redis.


Комментарии

Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.

0/2000