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

Многие новые чаты наоборот имеют специфичные требования к серверу, например поддержку node.js. На обычных хостингах это пока что диковинка. Потому подобный чат установить будет не просто.

В этом бонусе мы познакомимся с несколькими PHP-чатами, c их возможностями и особенностями. Вы увидите, как каждый из них можно установить и настроить.

Коснёмся вопроса нагрузки от чата и чем можно заменить чат.

Но сначала мы разберёмся, какими вообще способами можно установить чат себе на сайт.

Способы установки

Способы установки чата (от простых к сложным):

  1. Скрипт, устанавливаемый из панели управления сервером.
  2. Плагин к CMS (joomla/wordpress/drupal/…).
  3. Сторонний сервис чата.
  4. Ручная установка скрипта PHP-чата.
  5. Установка бинарного приложения чата на сервере (не PHP-скрипт, а как ставили icecast).

Рассмотрим подробнее каждый из этих способов.

1. Скрипты из панели хостинга

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

Для хостингов с панелью ISPmanager скрипты чата могут быть тут:

ISPmanager web-скрипты

Если у вас ISPmanager и в панели есть пункт Web-скрипты (APS), перейдите туда и нажмите кнопку Установить. Появится окно с выбором скриптов. Среди них обычно есть и чаты. (Пример установки будет ниже).

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

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

Преимущества

Очень просто устанавливается. Иногда ещё и настраивается.

Недостатки

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

2. Плагины для CMS (Системы справления сайтами)

Если вы пользуетесь какой-либо системой управления сайтом, поищите расширения для неё. Несколько чатов найдётся. В популярных движках, например Wordpress, Joomla, найти и установить расширения можно прямо из админки CMS.

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

Подробно этот способ не разбираем, если вам он не подошёл, далее будут универсальные.

Преимущества

Простая установка. Чат сразу же интегрирован с сайтом. Настройки прямо из админки.

Недостатки

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

3. Сторонний сервис

Следующий простой вариант добавить чат себе на сайт — найти сервис чата. Установка обычно сводится к простому добавлению HTML-кода чата на страницу.

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

Поэтому и вариант стороннего сервиса подробно мы не рассматриваем.

Безопасность

Встречаются 2 вида установки. Первый — через фрейм (IFRAME), второй — через скрипт (SCRIPT). Первый способ безопасный, чат не может получить доступ к вашей странице. Второй способ, если скрипт находится на чужом сервере, не самый безопасный. Т.к. скрипт чата имеет полный доступ к странице.

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

Поэтому IFRAME предпочтительнее.

Преимущества

Очень простая установка. Простая настройка. Никакой нагрузки на ваш сервер. Может быть служба поддержки.

Недостатки

Обычно платный или с рекламой. Требуется регистрация где-то ещё. Сторонний — дополнительная зависимость и недостаточная гибкость. Возможны проблемы с безопасностью.

4. Ручная установка

Если у нас есть веб-сервер с поддержкой PHP (и возможно MySQL), можем установить чат на него. Этот вариант чуть сложнее предыдущего. Но не сильно отличается от установки каких-либо скриптов, с которой вы скорее всего уже встречались. Если достаточно давно в онлайн-бизнесе.

Для установки чата как правило достаточно загрузить (upload) файлы чата в папку, доступную из интернета. И возможно настроить кое-что в файлах чата. Для чатов с MySQL дополнительно указать параметры базы данных.

Часто первичная настройка выполняется прямо при запуске чата через веб-интерфейс.

Некоторые хостинги кроме PHP поддерживают ряд других скриптовых языков, например Perl/Pythos. В этом случае можно установить также чат на Perl или Python.

Мы подробно разберём, как устанавить чат вручную.

Преимущества

Богатый выбор чатов. Гибкая настройка. Всё под контролем.

Недостатки

Установка вручную.

5. Бинарное серверное приложение/редкие серверные языки

Некоторые чаты можно установить прямо приложением на сервер, через SSH. Примерно так же, как мы устанавливали сервер вещания icecast. Но сложнее. Способа в 5 команд я не знаю : )

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

Сюда же относим чаты с особыми требованиями к серверу.

Преимущества

Высокая производительность.

Недостатки

Нужен свой выделенный сервер или VPS. Очень сложная установка и настройка, нужен спец.

Ручная установка. Какой чат выбрать?

Зависит от потребностей.

Например, если вебинар закрытый, для узкого круга людей, которым вы доверяете, подойдёт самый простейший чат.

Если же в чате много участников, среди которых могут оказаться мелкие «хулиганы», пригодится чат с модераторскими возможностями.

Для средних вещаний, на ~ 200 человек, подойдёт не каждый PHP-чат. Тут нужен оптимизированный AJAX-чат, который не нагружает сервер и не расходует трафик. Либо чат с технологией longpolling.

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

Значения приблизительные. Число участников сильно зависит от конкретного чата, настройки и мощностей сервера. Тут заранее сказать что-то сложно, можно только проверять.

Разберём несколько чатов, клиентская часть которых работает на простом html+js(ajax). Существуют также чаты, использующие flash/java на стороне клиента. Но они менее удобны и поддерживаются не всеми браузерами. Наример, на мобильных платформах будут сложности.

Простейшие чаты.

Подойдут только для небольших закрытых вещаний. Могут иметь «дыры» в безопасности, позволяющие хулиганить. Поэтому желательно не размещать ссылку в открытом доступе. Хороший вариант — запаролить страницу через htaccess.

jsRequestChat 0.1

Состоит из двух файлов, для настройки в html достаточно указать url сайта, где расположен чат. Лента чата будет содержаться в текстовом файле chat.crack. Файл создаётся в папке, где установлен скрипт. Можно удалить. Чат очень простой, никаких проверок. Например, несколько пользователей могут взять одно имя. Оно и не удивительно: php-код чата занимает 10 cтрок.

Для установки следует подправить html файл чата. В нём прописываем полный путь к папке чата. Бывают проблемы из-за кеширования, поэтому в одной строке добавляем ? и + Math.random(). В видео это показано. А ещё показано, как запаролить папку.

Simple PHP Chat

Простой чат, поддерживает несколько «комнат». Число сообщений ограничивается (старые удаляются, истории нет). Но за счёт этого очень легковесный, не нагружает сервер и может выдерживать довольно много пользователей. Без модерации.

Подправив файл можно создать «комнаты».

С модерацией и MySQL

AJAX Chat

  • Множество настроек.
  • Возможность как регистрации (вручную или интеграция с CMS), так и гостевого доступа.
  • Есть модерация.
  • Есть русский язык.
  • Темы оформления.
  • Можно удалять сообщения в чате.

Довольно интересный чат, продолжает развиваться.

BlaB! 7

Довольно любопытный чат с редкими возможностями.

  • Встроена функция рисования и воспроизведения рисунков.
  • Модераторские возможности ограничены (в платной версии больше возможностей)
  • Поддерживает русский язык
  • Поддерживает регистрацию и гостевой вход
  • Темы оформления.
  • и много чего ещё.

Установка старой версии BlaB! Lite 4.2 прямо из панели управления:

Установка новой версии с сайта:

Нагрузка от чата

При больших вещаниях нагрузка от чата может быть существенной. PHP-чаты потребляют довольно много ресурсов при большом числе участников. Особенно, если они расположены на обычном shared-хостинге. И сама технология, по которой работают PHP-чаты довольно неэффективна. Например, они не могут держать открытым соединение с пользователем, чтоб присылать обновления. Чаще пользователь сам периодически опрашивает скрипт чата, что приводит к огромному числу запросов, когда пользователей много.

Чаты, выдерживающие высокие нагрузки, могут быть построены на базе протокола XMPP или IRC. Со вторым сложнее, некоторые хостинги не разрешают его устанавливать использовать. Но в любом случае для такого чата понадобится серверный backend и специалист-админ.

Другой вариант уйти от высоких нагрузок — использовать сервисы.

Вместо чата

Вместо чата можно использовать сервисы комментариев с живым обновлением ленты. Это могут быть виджеты комментариев социальных сетей. Или даже лента твиттера с определённым #хэштегом. Но эти комментарии не очень удобны.

Удобнее специальные комментарии для сайтов. Например, Disqus, Cackle Комментарии и другие.