Denora Stats - это наиболее продвинутый сервис для ведения Web-статистики IRC-сети. Аналог - NeoStats, который довольно устарел и не сравнится по функционалу с Denora Stats. По-умолчанию сервис генерирует один HTML-файл, который обновляется через определенный промежуток времени. Для расширения функционала используются расширения phpDenora и MagIRC. Сайт сервиса denorastats.org.

Установка Denora Stats

Работаем через SSH клиент в Linux сервере Debian 7 от обычного пользователя.
  1. Переходим в папку, в которую будем устаналивать Denora Stats:
    cd /home/dim/irc
  2. Скачиваем Denora Stats:
    wget https://raw.githubusercontent.com/dimst/IRC/master/denora-1.5.0.tar.gz
  3. Распаковываем скачанный архив:
    tar xf denora-1.5.0.tar.gz
  4. Переименовываем распакованную директорию:
    mv denora denora-src
  5. Входим в директорию с исходниками:
    cd denora-src
  6. Запускаем конфигурацию, в которой нужно ответить на несколько вопросов:
    ./Config
    1. In what directory do you want the binaries to be installed?
      [/home/dim/stats]
      В какую директорию будут установлены Denora Stats?
      Указываем
      /home/dim/irc/denora
      , нажимаем ENTER.
    2. /home/dim/irc/denora does not exist. Create it?
      [/home/dim/irc/denora]
      Директория /home/dim/irc/denora не существует. Создать её?
      Нажимаем ENTER.
    3. Which group should all Stats data files be owned by? (If Stats should not force files to be owned by a particular group, just press Return.)
      []
      Какая группа пользователей будет иметь права на файлы Denora Stats?
      Нажимаем ENTER.
    4. What should the default umask for data files be (in octal)?
      (077 = only accessible by owner; 007 = accessible by owner and group)
      [077]
      Какие права дать файлам баз данных?
      Нажимаем ENTER.
    5. Allow Denora to automatically check for mysql client development libraries?
      unless you get errors with make, there is no need to change this setting.
      WARNING: You NEED the mysql client devel libraries installed on your system
      in order to compile Denora with SQL support.
      On Debian/Ubuntu systems for example, you need to install the
      libmysqlclient15-dev package or similar.
      [yes]
      Разрешить автоматическую проверку наличия MySQL? Если есть ошибки с make, то пишем no и жмём ENTER. Если планируется использовать MySQL, то пишем yes и жмём ENTER.
      Далее в конфигурационном файле denora.conf необходимо будет настроить блок sql {...} и в директории с установленным сервисом выполнить файл mydbgen:
      ./mydbgen
      . Следуя инструкуциям указать необходимые данные: адрес, порт, пользователь, пароль MySQL базы.
    6. Would you like to register your network with Denora?
      Doing this will allow us to better focus our project
      [no]
      Хотите ли вы зарегистрировать вашу IRC-сеть на сайте www.denorastats.org? Она будет отображаться в списке сетей, использующих Denora Stats.
    7. Allow Denora to attempt to build a crypt library so that admin passwords can be encrypted in the config and db files
      [yes]
      Разрешить Denora зашифровать админские пароли?
      Нажимаем ENTER.
    8. Allow Denora to attempt to build a threading library so that the code can be multithreaded for speed
      [no]
      Нажимаем ENTER.
  7. После заверщения конфигурации запускаем компиляцию:
    make
  8. После заверщения компиляции запускаем инсталяцию:
    make install
  9. Переходим в папку с установленным сервисом Denora Stats:
    cd ../denora
  10. Создаём главный конфигурационный файл сервиса denora.conf:
    nano denora.conf

Настройка Denora Stats

Редактируем denora.conf под свой IRC сервер:
#######################################
# Конфигурационный файл denora.conf
# для Denora Stats 1.5.0
# Инструкция по установке и настройке
# https://dim.st/irc/denorastats
#######################################

#######################################
# ЛИНК К IRC-СЕРВЕРУ
#######################################

connect
{
  # IP-адрес (или домен) IRC-сервера
  hostname 127.0.0.1;

  # порт для линка
  port 5555;

  # пароль для линка
  passwd "statspass";

  # тип IRC-сервера
  protocol unreal32;

  /*
  в unrealircd.conf добавь:

  listen *:5555 { options { serversonly; }; };

  link denora.dreamterra.net {
  username *;
  hostname 127.0.0.1;
  bind-ip *;
  port 5555;
  hub *;
  password-connect "statspass";
  password-receive "statspass";
  class servers;
  };
  */

  # префикс в QUIT-сообщении
  quitprefix "Quit:";

  #bindhost nowhere;
  #bindport 0;
};


#######################################
# СЕРВЕР Denora Stats
#######################################

identity
{
  # название сервера
  name "denora.dreamterra.net";

  # описание
  desc "Сервер статистики Denora Stats";

  # маска бота
  user "Denora@Service";

  # язык сервиса: 7 - русский, 1 - английский
  language 7;
};


#######################################
# БОТ Denora Stats
#######################################

statserv
{
  # ник бота
  nick "DenoraServ";

  # реальное имя
  real "http://dreamterra.net/stats";

  # выходить с пустых каналов
  partonempty;

  # автоматически брать статус при входе на любой канал
  #autoop;

  # какой статус брать при входе на любой канал
  #automode "+o";

  # дополнительный ник
  #aliasnick "DenoraServ2";

  # дополнительное реальное имя
  #aliasreal "http://dreamterra.net/stats";
};


#######################################
# ИНФОРМАЦИЯ ОБ IRC-СЕТИ
#######################################

netinfo
{
  # название IRC-сети
  name "Dreamterra";

  # кодировка ников (только для UnrealIRCd)
  nickchar "utf8";

  # делать запросы /ctcp version на подключающихся пользователей
  ctcpusers;

  # не учитывать статистику юзеров с модом +B (ботов)
  ustatsnobots;

  # собирать статистику только на зарегистрированных каналах
  ustatsregistered;

  # не собирать информацию о секретных (+s) и приватных (+p) каналах
  sphtml;

  # адрес страницы статистики
  statspage "http://dreamterra.ru/stats/index.html";

  # указать сервер, статистику пользователей которых
  # не выводить на web-странице
  excludeserv "services.dreamterra.net";

  # нормер сервера (нумерик)
  #numeric "22";

  # перффик и суффикс для P10 типа IRCd
  #hiddenprefix "";
  #hiddensuffix "";

  # Disable CTCP during burst. Avoid sending out ctcp requests
  # to users during burst. This is only useful if you restart
  # Denora often and don't want to annoy your users.
  #ctcpeob;

  # отключить расширенные функции. не рекомендуется использовать
  #largenet;
  #nonicktracking;
};


###############################################################
# АДМИНИСТРАТОР Denora Stats
# /msg DenoraServ login логин пароль
###############################################################

admin
{
  # логин
  name "DiM";

  # пароль
  passwd "123456";

  # маска админа
  hostname "*@*";

  # язык сервиса: 7 - русский, 1 - английский
  language 7;
};

  /* можно добавить второго админа сервиса
  admin
  {
    name "DiM2";
    passwd "121212";
    hostname "*@*";
  };
  */


###############################################################
# ПРОЧИЕ НАСТРОЙКИ
###############################################################

options
{
  # время хранения файлов логов (в днях)
  keeplogs 7;

  # сервисный канал, куда Denora Stats будет логировать
  logchan "#services";

  # префикс публичных команд
  trigger "!";

  # on - показывать статистику, например, !top публично,
  # notice - показывать статистику нотисом,
  # off - не реагировать на публичные запросы
  chanstatsdef "on";

  # сервисный сервер, который выполняет jupe
  jupemaster "services.dreamterra.net";

  # скрывать сервера в списке серверов,
  # указанные в ulines блоке IRC-сервера
  hideuline;

  # не вести логи
  #nologs;

  # преобразования текстовых смайлов в картинки в статистике каналов
  #smiley " :) ;) :-) ;-) ^_^ :-D :D :-P :P =) ;D :p ";

  # используется при крахе сервиса
  #dumpcore;

  # статистика об иркопах "/stats o" видна только иркопам
  hidestatso;

  # разрешить использовать TOKEN команды
  #tokens;

  #ts6;
};


###############################################################
# MySQL-БАЗА
# Раскомментировать (убрать /* */) блок, только если при
# конфигурации (/Config) на вопрос по поводу MySQL ответили "YES"
# выполнить файл ./mydbgen в директории с установленным сервисом
###############################################################

/*
sql
{
  # тип базы
  type mysql;

  # IP-адрес (хост) базы
  host 127.0.0.1;

  # пользователь mysql-базы
  user dim;

  # пароль пользователя mysql-базы
  passwd 123456;

  # имя базы данных
  name denora;

  # mysql unix сокет
  #sock /tmp/mysql.sock;

  # порт mysql сервера
  #port 3306;

  #retryonlost 0;
  #retries     6;
  #retrygap    10;
  #disableopt;
  #keepusers;
  #keepservers;
};
*/


#######################################
# ТАБЛИЦЫ MySQL-БАЗЫ
#######################################

tables
{
  # пользователи
  users user;

  # статистика пользователей
  csustats ustats;

  # часовая статистика пользователей
  stats stats;
  # каналы
  chan chan;

  # статистика каналов
  cscstats cstats;

  # часовая статистика каналов
  chanstats channelstats;

  # баны каналов
  chanbans chanbans;

  # исключения из банов каналов
  chanexcept chanexcept;

  # приглашения на канал
  chaninvite chaninvites;

  # статистика алиасов каналов
  csaliases aliases;

  # сервера
  server server;

  # админы, иркопы
  admins admin;

  # часовая статистика серверов
  servstats serverstats;

  # версии клиентов
  ctcp ctcp;

  # G-lines
  gline glines;

  # Q-lines
  sqline sqline;

  # SG-lines
  sgline sgline;

  # спамфильтры
  spamfilter spamfilters;


  # версии клиентов
  ctcp ctcp;

  # различные максимальные значения
  maxvalue maxvalues;

  ison ison;
  tld tld;
  chanquiet chanquiet;
  current current;
};


#######################################
# ИМЕНА ФАЙЛОВ
#######################################

filenames
{
  pid         stats.pid;
  motd        stats.motd;
  channeldb   chan.db;
  ctcpdb      ctcp.db;
  serverdb    server.db;
  chanstatsdb ChannelStats.db;
  tlddb       tld.db;
  excludedb   exclude.db;
  statsdb     stats.db;
  admindb     admin.db;

  # путь до web-страницы, куда Denora Stats будет писать статистику
  htmlfile "/home/dim/www/dreamterra.net/stats/index.html";
};


#######################################
# ВРЕМЯ СОХРАНЕНИЯ БЭКАПОВ
#######################################

backup
{
  # активировать бэкапы
  keepbackups;

  # период создания бэкапов
  freq 1d;

  # время хранения бэкапов
  keepfor 7d;
};


#######################################
# ВРЕМЕННЫЕ ИНТЕРВАЛЫ ДЛЯ ОБРАБОТКИ ДАННЫХ И ПОДКЛЮЧЕНИЯ
#######################################

timeout
{
  # интервал отправки/получения сетевых пакетов
  read 5s;

  # интервал отправки уведомлений об ошибках
  warning 1h;

  # интервал обновления бд
  update 5m;

  # интервал обновления web статистики
  htmlupdate 5m;

  # интервал между пингами серверов для проверки наличия лагов
  pingfreq 5m;

  # интервал между обновлении информации об аптаймах серверов
  uptimefreq 1h;

  # интервал между проверки доступности mysql сервера
  sqlfreq 5m;

  # интервал между очистками неактивных пользователей со статистики
  clearinactive 30d;

  # интервал между очистками неактивных каналов со статистики
  clearchaninactive 30d;

  # время хранения пользовательских данных в mysql
  usercache 29d;

  # интервал между обновлениями списка пользователей на каналах
  userfreq 10s;

  # время хранения серверных данных в mysql
  servercache 30d;

  # интервал между обновлениями списка серверов
  serverfreq 5s;
};



#######################################
# МОДУЛИ
# autoload - загрузка модуля при запуске Denora Stats
# delayed - загрузка модуля после подключения Denora Stats к IRC
#######################################


modules
{
  # модули по-умолчанию
  autoload ss_uptime;
  #autoload next_module;
  #delayed irc_delay_example;

  # если используешь MySQL - раскоментируй две строки ниже
  #delayed mysql_optimize;
  #delayed mysql_backup;

  # дополнительные модули, требующие отдельной установки

  #delayed log_ctcpversion;
  #delayed unreal_kline;
  #delayed ss_restricthelp;
  #delayed lastspoke;
  #delayed ircd_ports;
  #delayed seen;
  #delayed ircd_oper;
};



#######################################
# XML RPC (СЕРВЕР ПАРСЕР)
#######################################

xmlrpc
{
  # запускать XMLRPC сервер
  #xmlrpc_enable;

  # IP-адрес XMLRPC сервера
  #xmlrpc_host 127.0.0.1;

  # порт
  #xmlrpc_port 8080;

  # доступ к XMLRPC серверу только с указанных хостов
  #xmlrpc_accept 127.0.0.1;
  #xmlrpc_accept 192.168.0.1;
};


#######################################
# THREADING экспериментальная функция
# активировать, только если при конфигурации (/Config)
# на вопрос по поводу threads ответили "YES"
#######################################

threading
{
  #usethread;
};

#######################################

Запуск Denora Stats

./denorarc start
В IRC проверяем, прилинковался ли сервис к IRC-серверу
/whois DenoraServ
. Если нет, смотрим ошибки в логах сервиса /home/dim/irc/denora/logs/.

Настройка автозапуска Denora Stats (crontab)

Crontab через каждый N промежуток времени запускает указанный в его списке файл. В свою очередь в файле скрипт, проверяющий, запущена на ли программа. Если нет - запускает её.
  1. Переходим в папку с установленными Denora Stats:
    cd /home/dim/irc/denora
  2. Для удобства переименуем файл example.chk:
    mv example.chk denora.cron
  3. Даём файлу denora.cron права на выполнение:
    chmod +x denora.cron
  4. В файле denora.cron:
    nano denora.cron
    В параметре DENOPATH укажем путь до директории с установленным сервисом Denora Stats /home/dim/irc/denora/
  5. Вызываем редактор crontab:
    crontab -e
    Вставляем правило:
    */10 * * * * /home/dim/irc/denora/denora.cron > /dev/null 2>&1
    Путь до denora.cron укажите свой. В конце файла обязательно оставляем пустую строку. Данное правило означает, что каждые 10 минут будет выполняться файл denora.cron.

Команды Denora Stats

Для ввода команд открываем личные сообщения (приват) с ботом DenoraServ:
/msg DenoraServ команда
.

Дополнительные модули для Denora Stats

В более ранних версиях в Denora Stats по-умолчанию было установлено только два модуля: Дополнительные модули доступны в Github репозитарии Denora Stats.
Все существующие модули Denora Stats уже находятся в
/home/dim/irc/denora-src/src/modules/
и их требуется только подгрузить в IRC командой
/msg DenoraServ modload модуль
.

Установка дополнительных модулей:

  1. Переходим в директорию с исходниками Denora Stats:
    cd /home/dim/irc/denora-src
  2. Скачиваем нужный модуль с Github репозитария в директорию с исходниками модулей:
    wget https://raw.githubusercontent.com/denora/denora-modules/master/log_ctcpversion/log_ctcpversion.c -P src/modules
  3. Запускаем компиляцию модулей:
    make modules
  4. Запускаем установку модулей:
    make install
    Установленный модуль должен появиться в директории "/home/dim/irc/denora/modules/.
  5. Подключим модуль к уже запущенныму Denora Stats. В IRC выполним команду:
    /msg DenoraServ modload log_ctcpversion
    Если модуль не подгрузился, смотрим логи сервиса на наличие ошибок в /home/dim/irc/denora/logs/.

phpDenora расширение для Denora Stats

Дополнение к Denora Stats, которое генерирует много больше информации. Работает с PHP и MySQL. Проект phpDenora больше не поддерживается разработчиками. Вместо него разрабочтики Denora Stats предлагают MagIRC.
Прежде чем ставить phpDenora нужно убедиться, что Denora Stats сконфигурирован с поддержкой MySQL. В IRC, в привате у бота DenoraServ выполним команду set sql on. По ответу бота будет понятно. Если ошибка, то необоходимо повторно сконфигурировать и установить Denora Stats с поддержкой MySQL.
  1. Переходим в директорию сайта:
    cd /home/dim/www/dreamterra.net
  2. Скачиваем phpDenora:
    wget https://raw.githubusercontent.com/dimst/IRC/master/phpdenora-1.4.7.430.tar.gz
  3. Распаковываем скачанный архив:
    tar xf phpdenora-1.4.7.430.tar.gz
  4. Переходим в директорию с phpDenora:
    cd phpdenora
  5. Создаём конфигурационный файл "phpdenora.cfg.php":
    nano phpdenora.cfg.php
    Содержимое файла:
    <?php
    #######################################
    # Готовый рабочий конфигурационный файл
    # phpdenora.cfg.php для phpDenora 1.4.7 от DiM
    # Инструкция по установке и настройке
    # https://dim.st/irc/denorastats
    #######################################
    defined('_VALID_PARENT') or die('доступ запрещен');
         
    #######################################
    # ОСНОВНЫЕ НАСТРОЙКИ
    #######################################     
    // название IRC-сети
    $pd_netname = "Dreamterra";
         
    // сайт сети
    $pd_neturl = "http://dreamterra.net";
         
    // тип IRC-сервера, в нашем случае UnrealIRCd
    // другие типы IRCd:
    // asuka, bahamut, beware, charybdis, hybrid, hyperion,
    // inspircd, ircu, nefarious, nefarious13, ngircd, plexus3, ratbox, scarynet,
    // solidircd, ultimate3, unreal32
    $denora_server_type = "unreal32";
         
    // название сервера Denora Stats
    $denora_server_name = "denora.dreamterra.net";
         
    // адрес IRC-сервера
    $denora_irc_server = "dreamterra.net";
         
    // тема (внешний вид) веб-статистики
    // доступные темы: alternative, classic, futura, modern, next
    $pd_style = "next";
         
    // язык статистики
    // другие языки кроме русского:
    // en (English), de (German), es (Spanish),
    // fr (French), gr (Greek), it (Italian), nl (Dutch), pt (Portuguese),
    // pt_br (Brazilian Portuguese), ro (Romanian), ru (Russian), tr (Turkish)
    $pd_lang = "ru";
         
    // Сортировка статистики для юзеров по:
    // letters, words, line, actions, smileys, kicks, modes, topics
    // оставим по-умолчанию: сортировка по кол-ву написанных слов (самые болтливые)
    $pd_statsort = "line";
         
    // статистика для юзеров и каналов по-умолчанию за период времени
    // 0: всего, 1: за сегодня, 2: за неделю, 3: за текущий месяц
    $pd_stattype = "0";
         
    // скрывать uline-сервера из списка серверов в веб-статистике?
    // true - да, false - нет
    $denora_noshow_ulined = true;
         
    // какие сервера скрыть из списка серверов в веб-статистике?
    $denora_noshow_servers = "";
         
    // какие каналы скрыть из списка каналов в веб-статистике?
    $denora_noshow_chans = "#opers,#services";
         
    // блокировать информацию о скрытых (+s) и приватных (+p) каналах?
    // true - да, false - нет
    $denora_block_spchans = true;
         
    #######################################
    # НАСТРОЙКИ MySQL-БАЗЫ
    #######################################
    
    // пользователь базы
    $np_db_user = "dim";
         
    // пароль
    $np_db_pass = "123456";
         
    // название базы
    $np_db_name = "denora";
         
    // адрес (хост) сервера, где лежит база
    $np_db_host = "127.0.0.1";
         
    // порт
    $np_db_port = "3306";
         
    // названия таблиц
    $denora_user_db       = "user";
    $denora_chan_db       = "chan";
    $denora_chanbans_db   = "chanbans";
    $denora_chanexcept_db = "chanexcept";
    $denora_chaninvite_db = "chaninvites";
    $denora_gline_db      = "glines";
    $denora_sqline_db     = "sqline";
    $denora_maxvalues     = "maxvalues";
    $denora_server_db     = "server";
    $denora_ison_db       = "ison";
    $denora_tld_db        = "tld";
    $denora_cstats_db     = "cstats";
    $denora_ustats_db     = "ustats";
    $denora_current_db    = "current";
    $denora_serverstats   = "serverstats";
    $denora_channelstats  = "channelstats";
    $denora_userstats     = "stats";
    $denora_aliases_db    = "aliases";
    
    
    #######################################
    # ПРОЧИЕ НАСТРОЙКИ
    #######################################
    
    // временная зона
    $pd_timezone = "Europe/Moscow";
         
    // по сколько каналов/юзеров выводить на страницу?
    $pd_rlimit = 20;
     
    // сколько пользователей/каналов выводить в ТОПе?
    $pd_fptop = 10;
     
    // минимальное количество символов, необходимых (без маски), чтобы сделать поисковый запрос
    $pd_minchars = 3;
     
    // определять и показывать флаг страны, из которой юзер?
    // определяется по IP
    // true - да, false - нет
    $pd_statuslookup = true;
     
    // вести статистику посещения по странам?
    // true - да, false - нет
    $pd_entldstats = true;
     
    // вести статистику по версиям клиентов юзеров?
    // true - да, false - нет
    $pd_enverstats = true;
     
    // рисовать графики статистики?
    // true - да, false - нет
    $pd_ennetgraphs = true;
     
    // показывать иконку mirc'а, при клике на которую, будет подключение к IRC-серверу?
    // true - да, false - нет
    $pd_mirc = true;
     
    // адрес mirc-иконки
    $pd_mirc_url = "irc://irc.dreamterra.net:6667";
     
    // показывать иконку веб-чата, при клике на которую
    // будет перенаправление на веб-гейт?
    // для этих целей нужен заранее настроенный веб-гейт
    // true - да, false - нет
    $pd_webchat = false;
     
    // адрес иконки веб-чата
    $pd_webchat_url = "http://dreamterra.net/lightirc/?channels=";
     
    // показывать иконку миббита (mibbit.com), при клике на которую
    // будет перенаправление на веб-клиент миббита для подключения к серверу?
    // для этих целей нужено заранее зарегистрировать IRC-сеть на сайте миббита
    // true - да, false - нет
    $pd_mibbit = false;
     
    // ключ миббита, выдается после регистрации IRC-сети на сайте миббита
    $pd_mibbit_key = "";
     
    // покдлючить удаленный API?
    $pd_enremote = false;
     
    // ссылка на IRC-сеть на сайте irc.netsplit.de
    $pd_netsplit = "";
     
    // активировать графики статистики сети с сайта irc.netsplit.de?
    // true - да, false - нет
    $pd_netsplit_graphs = false;
     
    // активировать графики "Complete History" с сайта irc.netsplit.de?
    // есть IRC-сеть молодая, то этих глафиков не будет
    // true - да, false - нет
    $pd_netsplit_history = false;
     
    // ID (идентификационный номер) IRC-сети на сайте searchirc.com
    // если IRC-сеть зарегистрирована на SearchIRC, то заходим на
    // http://searchirc.com/network/названиеСети
    // щелк правой кнопкой по графику и в ссылке ищем параметр "n="
    // его значение и есть ID сети
    $pd_searchirc = "";
     
    // активировать иконку ранга IRC-сети на сайте SearchIRC,
    // которая будет отображаться на главной странице твоей веб-статистики?
    // true - да, false - нет
    $pd_searchirc_ranking = false;
     
    // показывать графики статистики IRC-сети с сайта SearchIRC?
    // true - да, false - нет
    $pd_searchirc_graphs = false;
     
    // активировать Google Adsense рекламу?
    // если не знаешь, что это, у тебя этого нет, не активируй
    // true - да, false - нет
    $pd_adsense = false;
     
    // твой ID (идентификационный номер) в Google Adsense
    // например "pub-2514457845805307"
    $pd_adsense_client = "";
     
    // назначить adsense канал
    $pd_adsense_channel = "";
     
    // активировать кеширование графиков?
    // включение увеличит скорость загрузки страницы,
    // но графики будут реже обновляться
    // true - да, false - нет
    $pd_graphcache = false;
     
    // путь до папки кеширования, имеющей права на запись в нее
    $pd_cachedir = "cache/";
     
    // на сколько минут кешировать графики?
    $pd_cache_graph = 60;
     
    // на сколько минут кешировать "pie" графики?
    $pd_cache_pie = 1;
     
    // на сколько минут кешировать "bar" графики?
    $pd_cache_bar = 1;
     
    // активировать сжатие страниц (gzip)?
    // требуется установленный gzip
    // true - да, false - нет
    $pd_gzip = false;
     
    // режим отладки (debug)
    // 0: отключен, 1: легкий, 2: показывать php и sql ошибки
    $pd_debug = 0;
     
    ?>
  6. Отредактируем конфиг Denora Stats denora.conf:
    nano /home/dim/irc/denora/denora.conf
    В блоке sql {...} ативируем две настройки:
    keepusers
    и
    keepservers
    .
  7. В браузере откроем phpDenora, который проведет все необходимые манипуляции с MySQL-базой
    http://dreamterra.net/phpdenora/
    .

MagIRC расширение для Denora Stats

Наиболее функциональное дополнение для Denora Stats с современным внешним видом.
  1. Переходим в директорию сайта:
    cd /home/dim/www/dreamterra.net
  2. Скачиваем MagIRC:
    wget https://raw.githubusercontent.com/dimst/IRC/master/magirc-1.0.2.tar.gz
  3. Распаковываем скачанный архив:
    tar xf magirc-1.0.2.tar.gz
  4. Переименовываем распакованную дикеторию:
    mv magirc-1.0.2 magirc
  5. Открываем в браузере
    http://dreamterra.net/magirc/setup/
    и завершаем установку, указав все необходимые параметры: параметры для подключения к MySQL-базе (сервер, имя базы, пользователь и пароль), логин и пароль администратора. Адрес админ-панели будет
    http://dreamterra.net/admin/
    .