Довольно старенький и тормозной веб-гейт, но имеет место быть для коллекции. Есть более продвинутые, быстрые, красивые аналоги - такие как LightIRC, KiwiIRC, QwebIRC.

Установка CGI-IRC

Работаем через SSH клиент в Linux сервере Debian 7 от супер пользователя root.
  1. Перед установкой CGI IRC проверим и настроим поддержку CGI в веб-сервере Apache2 - от суперпользователя root проверим и включим модуль "cgi" в Apache2:
    a2enmod cgi
  2. Откроем файл "/etc/apache2/sites-available/сайт", описывающий настройки сайта у веб-сервера, упоминание о CGI:
    nano /etc/apache2/sites-available/сайт
    В блок "<VirtualHost *:80>....</VirtualHost>" добавим код:
    <VirtualHost *:80>
    .......
    ScriptAlias CGI /home/dim/www/dim.st/cgi
    <directory /home/dim/www/dim.st/cgi>
    SetHandler cgi-script
    Options +ExecCGI
    Order allow,deny
    Allow from all
    </directory>
    .......
    </VirtualHost>
    "/home/dim/www/dim.st/cgi" - это путь до директории (у вас он другой), в которой будут выполняться все CGI и PERL скрипты.
  3. Работаем от обычного пользвателя. Переходим в корень сайта:
    cd /home/dim/www/dim.st
  4. Создаём директорию для CGI скриптов и переходим в неё:
    mkdir cgi && cd cgi
  5. Скачиваем CGI-IRC:
    wget https://raw.githubusercontent.com/dimst/IRC/master/cgiirc-0.5.10.tar.gz
  6. Распаковываем скачанный архив:
    tar xf cgiirc-0.5.10.tar.gz
  7. Переименовываем распакованную директорию:
    mv cgiirc-0.5.10 cgi-irc
  8. Преходим в директорию с CGI-IRC:
    cd cgi-irc
  9. Даем права 755 всем cgi файлам (без этого веб-сервер будет выдавать 500 ошибку):
    chmod 755 *.cgi
  10. Создаём конфигурационный файл cgiirc.config:
    nano cgiirc.config

Настройка CGI-IRC

Редактируем cgiirc.config под свой IRC сервер:
#######################################
# Конфигурационный файл cgiirc.config
# для CGI:IRC 0.5.10
# Инструкция по установке и настройке
# https://dim.st/irc/cgi-irc
#######################################

# адрес IRC сервера
default_server = dreamterra.net

# основной порт для пользователей
default_port = 6667

# автозаход на канал
default_channel = #dreamterra

# предлагаемый ник по-умочанию
# вместо "???" будут генерироваться случайные числа
default_nick = dreamer[???]

# основная кодировка IRC-сервера
irc charset = cp-1251

# quit-сообщение пользователя CGI-IRC по-умочанию
quit_message = http://dreamterra.net/cgi-irc/

# приставка перед quit_message
#quit_prefix = CGI:IRC

# кодирование ip-адреса пользователя:

# 0 - постоянный неизменяемый идент,
# указынный в настройке default_user,
# в хосте IP-адрес сервера, в имени то,
# что указано в настройке default_name

# 1 - постоянный неизменяемый идент
# указынный в настройке default_user,
# в хосте IP-адрес сервера, в имени закодированный
# IP-адрес + имя, указанное в настройке default_name

# 2 - в иденте закодированный IP-адрес,
# в хосте IP-адрес сервера, в имени закодированный
# IP-адрес + имя, указанное в настройке default_name

# 3 - в иденте закодированный IP-адрес,
# в хосте IP-адрес сервера, в имени реальный IP-адрес + имя, указанное в
# настройке default_name
encoded_ip = 3

# реальное имя по-умочанию
default_name = CGI:IRC user

# идент по-умочанию. работает при кодировании
# IP-адреса 0 и 1
default_user = cgiirc

# что показывать перед подключением. Если не трогать,
# то login basic
#login basic = Nickname, Channel
#login advanced = Nickname, Realname, Channel, Server, Password, Format, Character set 
# максимальное кол-во пользователей,
# которые могут пользоваться CGI:IRC
# одновременно - защита от излишней нагрузки
max_users = 20

# будет ли пользователь иметь возможность
# указывать канал для входа перед подключением
# 0 нет, 1 - да
allow_non_default = 1

# возможность перед подключением указывать канал
access_channel = .*

# возможность перед подключением менять сервер
#access_server = .*

# возможность перед подключением менять порт сервера
#access_port = .*

# путь до иконок, картинок
image_path = images

# язык веб-гейта по-умолчанию
format = russian

# показывать результат /whois в открытом окне?
output active = reply whois

# показывать результат /names в открытом окне канала?
output status = reply names

# какие команды выполнять после подключения?
#perform =

# показывать время перед никами? 1- да, 0 - нет
interface timestamp = 1

# показывать графические смайлы? 1- да, 0 - нет.
# по-умолчанию 0
interface smilies = 1

# шрифт
#interface font = monospace

# показывать ник перед строкой ввода? 1 - да, 0 - нет
#interface shownick = 1

# показывать крутую прокрутку? (не рекомендуется)
#interface scrollback = 1

# включить звуковые уведомления по умолчанию?
#interface actsound = 1

# включить звуковые уведомления при входе на канал по умолчанию?
#interface joinsound = 1

# скрипты
script_nph = nph-irc.cgi
script_form = client-perl.cgi
script_login = irc.cgi

# через сколько отключать пользователя от cgi-irc, если нет пинга (в секундах) session_timeout = 18000
# что НЕ показывать в чате? входы/выходы/отключения и прочее
#output none = join, part, quit, raw 439, reply welcome, reply yourhost, reply created, reply myinfo, reply protoctl, raw 251, raw 252, raw 254, raw 255, raw 265, raw 266, looking up, connecting, reply motd start, reply motd end, reply names

# при запросе /ctcp ник userinfo показывать ip адрес и юзерагент?
# по-умолчанию да - 1
#extra_userinfo = 0

# списки ip-адресов, для которых доступ с гейту разрешен или запрещен
#ip_access_file = ipaccess.deny,ipaccess.allow

# максимальная длинна ссылок. по умолчанию 120
#linkshorten = 120

# не показывать цвета
#removecolor = 1

# это не виртуальный хост
#vhost = 0.0.0.0

# то же что и выше, но для ipv6
#vhost6 =

# преимущественно ipv6, чем ipv4. Лучше не трогать
#prefer_v6 = 0

# не трогать. авторы пишут, что могут быть проблемы
#socket_prefix

# запаролить гейт
#admin password =

# пароль сервера
#server_password =

# какой-то спуфинг
#webirc_password =

# перенаправлять куда-то...
#form_redirect = http://dim.st/...

# зеркала этого гейта
#balance_servers = http://...

# JavaScript document.domain
#javascript_domain = dim.st

# непонятно..
#access_command =

# непонятно..
#realhost_as_password = 1

# непонятно..
#login secret =

# непонятно..
#disable_format_input = 1

# анти-прокси черные листы
# убери решетки перед dnsbl, если хочешь включить
#dnsbl = dnsbl.dronebl.org
#dnsbl = ircbl.ahbl.org
#dnsbl = tor.dnsbl.sectoor.de
#dnsbl = rbl.efnet.org
#dnsbl = dnsbl.swiftbl.org
#dnsbl = dnsbl.proxybl.org

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

Настройка внешнего вида CGI-IRC

Цветовая гамма, шрифты и прочее настраивается в CSS файлах в директории
/home/dim/www/dim.st/cgi/cgi-irc/interfaces/