PHP

Чат Бородина. Установка и первоначальная настройка

Чат Бородина - это продукт для Unix/Windows, написанный на PHP и использующий передовые веб-технологии, например так называемый "непрерывающийся коннект", благодаря которому сообщения в чат поступают постоянно без периодических перезагрузок окна. Чат имеет массу преимуществ и очень удобен в применении.

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

Для установки Чата Бородина http://php.spb.ru/chat/ использовался VDS под управлением VDSmanager (на хостингах FirstVDS и ISPserver для тестирования использовались минимальные тарифные планы) с темплейтами ISPmanager (Apache 1.3, PHP4) и Soft2006 (Apache 2.2, PHP5)

Также для работы чата потребуется TCL 8.4, он также входит в эти темплейты.

Оригинальный проект автора не развивается с 25.10.2003 и, как выяснилось, неработоспособен под современными браузерами, так, например, не работает в Internet Explorer 6.0 и 7.0 из-за передаваемой авторизационной информации в строке адреса (Microsoft посчитал такой способ небезопасным), а в Firefox 2 качество работы оригинальной версии чата 4.60 бета 9 желает лучшего.

Поэтому я не рекомендую использовать ее (фактически вы и не сможите воспользоваться им, так как в настоящее время нереально найти интернет-пользователей работающих с браузерами 2003 года без патчей) и в данный момент существует несколько проектов, которые поддерживают программный продукт в актуальном и рабочем состоянии. Установка его проводится аналогично описанию в статье.

Остановимся на одном из них, он наиболее живой и работоспособный. Сайт разрабочиков ChatMod.Net.Ru предлагает как коммерческий дистрибутив (текст статьи не в коем случае не является их рекламой, просто авторский проект сейчас неработоспособен в силу причин выше), так и бесплатную версию, об установке которой пойдет речь в данной статье.

Итак, приступим к установке Чата Бородина 4.6.11b + ChatMOD.Net.RU Modifications version 0.1

Использовался виртуальный выделенный сервер с темплейтом ISPmanager (Apache 1.3, PHP4)

Создаем пользователя chat через панель управления, даем ему возможности использовать PHP как CGI и доступ к шелл для вашего для удобства (после установки и настройки чата доступ к shell можно забрать), либо используйте команду su -m chat под root для смены пользователя

Создадим домен chat.example.com в меню WWW домены, включим для него PHP в режиме как CGI (возможно Чат будет работать и в режиме PHP как модуль Apache, только надо будет выставить нужные права на каталоги, но я предпочел первый метод, возможно также его удастся запустить под nginx+fpm (http://ihtiandr.info/unix/ustanovka-i-nastroyka-nginx-i-php-fpm.html)

Зайдя с правами пользователя chat в шелл выполним следующие действия (в его домашней директории)

Поправим настройку PHP для PHP в режиме CGI создав в каталоге php-bin файл php.ini с параметрами необходимыми для работы чата
%vi php-bin/php.ini
magic_quotes_gpc = Off
register_globals = On

Скачаем с сайта разработчиков бесплатную версию чата Бородина
%wget http://chatmod.net.ru/download/chat-4-60-11-beta-plus-chatmod-net-ru-modifications-0-1-1.rar

Для работы чата потребуется также библиотека TCLPro для FreeBSD

На сайте разработчиков http://chatmod.net.ru/page/download.html уже есть библиотека libtbcload1.4.so собранная под FreeBSD 6.3, но я собрал ее вручную, так как первоначально ставил оригинальный чат автора, ничего в этом сложного нет

Зайдем на сайт разработчиков http://tcllib.sourceforge.net/ и в разделе download следует скачать файл
% wget ftp://tcl.activestate.com/pub/tcl/nightly-cvs/tbcload-20061023.tar.gz

Для сборки tbcload нам понадобятся все хидеры tcl, тех, которые стоят в системе будет недостаточно, поэтому скачаем TCL8.4 На сайте http://tcl.sourceforge.net/ в разделе download находим и скачиваем файл
% wget http://downloads.sourceforge.net/tcl/tcl8.4.19-src.tar.gz

Далее следует его распаковать и собирать tcl (устанавливать не будем)
%tar xzfv tcl8.4.19-src.tar.gz 
%cd tcl8.4.19/unix/
%./configure
%make

Затем распаковать и собирем tbcload
%cd /home/chat/data/
%tar xzvf tbcload-20061023.tar.gz
%cd tbcload
%./configure --with-tcl=/home/chat/data/tcl8.4.19/unix
%make

В каталоге /home/chat/data/tbcload появился файл libtbcload1.4.so - вернемся к нему позднее

Теперь следует распаковать и настроить чат

Удалите index.html который ISPmanager делает по-умолчанию
%rm /home/chat/data/www/chat.example.com/index.html 

Распакуйте архив
%rar x chat-4-60-11-beta-plus-chatmod-net-ru-modifications-0-1-1.rar

Скопируйте веб-часть чата
%cd chat-php-spb-ru-04/www
%cp -R * /home/chat/data/www/chat.example.com/

Скопируйте серверную часть
%cd /home/chat/data/chat-php-spb-ru-04
%cp -R daemon /home/chat/data

Теперь приступим к настройке, в каталоге /home/chat/data/www/chat.example.com/ отредактируйте файл __dima.php
%vi __dima.php

Адрес сервера
$wwwhost="127.0.0.1";

Замените на
$wwwhost="chat.example.com";

Впишите любую строку из случайных символов, от 10 до 20 символов в параметры
$rand_password='12345fsdfsadfsf3r3rfdsfsa67';
$cookie_pass='1f2sadf34sdf5as6df7asdfasdf3d';

Установите тип операционной системы - система Unix
$os=0;

Замените на
$os=1;

Установите локаль чата
$locale=0
$locale_name=""

Поменять на
$locale=1
$locale_name="ru_RU.CP1251";

Укажите ник главного администратора чата
$admfirst=" логин зарегистрированного админа в нижнем регистре без пробелов по краям! ";

Поменять на
$admfirst="admin";

Пропишем пути к каталогу с демоном
$dpath="../daemon";

Я прописал как
$dpath="../../daemon";

Также отредактируем файл __phpini.php

%vi __phpini.php Укажем путь до PHP-сессий

Вместо
iniset("session.save_path","../php_sess");

Прописать
iniset("session.save_path","../../tmp");

Теперь можно приступить к настройке демона, его конфиг называется dima_chat.conf
%cd /home/chat/data/daemon/
%vi dima_chat.conf

set wwwhost "127.0.0.1"

Поменять на
set wwwhost "chat.example.com"

Путь к каталогу с HTML-файлами: z-channel.txt, z-scroll.txt
set phppath "../www"
set phppath "../www/chat.example.com"

Как называется файл настоек чата (этот файл, которые вы читаете)
set chat_config [info script]
set chat_config dima_chat.conf

Библиотека загрузчика для unix
#set library "tbcload13.dll"
set library "./libtbcload1.4.so" 

Скопируйте библиотеку libtbcload1.4.so в каталог демона
%cp /home/chat/data/tbcload/libtbcload1.4.so /home/chat/data/daemon

И запустите демона (находясь в каталоге /home/chat/data/daemon)
%tclsh8.4 dima_chat.conf

Config loaded. Your TCL version: 8.4. Wait please...
------------------------------------------------------------
      CHAT.PHP.SPB.RU, ver 4.60.beta11 (2003-12-01)
------------------------------------------------------------
  Chat software (c) Dmitry Borodin, Russia, St.-Petersburg  
------------------------------------------------------------
Before using, please read licence on http://php.spb.ru/chat!
------------------------------------------------------------
[17:58] **Starting** pid: 1111; TCL version: 8.4.19; HostName: chat-borodina.ispvds.com
[17:58] Listing chat.example.com:8888 ... 
[17:58] OS name: FreeBSD chat.example.com 6.3-STABLE FreeBSD 6.3-STABLE #2: 
Mon Jun  9 06:45:30 CEST 2008     root@dione.ispsystem.net:/root
/src/sys/i386/compile/ISPSYSTEM  i386
[17:58] Encoding iso8859-1 ... 
[17:58] Found charset for IRC-frame: windows-1251.
[17:58] Searching old session file...
[17:58] Opening main chat file: www-chat/chat.txt ... 
[17:58] file clean - ok
[17:58] chmod 0777 www-chat/chat.txt - ok
[17:58] *** LOADED (1.65 sec) ***

Запуск прошел успешно

Заходите браузером (лучше использовать Internet Explorer 6, в 7.0 не тестировал, т.к. у меня его не оказалось под рукой) на http://chat.example.com/

Все работает, начальная настройка закончена. Зарегистрируйте пользователя admin (которого указали в $admfirst)

Избавимся от сообщения в правом фрейме
Notice: Undefined index: my_status in /home/chat/data/www/chat.example.com/frame_more.php on line 77

Для этого вновь отредактируйте __dima.php и поменяйте значение
define("debug",1)

на
define("debug",0)

Добавьте запуск демона в автозагрузку, для этого используйте cron пользователя chat
%crontab -e
@reboot cd /home/chat/data/daemon/ ; /usr/local/bin/tclsh8.4 dima_chat.conf >/dev/null 2>&1 &

Убедитесь что демон стартует после перезагрузки
# ps ax|grep tcl
 7818  ??  SJ     0:00,50 /usr/local/bin/tclsh8.4 dima_chat.conf

Теперь чат установлен и работает.

Установка на VDS под управлением темплейта Soft2006 проводится также аналогично данной инструкции, при этом 4.6.11b работает без проблем в отличие от оригинального чата автора, никаких проблем отмечено не было.
Добавлено: 21 Августа 2013 01:17:14 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...