Фрики intitle datalife engine панель управления. Создание простого модуля для CMS Datalife Engine (DLE)

Приветствую всех, кто посвящает этим строкам свое драгоценное время.

В этой статье я хочу рассказать о способах оптимально настроить сервер и систему управления контентом DataLife Engine. За 4 года работы с интернет сайтами и серверами я усвоил, что безопасность превыше удобства и что ей нужно уделять внимание. Оговорка : я не претендую на авторство чьей-либо интеллектуальной собственности! Весь материал собран на просторах интернета.

Ниже будут описаны действия, которые помогут распределить нагрузку сервера, обезопасить его от DOS атак, ограничить доступ к FTP протоколу и правильно сконфигурировать систему DataLife Engine.

Защита и конфигурация вашего сервера.

1. Настройка конфигурации сервера с использованием связки front-end Nginx к Apache.

Преимущества подобной схемы можно понять на небольшом примере. Представьте себе, что вашему веб серверу Apache необходимо обслужить порядка 1000 запросов одновременно, причем многие из них подключены к медленным каналам связи. В случае использования Apache мы получим 1000 процессов httpd, на каждый из которых будет выделена оперативная память, и эта память не освободится до тех пор, пока клиент не получит запрошенный контент.

В случае схемы с применением front-end сервера получим значительную экономию ресурсов за счет того, что после поступления запроса, nginx передает запрос Apache и быстро получает ответ. В итоге, Apache, после того как отдал ответ nginx, освобождает память. Далее с клиентом взаимодействует веб-сервер nginx, который как раз и написан для раздачи статического контента большому количеству клиентов при незначительном потреблении системных ресурсов.

Для корректной работы нашей связки понадобиться модуль для Apache. Возникает такая необходимость по следующей причине: запросы к Apache приходят с IP-адреса, на котором работает nginx, соответственно, в журнальных файлах Apache будет фигурировать только IP-адрес nginx сервера. Также без использования данного модуля начнутся проблемы со скриптами, в которых используется IP-адрес посетителя и перестанет правильно работать механизм ограничения доступа по IP-адресам с помощью.htaccess.

Установка NGINX на популярные ОС.

Red Hat Enterprise Linux 4 / CentOS 4
Для установки nginx в этих операционных системах вам необходимо подключить дополнительный репозиторий пакетов.

Red Hat Enterprise Linux 5 / CentOS 5
Для установки nginx в этих операционных системах вам необходимо подключить дополнительный репозиторий пакетов EPEL.

ASPLinux Server 5 / Fedora
nginx присутствует в стандартной поставке дистрибутива.

Если репозитории подключены или просто не требуются, выполняем: yum install nginx

Установка Apache.

Чтобы установить Apache веб-сервер достаточно выполнить: yum install httpd

Установка mod_rpaf.

1. Устанавливаем пакет httpd-devel:

yum -y install httpd-devel


2. Скачиваем и устанавливаем mod_rpaf:
Входим в директорию /usr/local/src

cd /usr/local/src


Загружаем в /usr/local/src файл mod_rpaf-0.6.tar.gz

wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz


Распаковываем mod_rpaf-0.6.tar.gz

tar xzf mod_rpaf-0.6.tar.gz


Переходим в каталог в который распаковали

Ставим модуль в систему

apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c


3. Далее нужно создать файл конфигурации mod_rpaf - /etc/httpd/conf.d/rpaf.conf и добавить в него следующие строки:


RPAFenable On
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx yy.yy.yy.yy


где xx.xx.xx.xx и yy.yy.yy.yy - IP адреса вашего сервера. Если на сервере более двух IP, добавьте их по той же аналогии.

service httpd restart


4. В nginx внутри блока http {} должны быть указаны строки:

proxy_set_header Host $host;


Если данные строки указаны, дописывать не нужно.

Если модифицируется nginx.conf, следует перезапустить nginx:

/etc/init.d/nginx stop
/etc/init.d/nginx start


5. Как проверить, работает ли установленный модуль?
На любом из доменов, которые расположены на Вашем сервере, разместите файл test.php с содержимым:

" echo $_SERVER["REMOTE_ADDR"]; ?>"


Далее зайдите по ссылке , где domain.tcom - имя вашего домена. Если отображается IP, отличающийся от IP вашего сервера, модуль работает корректно.

Настройка NGINX.

Ниже приведен конфигурационный файл nginx для работы в качестве front-end сервера. Подразумевается, что nginx будет работать на всех интерфейсах на 80 порту, а Apache будет работать на интерфейсе 127.0.0.1 и порту 8080. Сохраните данный конфигурационный файл в каталоге /etc/nginx/ с именем nginx.conf.

user nginx;
worker_processes 10;
error_log /var/log/nginx/error.log debug;
pid /var/run/nginx.pid;

events {
worker_connections 20000;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main "$remote_addr - $remote_user [$time_local] $status "
""$request" $body_bytes_sent "$http_referer" "
""$http_user_agent" "http_x_forwarded_for"";
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
send_timeout 900;
server_tokens off;
server {
listen 80;
server_name _;
server_name_in_redirect off;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 10m;
}
}


Настройка Apache.

В файле конфигурации Apache /etc/httpd/conf/httpd.conf найдите строку:

и замените ее строкой:

Listen 127.0.0.1:8080


Настройка mod_rpaf.

Добавьте модуль mod_rpaf в файл конфигурации Apache. Для этого в файл /etc/httpd/conf/httpd.conf добавьте следующую строку:

LoadModule rpaf_module modules/mod_rpaf-2.0.so


Затем в этот же файл добавьте строки:

RPAFenable On
RPAFsethostname Off
RPAFproxy_ips 127.0.0.1 192.168.0.1
RPAFheader X-Real-IP


Вместо 192.168.0.1 необходимо поставить IP-адрес сервера.

2. Конфигурация сервера для защиты от dos-атак.

Включаем в nginx кеширование главной страницы для тех у кого нет cookie.

Добавляем ограничения в nginx.conf:

limit_req_zone $binary_remote_addr zone=two:20m rate=2r/s;
server{
location / {
limit_req zone=two burst=5;
}
}
}


Пользуемся tail и awk:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503


Подключаем лог:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503 | awk "{ print $1 }"


Получаем IP машин:

iptables -A INPUT -p tcp -j DROP -s $IP


Заносим IP в Firewall:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503 | awk "{ print $1 }" | xargs -t -l iptables -A INPUT -p tcp -j DROP –s


Теперь установим connlimit для iptables чтобы ограничить подключения ботов. В правилах ставим разрешение на 5 подключений с одного IP, и 25 из подсети класса С.

DDOS атака с 16000 ботов - Load average: 1.4 1.9 2.0

Ограничение доступа по FTP

Для этого нам понадобитсья файл.ftpaccess. Он поможет запретить или разрешить доступ по FTP с указанных IP адресов. Кто-то может задать вопрос: «У меня динамический IP, как мне правильно использовать.ftpaccess?» Ответ я подразумеваю только такой: «Если вам нужна данная надстройка безопасности - приобретите у вашего провайдера статический IP. Много денег у вас за него не попросят.»

Чтобы создать.ftpacces файл нам понадобиться SSH доступ. Можно воспользоваться программой winscp. Настроек в.ftpaccess может быть большое множество, однако нас интересует только один параметр. Прописав эти строки в файле вы закроете полностью доступ от всех:

Deny from all


После написанного выше, никто не сможет зайти на ФТП. Для добавления разрешения доступа определенному IP нужно указать следующие параметры:

Allow from 127.0.0.1
Deny from all


Естественно адрес 127.0.0.1 указан для примера и его нужно заменить на собственный.

Важно! Лучше всего запретить доступ по FTP абсолютно всем и подклчаться только по SSH.

Защита системы управления контентом DataLife Engine.

1. Установите и настройте .

2. Переименуйте файл админпанели и сделайте фейк по старому адресу (www.sait.com/admin.php) при переходе на который пользователь будет заблокирован посредством запрета его ip в.htaccess.

Переименовали? Теперь создаем в корневом каталоге файл ip.txt для хранения ip-адресов. Даем ему и.htaccess права CHMOD – 777.

Создаем файл admin.php следующего содержания:


$ip = getenv ("REMOTE_ADDR");

$log = fopen("ip.txt", "a+");
fwrite($log, "// ".$ip."\n");
fclose($log);

$f = fopen($_SERVER["DOCUMENT_ROOT"] . "/.htaccess", "a");
fwrite($f, "\ndeny from " . $ip);
fclose($f);

Админ панель DataLife Engine

Текст, например: Твой ip в логах, я найду тебя!

Бойся, ничтожество, ха-ха!

"
3. Добавим дополнительную аутентификацию в админцентре.

Необходимо придумать еще один логин и пароль (не используйте данные вашего административного аккаунта). Второй логин и пароль должен в корне отличаться от первого. Определились? Отлично! Теперь зашифруем наш пароль в md5 (сделать это можно на сайте md5encryption.com).
Далее открываем admin.php (вспомните, ранее мы его переименовали и, по этому, если вы назвали его superadmin.php - вам необходимо открывать именно этот его) и после строки:

добавляем:

$login="вписываем придуманный логин";
$password="и сгенерированный пароль в md5";
if (!isset($_SERVER["PHP_AUTH_USER"]) || $_SERVER["PHP_AUTH_USER"]!==$login ||
md5($_SERVER["PHP_AUTH_PW"])!==$password) {
header("WWW-Authenticate: Basic realm="Admin Panel"");
header("HTTP/1.0 401 Unauthorized");
exit("Access Denied");}


4. Отключим неиспользуемые системой функции php.

Для поиска файла php.ini создаем файл phpinfo.php с текстом:

После поиска обязательно удалить phpinfo.php!

disable_functions = allow_url_fopen, eval, exec, system, passthru, scandir, popen, shell_exec, proc_open, proc_close, proc_nice, get_current_user, getmyuid, posix_getpwuid, apache_get_modules, virtual, posix_getgrgid, getmyinode, fileowner, filegroup, getmypid, apache_get_version, apache_getenv, apache_note, apache_setenv, disk_free_space, diskfreespace, dl, ini_restore, openlog, syslog, highlight_file, show_source, symlink, disk_total_space, ini_get_all, get_current_user, posix_uname, allow_url_fopen


5. Создаем фильтрацию GET и POST запросов, предотвращаем инъекции в БД и получение из нее данных.

Создаем файл.php с произвольным названием и следующим содержимым:

//поставить еденицу если хотите включить отладку запросов
$debug = 0;

$bag_req = array("select", "eval", "echo", "UPDATE", "LIMIT", "INSERT", "INTO", "union", "CONCAT", "INFORMATION_SCHEMA", "OUTFILE", "DUMPFILE", "LOAD_FILE", "BENCHMARK", "SUBSTRING", "ASCII", "CHAR", "database", "HEX", "\\.\\/", "%00", "\\.htaccess", "config\\.php", "document\\.cookie");
$request = serialize($_GET);


if($_GET)
{
foreach ($bag_req as $key => $value) {
{
В массиве найден запрос $value
$request";
}
}
}
if($_POST)
{
$request = str_replace("selected_language", "sl", serialize($_POST));
$urequest = urldecode($request);
$brequest = base64_decode($request);
foreach ($bag_req as $key => $value) {
if(preg_match("/$value/i", $request) || preg_match("/$value/i", $urequest) || preg_match("/$value/i", $brequest))
{
if($debug == "1") $do_debug = "
В массиве найден запрос $value , который блокирует правильную работу
$request";
die("BAD REQUEST $do_debug");
}
}
}
?>


Сохраняем его на сервере в любом каталоге системы DLE. Открываем файл engine/classes/mysql.php и после:

if(!defined("DATALIFEENGINE"))
{
die("Hacking attempt!");
}


подключаем созданный файл:

include_once(ENGINE_DIR."/путь_к_файлу/название.php");


6. Используя бесплатные компоненты к DLE обязательно узнайте мнение специалиста о их надежности.

При возникновении вопросов обращайтесь к поисковым системам - весь материал в свободном доступе!
Есть что добавить? Милости прошу к обсуждению!

Удачи вам и вашим проектам!

На базе движка DLE (DataLife Engine). Настройку я буду описывать очень подробно, стараясь ничего не упустить, я думаю, что настройка dle превратится в длинную серию постов. За эту серию постов мы не только подробно рассмотрим настройку, но и разберемся для чего нужна каждая функция настройки.

Для постов посвященных настройке движка DLE, я буду использовать движок DataLife Engine v.9.4., точнее демо-версию данного движка. Этого мне вполне хватит для того, чтобы рассказать вам о настройках и возможностях DataLife Engine.

Первая статья будет посвящена разделу админки: «Общие настройки скрипта» . Найти этот раздел можно следующим образом: после перехода в админку DLE (DataLife Engine) , которая находится по адресу site.ru/admin.php, вы увидите быстрый доступ к основным разделам админпанели. Сегодня нам нужен пункт «настройка системы», а в нем раздел «общие настройки скрипта» . Есть, конечно и другие способы попасть в этот раздел, но это по-моему самый простой способ.

Итак приступим к настройке движка dle, первый пункт это название (title dle) . В названии пишите, название вашего проекта, например: Все для начинающих вебмастеров. Ваш title может звучат как угодно, по умолчанию на движке DLE, сайт называется DataLife Engine, если мы впишем любое другое название, то оно будет изменено. И оно будет формировать title dle, который будет выводиться во вкладке браузера, а также на странице поисковой выдачи. Поэтому, отнеситесь к title, со всей серьезностью. Здесь, я думаю понятно.

Ну, домашняя страница, я думаю понятно. Вписываем имя вашего домена, например: site.ru и все.

Используемая кодировка , по умолчанию, стоит windows-1251, это означает, что ваш ресурс поддерживает русский язык. Если у вас демо-версия движка DataLife Engine, менять здесь ничего не надо. Если же CMS куплена, то кодировку можно изменить например на UTF-8 и тогда ваш проект станет мультиязычным, на данном этапе подробно мы не будем рассматривать кодировку, я думаю и так понятно если у вас демо не меняем, даже если купленая, но домен находится в зоне ru , если честно я не вижу смысла менять кодировку.

Следующий пункт: Описание (Description) , в котором мы кратко описываем содержание своего проекта, например: Все о создании, настройке и продвижении блогов или сайтов и т.д., но не более 200 символов. По идее это описание должно выводится в поисковых системах, поэтому отнеситесь к этому серьезно, и не забудьте в описание прописать ключевые слова, по которым в будущем будет продвигаться ваш ресурс. Выглядеть это будет, примерно так, в поисковике Google:

Далее, ключевые слова (Keywords) (слова вводим через запятую), также по данным словам поисковики будут обращать внимание на вашу страничку, ключевые слова должны максимально соответствовать направлению вашего сайта или блога, сначала нужно составить список ключевых слов и проверить количество запросов по данным словам. Для проверки количества запросов пользуемся вот этой страничкой в интернете http://wordstat.yandex.ru . Подробнее на данном этапе рассматривать не будем, так как это уже относится не к данной теме поста, а к оптимизации в поисковых системах. Тут уж смотрите сами, что писать в это поле, для каждого ключевые слова будут разные.

Краткое название , здесь я думаю все понятно. Данное название будет выводится в модуле speedbar. Можно, опять же, повторить название проекта. Так с названиями разобрались, продолжаем. Модуль speedbar (он же хлебные крошки) выглядит так:

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

В графе, (человекопонятный урл), желательно выбрать «Да». Нужен он для того, чтобы ваш адрес визуально воспринимался пользователями, что хорошо сказывается на юзабилити вашего ресурса. Чтобы было понятнее, приведу примеры новостей с ЧПУ и без, новость с ЧПУ dle : http://site. ru/addnews.html, без ЧПУ: http://site.ru/index.php?do=addnews, т.е с ЧПУ визуальное восприятие ссылки намного лучше, чем без него.

Затем выбираем тип ЧПУ , здесь все ваших руках, но третий тип не советую выбирает так как он повышает нагрузку на ваш сервер.

Обрабатывать неверные URL ЧПУ : Здесь я советую поставить «Да», так как эта опция полезна для SEO, но вы если хотите можете не включать данную опцию. Подробнее для чего она нужна, в настройках написано, довольно понятно.

Затем выбираем используемый язык , так как у меня демо-версия, выбор у меня не большой только один язык, это русский, но для доменной зоны ru, этого будет достаточно.

Далее, шаблон сайта по умолчанию стоит default, но можно выбрать и другой. Этой теме будет посвящена отдельная статья, как установить шаблон на DataLife Engine (DLE). Конечно, все мы хотим какой-то особенный, не стандартный шаблон, забегая вперед, скажу, шаблон установить на dle очень просто. Скачиваем понравившийся шаблон с интернета или делаем свой, папку с шаблоном копируем в директорию движка, в папку templates, и если ваш ресурс на локальном сервере, перезапускаем его. И теперь шаблон появится в графе выбора шаблонов сайта по умолчанию.

После выбора шаблона, переходим к двум настройкам «Включить WYSIWYG редактор… «, в обоих случаях рекомендую выбрать «Да», так с помощью визуального редактора намного проще редактировать новости (статьи) и комментарии, нежели, с помощью BB-кодов. Хотя, выбирать вам, поэкспериментируйте, и сделайте выбор в пользу удобства. DLE WYSIWYG редактор, это визуальный редактор.

Так выглядит панель редактирования, с помощью BB-кодов.

Так выглядит панель редактирования, с помощью DLE WYSIWYG.

Далее идет довольно полезная опция: «выключить сайт «, данная опция переводит ресурс в состояние offline, если вы считаете, что ваш проект еще не готов быть увиденным пользователями, то включаете данную опцию. Если же все готово, то выключаете опцию и выпускаете проект в сеть. Также этой функцией можно пользоваться при обновлении структуры или шаблона вашего ресурса. Замечу, что данная опция полезна, если ваш «подопытный» находится на хостинге, а не на локальном сервере , как у меня.

Последняя опция (причина отключения ) пригодится тем, кто воспользуется выключением сайта. В текстовом поле уже написана причина отключения, которую можно отредактировать под себя или написать свою причину.

Вот и все. Вы сделали первый шаг к настройке DLE (DataLife Engine). Теперь остается сохранить общие настройки dle и ждать следующего поста о настройке движка DLE.

Примечание: посты о настройке DLE (DataLife Engine) будут подаваться в таком в виде, для лучшего восприятия полученной информации, чтобы не получилась каша в голове. Конечно, можно было описать всю настройку в одной статье, примерно такого вида: здесь выберите это, здесь поставьте это, там напишите так. Но я хочу, чтобы вы понимали, для чего нужна каждая функция. Настроек и возможностей в DLE слишком много для одного поста. Надеюсь на ваше понимание.

От автора: приветствую вас, друзья. В этой небольшой обзорной статье мы рассмотрим, как устроена админка DLE, где находится вход в админку DLE и как попасть в админ панель. Как вы понимаете, статья в первую очередь ориентирована на тех, кто только-только начал свое знакомство с CMS DLE.

Итак, вы установили движок DLE на хостинг или локальный сервер. Как теперь попасть в админку DLE? Все просто, для этого достаточно обратиться к главной странице вашего сайта и дописать к адресу строку admin.php, после чего перейти по новому адресу. Например, адрес моего сайта — dle.loc, соответственно, админ панель DLE находится по следующему URL — dle.loc/admin.php

При попытке войти в админку DLE, мы вполне логично увидим форму авторизации, где должны ввести логин и пароль администратора, придуманные нами на этапе установки DLE. Давайте авторизуемся. После успешной авторизации мы попадаем в святая святых нашего сайта — панель управления DLE.

Стоит отметить, что админка DLE построена достаточно логично и интуитивно понятно. Если пытаться сравнивать с админками прочих CMS, то админка DLE будет чуть более сложна, чем админка WordPress, но более проста и понятна по сравнению с админкой Joomla. Внешний вид админ панели DLE также достоин похвалы, работать с админкой довольно приятно и удобно.

В правом верхнем углу мы можем увидеть данные по нашему профилю, где можно изменить E-mail, имя, пароль и прочие аналогичные данные. Также рядом есть доступ к двум наиболее часто используемым функциям при управлении сайтом — добавление новости и Редактирование новостей. Поскольку DLE — это новостной движок, то вполне логично, что функции управления новостей вынесены для удобного к ним обращения.

Давайте попробуем добавить первую новость, или статью, если угодно, на наш сайт. Для этого жмем кнопку Добавить новость и заполняем предлагаемую форму для добавления новости. По сути, нам достаточно указать название статьи, выбрать категорию для нее, а также заполнить краткое и полное описание добавляемой статьи.

Сохраним новость и посмотрим, появилась ли она на главной странице сайта. Статья появилась и это замечательно, поскольку так же легко и просто вы можете добавлять и другие ваши статьи и новости.

Давайте также изменим название сайта. Сделать это можно в разделе Настройки скрипта — Настройка системы. В поле Название сайта впишем желаемое название.

Теперь во вкладке браузера в качестве названия сайта мы увидим то, что нам нужно. Как видим, все действительно удобно, логично и понятно устроено в админке DLE. В следующих статьях мы познакомимся с другими возможностями DLE, ну а на этом текущую статью мы, пожалуй, будем завершать. Если вы хотите познакомиться с DLE поглубже и научиться создавать сайты на этом движке, тогда обязательно обратите внимание на наш курс . Ну а я на этом с вами прощаюсь. Удачи!

Были подготовлены и реализованы следующие изменения:


1. Добавлена возможность загружать на сервер изображения к публикуемым на сайте комментариям. Данная возможность включается и настраивается в настройках групп. Для каждой группы пользователей вы можете разрешить или запретить загрузку изображений к комментариям. Также для каждой группы вы можете задать различные отдельные параметры для загружаемых изображений, например, максимальное количество загружаемых изображений к комментариям, их размеры и вес и т.д. При загрузке изображений к комментарям пользователю доступна упрощенная форма загрузки комментариев, и изображения загружаются согласно заданным в настройках групп параметрам. Пользователю при этом доступно управление своими загруженными изображениями. Он может их удалить или заменить, если ему разрешено редактировать свои комментарии.

2. Добавлена поддержка движка InnoDB для базы данных MySQL. При установке скрипта вы можете выбрать, какой тип хранения использовать. Для выбора доступно использование либо InnoDB либо MyISAM . При выборе движка мы рекомендуем руководствоваться следующими критериями. Если ваш сайт будет редко обновляться новым контентом (регистрация большого количества пользователей, активное добавление новых комментариев и т.д.) т.е. сайт "справочник", то рекомендуется использовать MyISAM тип, он быстрее при выборке из базы данных. Если на сайте планируется активное обсуждение чего-либо большим количеством пользователей, то рекомендуется использовать InnoDB тип. Для большинства сайтов оптимальным выбором будет именно InnoDB, т.к. в будущем он более легко масштабируется. Выбор движка базы данных доступен только если на вашем сервере установлена версия MySQL не ниже чем 5.6.4. Если версия MySQL сервера ниже, то доступно использование только MyISAM.

3. Добавлена возможность создания и использования плейлистов при воспроизведении видео на сайте. Для этого видеофайлы просто перечисляется в теге video через запятую. Например:
4. Добавлена возможность создания описания, для видео которое будет видно при показе в плеере, для этого в теге вставки видео используется следующий формат: , тоже самое можно задать для всех файлов если используется плейлист файлов, добавленный через запятую. Пример отображения вы можете увидеть на скриншоте выше.

5. Добавлена возможность использовать в теге , также ссылки на видео в сервисе Youtube. Тем самым вы можете организовывать смешанные плейлисты включающие в себя ваше видео и видео на сервисе Youtube.

6. Добавлена возможность создания и использования плейлистов при воспроизведении аудио на сайте. Для этого аудиофайлы просто перечисляется в теге audio через запятую. Например:
7. Добавлена возможность создания описания , для аудио которое будет видно при воспроизведении музыки в плеере, для этого в теге вставки аудио используется следующий формат: . Пример отображения вы можете увидеть на скриншоте выше.

8. Для аудио проигрывателя добавлена возможность добавления ссылок для воспроизведения потокового аудио. Тем самым вы можете задавать и выводить плейлисты для прослушивания на своем сайте радиостанций.

9. В настройки проигрывателей, в админпанели, добавлена возможность выбора темы для плеера. Для выбора доступна либо темная, либо светлая тема для плеера, что делает отображение плеера на вашем сайте более органичным.

10. Улучшена процедура вставки видео и аудио материалов в редакторах. При добавлении видео, вы можете сразу создавать плейлисты, а также вы можете сразу задать в окне ввода не только ссылку на видео и аудио, но и ссылки к постерам для них, и описание для видео и аудио файлов.

11. В состав DataLife Engine добавлен новый WYSIWYG редактор. Название нового редактора FroalaEditor. Данный редактор обладает легким и понятным интерфейсом (на наш взгляд лучшим интерфейсом) для создания и редактирования контента, HTML код генерируемый им является одним из самых чистых и не имеет практически ничего лишнего, имеет относительно небольшой вес обладает быстрым рендерингом редактора на странице.

12. Добавлен новый тип для дополнительных полей публикаций: "Загружаемая галерея изображений". При создании данного типа поля вы можете задать параметры для загружаемых изображений, а также максимальное количество изображений, которое может быть загружено для данной галереи. При добавлении публикации в админпанели или на сайте изображение можно будет загружать в один клик. При выводе данного поля на сайте, изображения будут группироваться в галерею картинок, которые также можно перелистывать между собой при просмотре, в случае если для картинок были созданы уменьшенные копии.

13. Для дополнительных полей, имеющих тип "Загружаемое изображение" и "Загружаемый файл", добавлен автоматический запрет на повторную загрузку изображений и файлов, до тех пор, пока предыдущее загруженное изображение или файл не будут удалены. Тем самым снижается вероятность прикрепления к новости, не использующихся файлов и изображений.

14. Для дополнительных полей, имеющих тип "Загружаемое изображение" добавлены новые теги: и , которые выводят только URL для уменьшенной копии загруженного изображения и URL для полного изображения соответственно, где "X" это имя дополнительного поля. Данные теги будут полезны для вебмастеров, которые хотят персонального оформления загруженных публикаций на сайте, например, совместно с другими дополнительными полями.

15. Для дополнительный полей, имеющих тип "Переключатель Да или Нет", добавлена возможность назначения состояния «Включено» или «Выключено» по умолчанию, которое будет использоваться при добавлении новой публикации.

16. Добавлена возможность онлайн просмотра документов, загружаемых на сайт через скрипт DataLife Engine. Для этого в шаблон вывода загруженных файлов (attachment.tpl) были добавлены следующие теги: {online-view-link} который выводит ссылку URL на просмотр документа онлайн в браузере, а также теги текст , которые выводят заключенный в них текст, если загруженный документ имеет поддерживаемый для просмотра формат. Для онлайн просмотра поддерживаются следующие типы документов: Adobe PDF, Microsoft Word, Microsoft Excel. Просмотр документов происходит непосредственно в браузере посетителя, при помощи сервиса Google Docs Viewer, поэтому посетителям не нужно иметь установленные программы от Microsoft или Adobe.

17. В связи с тем, что разработчики WYSIWYG редактора LiveEditor решили прекратить какие-либо работы по данному редактору, и он уже не получал несколько лет каких-либо обновлений, было принято решение убрать данный редактор из состава DataLife Engine. Сайты, которые ранее использовали данный редактор, будут автоматически переключены на использование редактора FroalaEditor.

18. Добавлена возможность задать описание изображений (атрибут alt) при массовой вставке изображений в новость. Для этого вам нужно выбрать нужные изображения, и кликнув по любому из них, задать описание. После чего нажать на кнопку "Вставить выбранное". Заданное описание будет также добавлено для всех картинок при вставке.

19. Добавлен автоматический сброс кэша Zend OPCache при изменении настроек сайта. Тем самым, при включенном данном кешировании в настройках сервера, вам не нужно самостоятельно сбрасывать кэш, или ждать пока изменения вступят в силу.

20. При просмотре списка категорий в админпанели, в разделе редактирования категорий, изменен вид отображения списка категорий. Теперь все подкатегории показываются в свернутом виде, и могут быть открыты непосредственно при необходимости для конкретной родительской категории. А также добавлены кнопки, благодаря которым можно быстро в один клик развернуть или свернуть все категории в списке. Добавление новой категории осуществляется в всплывающем окне. Тем самым упрощается работа с большим количеством категорий и подкатегорий в админпанели.

21. Добавлена возможность отписать всех пользователей, подписанных на комментарии, для каждой новости отдельно. В случае если у новости есть подписанные пользователи, то при редактировании данной новости в панели управления, во вкладке "Дополнительно", вы можете увидеть количество подписчиков и отписать их от комментариев к данной конкретной публикации. Данное нововведение будет полезно, например, если новость закрывается от дальнейшего комментирования.

22. Добавлена возможность подписываться на комментарии к новости, при публикации комментария, даже когда комментарий уходит на модерацию.

23. В профиле пользователя на сайте, добавлена возможность отписаться от подписанных комментариев к публикациям, с указанием количества публикаций, на которые подписан пользователь. Для этого в шаблоне userinfo.tpl {unsubscribe} , который выводит чекбокс на отписку от комментариев, и количество подписанных публикаций.

24. В профиле пользователя на сайте, добавлена возможность автоматически подписаться на получение уведомлений о новых комментариях, которые добавляются к новостям, автором которых он является. Тем самым пользователю не нужно подписываться отдельно на каждую свою новость, достаточно отменить соответствующий чекбокс в настройках своего профиля. Для вывода чекбокса, в шаблоне userinfo.tpl добавлено использование нового тега {news-subscribe} .

25. В профиле пользователя на сайте, добавлена возможность автоматически подписаться на получение уведомлений о новых комментариях, которые являются ответами на его собственные комментарии. Для этого достаточно отменить соответствующий чекбокс в настройках своего профиля. Для вывода чекбокса, в шаблоне userinfo.tpl добавлено использование нового тега {comments-reply-subscribe} .

26. Добавлена поддержка расширения PHP Memcached. Скрипт DLE автоматически определяет какое именно расширение PHP установлено, Memcache или Memcached на сервере, и в зависимости от этого использует то или иное PHP расширение, в случае если в настройках скрипта включено Memcache кеширование. Тем самым больше нет необходимости ставить на сервер именно расширение PHP Memcache.

27. В админпанели, в разделе редактирования публикаций, в список массовых действий над публикациями, добавлена возможность добавления категорий к публикациям. В отличии от существующего пункт "Изменить категории", пункт "Добавить категорию", позволяет массово назначить публикациям новые выбранные категории, без изменения старых, ранее добавленных категорий.

28. Для шаблонного тега Текст добавлена возможность указать диапазон новостей с использованием символа тире. Например, вы можете указать Текст Текст . Тем самым облегчается создание нужного вам оформления, и не нет необходимости прописывать все ID нужный публикаций через запятую.

29. Для шаблонного тега Текст добавлена возможность указать диапазон нужных страниц с использованием символа тире. Например, вы можете указать Текст . Аналогично диапазон можно задать и для противоположного тега Текст . Тем самым облегчается создание нужного вам оформления, и не нет необходимости прописывать все номера нужных вам страниц через запятую.

30. Добавлена возможность отписываться пользователям сайта от рассылок писем, которые отправляются с раздела "Рассылка сообщений" админпанели. Для этого при рассылке писем, вы можете задать либо в шаблоне, либо непосредственно в тексте сообщения тег {%unsubscribe%}, который выводит в отправляемом письме URL на отписку от получения рассылки для пользователя. При переходе по данной ссылке, для профиля пользователя, устанавливается статус "Не получать писем с сайта". При этом, пользователю достаточно просто пройти по ссылке, ему не нужно авторизовываться или производить какие-либо другие действия на сайте. Тем самым он может легко отписаться от писем с сайта, если он давно потерял интерес к сайту. Несмотря на то что рассылка писем позволяет все равно отправить сообщение пользователю, даже если он изъявил желание не получать писем. Мы настоятельно рекомендуем вебмастерам, во избежание попадания сервера в спам фильтры, всегда при рассылке сообщений учитывать статус, который пользователь установил в своем профиле.

31. Добавлено автоматическое добавление для всех внешних ссылок, которые публикуются в новостях и комментариях, атрибута rel , содержащего в себе параметры "external noopener noreferrer" . Данный атрибут позволяет снизить вероятность возможной атаки на сайт с использованием механизмов социальной инженерии.

32. В настройки скрипта, добавлена возможность указания количества дней, в течение которых кешировать полную новость после ее публикации. Создание и обновление кэша, эта тоже ресурсоемкая операция. По истечении времени, публикация также теряет свою популярность, и если она не часто читается, то создавать и контролировать кэш постоянно для нее нецелесообразно. Если на вашем сайте публикуется мало новостей, то вы можете увеличить количество дней в течении которых кешировать, если много, то уменьшить. В любом случае мы не рекомендуем устанавливать время кеширования менее 30 дней. Небольшое количество дней используйте только если есть проблемы с свободным местом на жестком диске сервера, либо если публикуете очень большое количество новостей в месяц. А вот тем, у кого немного новостей на сайте, мы рекомендуем увеличить это значение.

33. В админпанели, в разделе редактирования пользователей, добавлена возможность быстрого переноса всех публикаций от одного пользователя, другому. Для этого нужно нажать на количество публикаций пользователя, выбрать перенос публикаций другому пользователю, и указать логин пользователя, на который нужно перенести публикации. Данное нововведение будет полезно, если перед удалением пользователя из базы данных, нужно перенести все его публикации другому пользователю.

34. В админпанели, в разделе редактирования пользователей, добавлена возможность быстрого пересчета количества публикаций у пользователя. Для этого нужно нажать на количество публикаций пользователя и выбрать в меню пересчет публикаций. Данная опция будет полезна, если производилось массовые манипуляции с публикациями, или добавления в базу данных минуя скрипт.

35. В админпанели, в разделе редактирования пользователей, добавлена возможность быстрого пересчета количества комментариев у пользователя. Для этого нужно нажать на количество комментариев пользователя и выбрать в меню пересчет комментариев. Данная опция будет полезна, если производилось массовые манипуляции с комментариями, или добавления в базу данных минуя скрипт.

36. Улучшено быстродействие работы вывода новостей при использовании сортировок по рейтингу и просмотрам. Также улучшено быстродействие вывода комментариев, использующих сортировку по рейтингу.

37. Улучшена система учета количества комментариев пользователя в статистике его профиля. При массовом удалении новостей происходит также автоматический пересчет и комментариев пользователей. Тем самым отпадает необходимость периодического пересчета статистики.

38. Проведена оптимизация отображения админпанели DataLife Engine на мобильных устройствах в портретной ориентации. Тем самым панель управления стала более удобной при ее использовании на смартфонах.

39. Библиотека Jquery была обновлена до линейки 2.xx

40. Обновлен редактор TinyMCE до актуальной версии.

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

42. Исправлена проблема, при которой формировалась невалидная верстка HTML комментариев при использовании древовидных комментариев.

43. Исправлена проблема, при которой для тега {category-url} выводился URL на категорию с использованием ЧПУ, независимо от настроек ЧПУ в админпанели скрипта.

44. Исправлена проблема, при которой происходило дублирование индексов дополнительных полей, имеющий опцию перекрестных ссылок, в случае если новость публикуется в несколько категорий.

45. Исправлена проблема, при которой некорректно работали теги текст и текст для главной страницы, в случае если в настройках скрипта была включен показ статической страницы на главной в качестве основной.

46. Исправлена проблема, при которой если в разделе редактирования публикаций производилась очистка новости от комментариев, то происходил всегда возврат на первую страницу раздела редактирования новостей, независимо от выставленных фильтров поиска и показа публикаций для редактирования.

47. Исправлена проблема, при которой невозможно было ввести правильный ответ на систему "Вопрос-Ответ", в случае если пользователь отвечает на комментарий, а не добавляет новый.

48. Исправлены обнаруженные и заявленные ранее небольшие ошибки в скрипте.

Информация к скачиванию скрипта для клиентов:

Внимание! Просмотр данной информации доступен только пользователям имеющим лицензию на скрипт. Если вы уже приобретали скрипт, то вам необходимо зайти на сайт под своим клиентским аккаунтом.

Если вы еще не являетесь нашим клиентом, то вы можете на нашем сайте.

Обсудить релиз вы можете на

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

Вы (или человек, который делал вам доступы) создали надежный пароль, но не записали его в укромное место и забыли. Как быть в таком случае?

По умолчанию, в DataLife Engine запрещено восстанавливать пароли для группы «Администраторы». Это сделано по понятным причинам – ведь если человек имеет доступ к вашей почте, значит, он имеет доступ и к вашему сайту.

Но вы можете включить возможность восстановления пароля стандартным способом (через форму восстановления) и для администраторов. О том, как это сделать – читайте в данной статей.

Эта же статья посвящена тем случаям, когда стандартное восстановление пароля не включено, а вернуть доступ к панели управления нужно.

Я расскажу вам о двух способах восстановления, они несложные. Каждый выбирает тот способ, который ему показался более удобным.

Восстановление доступа к панели управления сайтом в DataLife Engine через SQL- запрос

Из заголовка, думаю, вы уже поняли, что для смены пароля вам необходимо сделать SQL-запрос в вашей базе данных. О том, как делать SQL-запрос, я подробно расписал в .

Запрос вам необходимо сделать следующего типа:

UPDATE `dle_users` SET `password` = "202cb962ac59075b964b07152d234b70" WHERE `user_id` = 1;

Где «1 » – это ID администратора (меняете на свой), а «» – пароль «123» в зашифрованном виде.

После того, как запрос был успешно выполнен (если возникли трудности – пишите об этом в комментариях), вы можете зайти в панель управления сайтом, используя ваш логин и пароль «123».

Восстановление доступа к панели управления сайтом в DataLife Engine через дополнительного пользователя

В этом случае вам необходимо зарегистрировать новый профиль на вашем сайте и наделить его должными правами.

Для этого:

1. Зарегистрируйте новый профиль (обязательно запомните логин).

2. В вашей базе данных выполните SQL-запрос:

UPDATE `dle_users` SET `user_group` = "1" WHERE `name` = "login";

Где «login » – логин нового пользователя (меняете на свой).

Вот, собственно, и все. С помощью этого запроса мы делаем админом указанного пользователя, и уже с его данными вы можете авторизоваться в панели управления вашим сайтом.

  • Разделы сайта