DataLife Engine (DLE) — популярная российская система управления контентом для создания новостных порталов, блогов и информационных сайтов. Традиционно DLE устанавливают через FTP-клиенты, загружая файлы по одному, что занимает много времени и подвержено ошибкам.
Профессиональный подход — установка полностью через SSH командную строку. Это быстрее, надёжнее и даёт полный контроль над процессом. В этом руководстве мы установим DLE на чистый сервер используя только терминал: скачаем дистрибутив, настроим базу данных, установим права доступа и запустим установочный скрипт.
Предварительные требования
Для установки DLE через SSH вам понадобится:
Сервер с установленным ПО:
- Ubuntu 20.04+ / Debian 10+ (команды в статье для Debian/Ubuntu)
- Apache 2.4+ или Nginx 1.18+
- PHP 7.0+ (минимум), PHP 8.0+ (рекомендуется)
- MySQL 5.5.3+ или MariaDB 10.0+ (минимум)
- MySQL 5.7+ или MariaDB 10.3+ (рекомендуется)
- SSH доступ с правами sudo
Необходимые PHP расширения:
- mysqli
- mbstring
- gd
- curl
- zip
- xml
Инструменты:
- wget или curl для скачивания
- unzip для распаковки архивов
- nano или vim для редактирования файлов
Проверка установленного ПО:
Проверьте версию PHP:
php -v
Проверьте версию MySQL:
mysql --version
Проверьте установленные PHP расширения:
php -m | grep -E 'mysqli|mbstring|gd|curl|zip|xml'
Если какие-то расширения отсутствуют, установите их:
sudo apt update
sudo apt install php-mysql php-mbstring php-gd php-curl php-zip php-xml
Подготовка: создание директории и настройка окружения
Перейдите в директорию веб-сервера:
cd /var/www
Создайте директорию для сайта:
sudo mkdir -p dle-site
Перейдите в созданную директорию:
cd dle-site
Назначьте права на директорию:
sudo chown -R $USER:$USER /var/www/dle-site
Скачивание DataLife Engine
DLE — коммерческий продукт, поэтому у вас должна быть лицензия. После покупки вы получите ссылку на скачивание архива.
Вариант 1: Скачивание через wget
Используйте wget для скачивания архива (замените URL на свою ссылку):
wget -O dle.zip "https://example.com/downloads/dle-xxxxx.zip"
Вариант 2: Скачивание через curl
Альтернативно используйте curl:
curl -L -o dle.zip "https://example.com/downloads/dle-xxxxx.zip"
Вариант 3: Загрузка с локального компьютера
Если архив уже на вашем компьютере, загрузите его через scp:
scp /path/to/dle.zip user@your-server.com:/var/www/dle-site/
Проверьте, что файл загружен:
ls -lh dle.zip
Ожидаемый вывод:
-rw-r--r-- 1 user user 15M Dec 13 10:00 dle.zip
Распаковка архива DLE
Установите unzip, если он не установлен:
sudo apt install unzip
Распакуйте архив DLE:
unzip dle.zip
Проверьте содержимое:
ls -la
Типичная структура DLE после распаковки:
Upload/
Templates/
README.txt
Переместите содержимое директории Upload в корень:
mv Upload/* ./
mv Upload/.htaccess ./
Удалите теперь пустую директорию Upload:
rmdir Upload
Проверьте структуру файлов:
ls -la
Вы должны увидеть:
engine/
templates/
uploads/
index.php
.htaccess
...
Создание базы данных MySQL
Войдите в MySQL от имени root:
sudo mysql -u root -p
Создайте базу данных для DLE:
CREATE DATABASE dle_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Создайте пользователя базы данных:
CREATE USER 'dle_user'@'localhost' IDENTIFIED BY 'strong_password_here';
Предоставьте права пользователю:
GRANT ALL PRIVILEGES ON dle_db.* TO 'dle_user'@'localhost';
Примените изменения:
FLUSH PRIVILEGES;
Проверьте созданную базу:
SHOW DATABASES;
Выйдите из MySQL:
EXIT;
Генерация безопасного пароля:
Используйте openssl для генерации надёжного пароля:
openssl rand -base64 20
Сохраните сгенерированный пароль — он понадобится при установке.
Настройка прав доступа к файлам
DLE требует определённые права на файлы и директории для корректной работы.
Установите права на директории:
find /var/www/dle-site -type d -exec chmod 755 {} \;
Установите права на файлы:
find /var/www/dle-site -type f -exec chmod 644 {} \;
Установите специальные права для директорий, в которые DLE записывает данные:
chmod -R 777 /var/www/dle-site/templates
chmod -R 777 /var/www/dle-site/uploads
chmod 777 /var/www/dle-site/backup
chmod 777 /var/www/dle-site/engine/data
chmod 777 /var/www/dle-site/engine/cache
chmod 777 /var/www/dle-site/engine/cache/system
Важно: права 777 устанавливаются временно для установки. После завершения установки права будут ужесточены (см. раздел "Финальная настройка прав").
Сделайте файл конфигурации доступным для записи на время установки:
chmod 666 /var/www/dle-site/engine/data/dbconfig.php
Назначьте владельца файлов (замените www-data на вашего пользователя веб-сервера):
sudo chown -R www-dаta:www-data /var/www/dle-site
Проверьте права:
ls -la /var/www/dle-site/uploads
Настройка виртуального хоста Apache
Создайте конфигурационный файл для виртуального хоста:
sudo nano /etc/apache2/sites-available/dle-site.conf
Добавьте следующую конфигурацию:
<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
ServerAdmin admin@yourdomain.com
DocumentRoot /var/www/dle-site
<Directory /var/www/dle-site>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/dle-error.log
CustomLog ${APACHE_LOG_DIR}/dle-access.log combined
# Опционально: включить сжатие
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/jаvascript application/jаvascript
</IfModule>
</VirtualHost>
Сохраните файл (Ctrl+O, Enter, Ctrl+X).
Включите модуль rewrite для работы ЧПУ:
sudo a2enmod rewrite
Активируйте виртуальный хост:
sudo a2ensite dle-site.conf
Отключите стандартный хост (опционально):
sudo a2dissite 000-default.conf
Проверьте конфигурацию Apache:
sudo apache2ctl configtest
Ожидаемый вывод:
Syntax OK
Перезапустите Apache:
sudo systemctl restart apache2
Проверьте статус Apache:
sudo systemctl status apache2
Настройка виртуального хоста Nginx (альтернатива Apache)
Если вы используете Nginx вместо Apache, создайте конфигурацию:
sudo nano /etc/nginx/sites-available/dle-site
Добавьте конфигурацию:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/dle-site;
index index.php index.html;
access_log /var/log/nginx/dle-access.log;
error_log /var/log/nginx/dle-error.log;
client_max_body_size 100M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock; # замените на вашу версию PHP (php8.1, php8.2 и т.д.)
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml|svg)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
location ~ /\.ht {
deny all;
}
location ^~ /engine/data/ {
deny all;
}
location ^~ /backup/ {
deny all;
}
}
Создайте символическую ссылку для активации:
sudo ln -s /etc/nginx/sites-available/dle-site /etc/nginx/sites-enabled/
Удалите дефолтную конфигурацию (опционально):
sudo rm /etc/nginx/sites-enabled/default
Проверьте конфигурацию Nginx:
sudo nginx -t
Перезапустите Nginx:
sudo systemctl restart nginx
Запуск установки DLE через браузер
Теперь DLE готов к установке через веб-интерфейс.
Откройте в браузере:
http://yourdomain.com/install.php
Или по IP-адресу:
http://your-server-ip/install.php
Проверка доступности установщика через curl:
Проверьте, что установщик доступен:
curl -I http://yourdomain.com/install.php
Ожидаемый ответ:
HTTP/1.1 200 OK
Автоматизация через конфигурационные файлы
Важно: DLE не предназначен для полной автоматизации установки через CLI. Установщик install.php генерирует конфигурационные файлы автоматически и может перезаписать ручные изменения.
Для автоматизации развёртывания рекомендуется:
Подготовьте окружение через CLI (скачивание, распаковка, права, база данных):
cd /var/www/dle-site
wget -O dle.zip "https://your-download-link.com/dle.zip"
unzip dle.zip
mv Upload/* ./
Создайте базу данных:
sudo mysql -e "CREATE DATABASE dle_db CHARACTER SET utf8mb4;"
sudo mysql -e "CREATE USER 'dle_user'@'localhost' IDENTIFIED BY 'password';"
sudo mysql -e "GRANT ALL ON dle_db.* TO 'dle_user'@'localhost';"
Установите права:
chmod -R 777 templates uploads backup engine/data engine/cache
Откройте браузер и завершите установку через install.php.
После установки вы можете редактировать engine/data/dbconfig.php для тонкой настройки:
nano /var/www/dle-site/engine/data/dbconfig.php
Основные константы в dbconfig.php:
<?php
define('DBHOST', 'localhost');
define('DBNAME', 'dle_db');
define('DBUSER', 'dle_user');
define('DBPASS', 'your_password');
define('PREFIX', 'dle');
define('COLLATE', 'utf8mb4_general_ci');
Эти параметры создаются установщиком автоматически.
Настройка .htaccess для ЧПУ
DLE поставляется с готовым файлом .htaccess, но можно его оптимизировать.
Откройте файл .htaccess:
nano /var/www/dle-site/.htaccess
Базовая конфигурация для ЧПУ уже должна быть в файле. Проверьте наличие:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
Добавьте защиту от прямого доступа к важным директориям (Apache 2.4):
# Запретить доступ к engine/data (Apache 2.4)
<FilesMatch "\.dat$">
Require all denied
</FilesMatch>
# Запретить доступ к backup
<LocationMatch "^/backup/">
Require all denied
</LocationMatch>
# Отключить просмотр директорий
Options -Indexes
# Запретить доступ к engine/data (Apache 2.4)
<FilesMatch "\.dat$">
Require all denied
</FilesMatch>
# Запретить доступ к backup
<LocationMatch "^/backup/">
Require all denied
</LocationMatch>
# Отключить просмотр директорий
Options -Indexes
Для Apache 2.2 используйте старый синтаксис:
<Files ~ "\.dat$">
Order allow,deny
Deny from all
</Files>
RedirectMatch 403 ^/backup/
Options -Indexes
Сохраните файл.
Финальная настройка прав после установки
После завершения установки установите безопасные права на конфигурационный файл:
chmod 600 /var/www/dle-site/engine/data/dbconfig.php
Удалите файлы установщика для безопасности:
rm -f /var/www/dle-site/install.php
rm -f /var/www/dle-site/upgrade.php
rm -f /var/www/dle-site/update.php
Установите права на критичные директории:
chmod 755 /var/www/dle-site/engine/data
chmod 600 /var/www/dle-site/engine/data/*.php
Ужесточите права на uploads и другие директории (если не требуется загрузка/редактирование через веб):
chmod -R 755 /var/www/dle-site/templates
chmod -R 755 /var/www/dle-site/backup
chmod -R 775 /var/www/dle-site/engine/cache
chmod -R 775 /var/www/dle-site/uploads
Важно: если вы редактируете шаблоны через админку DLE, оставьте права 777 на templates. Для корректной работы сайта обычно достаточно, чтобы uploads и engine/cache были доступны на запись пользователю веб-сервера (775).
Проверка работоспособности
Проверьте главную страницу сайта:
curl -I http://yourdomain.com/
Ожидаемый ответ:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Проверьте административную панель:
curl -I http://yourdomain.com/admin.php
Проверьте логи ошибок Apache:
sudo tail -f /var/log/apache2/dle-error.log
Для Nginx:
sudo tail -f /var/log/nginx/dle-error.log
Настройка SSL-сертификата (опционально)
Установите Certbot:
sudo apt install certbot python3-certbot-apache
Для Nginx:
sudo apt install certbot python3-certbot-nginx
Получите SSL-сертификат для Apache:
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
Для Nginx:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Проверьте автообновление сертификата:
sudo systemctl status certbot.timer
Устранение типичных проблем
Проблема: "Internal Server Error" при открытии сайта
Решение:
Проверьте логи ошибок:
sudo tail -50 /var/log/apache2/dle-error.log
Проверьте права на .htaccess:
ls -la /var/www/dle-site/.htaccess
Убедитесь, что модуль rewrite включён:
apache2ctl -M | grep rewrite
Проблема: Ошибка подключения к базе данных
Решение:
Проверьте, что MySQL запущен (на некоторых системах сервис называется mariadb):
sudo systemctl status mysql
Или для MariaDB:
sudo systemctl status mariadb
Проверьте подключение к БД:
mysql -u dle_user -p dle_db -e "SELECT 1;"
Проверьте данные в dbconfig.php:
grep -E "DBHOST|DBNAME|DBUSER|DBPASS" /var/www/dle-site/engine/data/dbconfig.php
Проблема: "Permission denied" при загрузке файлов
Решение:
Проверьте права на uploads:
ls -la /var/www/dle-site/uploads
Установите правильные права:
sudo chown -R www-dаta:www-data /var/www/dle-site/uploads
chmod -R 775 /var/www/dle-site/uploads
sudo chown -R www-dаta:www-data /var/www/dle-site/uploads
Важно: если проблема не решается, можно временно установить chmod -R 777, но обязательно верните безопасные права (775 или 755) после диагностики.
Проблема: ЧПУ не работает (404 ошибки)
Решение для Apache:
Проверьте, что AllowOverride установлен в All:
grep -r "AllowOverride" /etc/apache2/sites-available/dle-site.conf
Должно быть:
AllowOverride All
Проверьте, что mod_rewrite включён:
apache2ctl -M | grep rewrite
Решение для Nginx:
Проверьте блок try_files в конфигурации:
grep "try_files" /etc/nginx/sites-available/dle-site
Должно быть:
try_files $uri $uri/ /index.php?$args;
Проблема: Белый экран (White Screen of Death)
Решение:
Включите отображение ошибок временно:
nano /var/www/dle-site/index.php
Добавьте в начало файла:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
Проверьте логи PHP:
sudo tail -f /var/log/php8.0-fpm.log
Проверьте лимиты PHP:
php -i | grep -E "memory_limit|max_execution_time|upload_max_filesize"
Оптимизация PHP для DLE
Отредактируйте php.ini:
sudo nano /etc/php/8.0/apache2/php.ini
Рекомендуемые настройки:
memory_limit = 256M
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 300
max_input_time = 300
Для Nginx (PHP-FPM):
sudo nano /etc/php/8.0/fpm/php.ini
Перезапустите веб-сервер после изменений:
sudo systemctl restart apache2
Или для Nginx:
sudo systemctl restart php8.0-fpm
sudo systemctl restart nginx
Базовая настройка безопасности
Запретите выполнение PHP в uploads:
nano /var/www/dle-site/uploads/.htaccess
Добавьте (синтаксис для Apache 2.4):
<FilesMatch "\.php$">
Require all denied
</FilesMatch>
Для Apache 2.2 с mod_access_compat используйте:
<FilesMatch "\.php$">
Order Deny,Allow
Deny from all
</FilesMatch>
Убедитесь, что права на конфигурационный файл не шире 600:
ls -l /var/www/dle-site/engine/data/dbconfig.php
Отключите отображение версии PHP в заголовках:
sudo nano /etc/php/8.0/apache2/php.ini
Найдите и измените:
expose_php = Off
Чек-лист: быстрая установка DLE
Шаг 1. Подготовка:
cd /var/www
sudo mkdir dle-site && cd dle-site
Шаг 2. Скачивание и распаковка:
wget -O dle.zip "https://your-download-link.com/dle.zip"
unzip dle.zip
mv Upload/* ./
Шаг 3. База данных:
sudo mysql -u root -p
CREATE DATABASE dle_db CHARACTER SET utf8mb4;
CREATE USER 'dle_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON dle_db.* TO 'dle_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Шаг 4. Права доступа:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod -R 777 uploads backup engine/cache templates engine/data
sudo chown -R www-dаta:www-data /var/www/dle-site
Важно: права 777 устанавливаются временно для установки. После завершения установки через браузер обязательно выполните финальную настройку прав (см. шаг 7).
Шаг 5. Настройка веб-сервера:
sudo nano /etc/apache2/sites-available/dle-site.conf
sudo a2enmod rewrite
sudo a2ensite dle-site.conf
sudo systemctl restart apache2
Шаг 6. Установка через браузер:
http://yourdomain.com/install.php
Шаг 7. Финальная защита:
rm -f install.php upgrade.php update.php
chmod 600 engine/data/dbconfig.php
chmod 755 engine/data
chmod -R 755 templates backup
chmod -R 775 engine/cache uploads
Примечание: после установки обязательно ужесточите права согласно разделу "Финальная настройка прав".
Заключение
Вы успешно установили DataLife Engine полностью через командную строку SSH. Этот метод быстрее и надёжнее традиционной установки через FTP, даёт больший контроль над процессом и позволяет автоматизировать развёртывание.
Рекомендации:
- Регулярно обновляйте DLE до последней версии
- Настройте автоматическое резервное копирование базы данных и файлов
- Используйте SSL-сертификат для защиты соединения
- Следите за логами на предмет ошибок и попыток взлома
- Отключайте неиспользуемые модули для повышения безопасности
Следующие шаги:
- Настройте кеширование для ускорения сайта
- Установите дополнительные модули и шаблоны
- Настройте резервное копирование
- Оптимизируйте базу данных MySQL