Смекни!
smekni.com

Чат, его установка и настройка (стр. 4 из 7)

Скачайте следующие файлы к себе на локальный компьютер:

● Основной архив: файл с именем chat-php-spb-ru-****.exe (зависит от номера версии). Взять последнюю версию можно на этой странице. Скачивайте именно последнюю версию. Это будет чат для Windows, который с помощью данной инструкции вы запустите под Unix'ом.

● Дополнительный файл: tcl8.3.4.tar.gz (2,5Мб). Если вы работаете с модема, то не скачивайте этот файл, ниже будет написано, как загрузить этот файл прямо на диск хостера, минуя ваш локальный компьютер.

● Дополнительную библиотеку:

◘ Для Linux серверов: libtbcload1.3.so.zip (17Кб)

◘ ДляFreeBSDсерверов: libtbcload1.3.so_freebsd.zip (20Кб)

Если вы не знаете название своего сервера - спросите администратора или скачайте оба файла.

3.2 USER/GROUP

Если вы root - создайте нового юзера wwwchat. Если вы просто пользуетесь хостингом у провайдера, то выполняйте все под своим логином. Дальше он будет называться wwwchat. Домашний каталог /home/wwwchat (мысленно заменяйте его на ваш, реальный).

Выберем место, где будет каталог чата, пусть /home/wwwchat/chat. Тогда каталог чат-сервера будет в /home/wwwchat/chat/daemon, а корень веб-сайта /home/wwwchat/chat/www. Не ставьте чат в /home/wwwchat, а создайте в /home/wwwchat любой подкаталог. Внимание: ставить чат можно куда угодно и в любые каталоги. Но в инструкции они названы так, чтобы было проще и не надо было редактировать конфиги.

Если у вас уже был чат версии 4.05 или ниже, то этот ставить ПОВЕРХ него нельзя (можно взять только базу пользователей). Поэтому в дальнейшем речь идет о полностью пустых каталогах, которые вы будете создавать. Как только новый чат будет работать, вы скопируете базу юзеров (каталог 'db') из старого каталога чата в новый каталог. Больше из старого чата брать нечего.

Будущая структура каталогов (сейчас ничего создавать не надо):

/home/wwwchat этот каталог является домашним для юзера wwwchat

/home/wwwchat/tmp для временных файлов

/home/wwwchat/chat тут будет корень чата

/home/wwwchat/chat/www PHP-скрипты

/home/wwwchat/chat/www/src PHP-скрипты, каталог не должен быть виден из браузера

/home/wwwchat/chat/www/skin файлы шаблонов чата

/home/wwwchat/chat/daemon чат-сервер (постоянные секретные файлы)

/home/wwwchat/chat/php_sess файлы сессий PHP-скриптов (временные секретные файлы)

/home/wwwchat/chat/readme.html этот файл вы сейчас читаете (копию)

Структура каталога daemon:

daemon/ чат-сервер

daemon/db2 база данных юзеров: не шифров. пароли, рег. данные (сохраните при переносе!)

daemon/bin библиотеки для unix-версии чат-сервера (каталог появится при установке TCL)

daemon/lib библиотеки для windows-версии чат-сервера

daemon/logs логи от чат-сервера

daemon/www-chat временные файлы для PHP-скриптов и логи чата от PHP

daemon/www-conf конфигурация чата для PHP-скриптов (сохраните при переносе!)

daemon/www-server временные файлы чат-сервера

daemon/www-sess временные файлы профилей пользователей, для чат-сервера и PHP-скриптов

Если вы root - создайте группу wwwchat и поместите туда юзера wwwchat и юзера, из под которого работает ваш веб-сервер. Если вы просто на хостинге, то вам придется подумать над тем, чтобы никто, кроме вас не смог читать каталог демона чата. Там хранятся номера сессий посетителей, пароли и прочая секретная информация. Кроме того, веб-сервер должен иметь права в определенные каталоги демона чата, чтобы писать и читать там общие файлы. Разумеется, никто, кроме вас из под веб-сервера не должен иметь возможность писать в каталог демона.


3.3 БЕЗОПАСНОСТЬ НА ВАШЕМ ХОСТИНГЕ

Множество людей пользуется публичными хостинг провайдерами для запуска чата. Если вы один из них, то после установки чата попросите администратора чата ради безопасности проделать следующие операции (можете просто переслать данную главу о безопасности). PHP-скрипты от пользователя Apache и чат-сервер от вашего логина (мы называем его "wwwchat") создают на диске файлы/каталоги с атрибутами 0777. Это нужно, чтобы оба юзера (Apache и чат-сервер от юзера wwwchat) могли писать/читать одни и тот же каталог/файлы. В обязанности администратора хостера входит задача не допустить доступ к таким файлам ВНУТРИ КАТАЛОГА ПОЛЬЗОВАТЕЛЯ (/home/wwwchat). Это можно достигнуть только одним путем:

● добавить группу с любым именем, допустим group_chat, внести в нее юзеров Apache и wwwchat

● сделать chown -R wwwchat:group_chat/home/wwwchat и chmod 750 /home/wwwchat (drwxr-x---)

Тогда другие программы, запущенные другими юзерами, не смогут попасть в домашний каталог /home/wwwchat пользователя wwwchat. Apache из-за safe_mode не даст войти другим польхователям в каталог и будет иметь право входить в каталог из PHP-скриптов от пользователя wwwchat.

Если вы ничего не поняли из данной главы - не расстраивайтесь. Положитесь на порядочность и компетентность админа вашего хостера, который должен был обеспечить защищенность пользователей сервера друг от друга (данный чат не требует каких-то хитрых защит, а элементарную безопасность). Но если вы можете проверить - проверяйте правильность настройки прав на сервере! Имеется очень много хостеров, где пользователи могут легко читать чужие файлы (например, пароли и номера сессий). В чате нет ни одной уязвимости, которая бы позволила испортить его работу (путем кражи паролей пользователей или номеров сессий), но от сервера хостера, где любой человек может купить за небольшие деньги логин пользователя, и скопировать все ваши файлы, никто не защищен. Крупные и долговечные хостеры как правило настроены нормально (либо из-за компетентных админов, либо путем долгих проб и собственных ошибок). "Настроены нормально" - это когда пользователь может читать/писать только свои файлы из шелла или из PHP скриптов. Поставьте себе полезную программу для путешествий по диску хостера и проверьте, сможет ли она зайти в чужие каталоги: phpRemoteView.

3.4 УСТАНОВКА TCL

Скачайте файл tcl8.3.4.tar.gz, если еще этого не сделали (именно этот, но можно и tcl8.3.*.tar.gz) к себе на локальный компьютер и потом перепишите по FTP на сервер хостера в /home/wwwchat с любого из этих адресов:

● http://telia.dl.sourceforge.net/sourceforge/tcl/tcl8.3.4.tar.gz

● http://php.spb.ru/files/tcl8.3.4.tar.gz

● http://prdownloads.sourceforge.net/tcl/tcl8.3.4.tar.gz

● http://www.tcl.tk/software/tcltk/downloadnow83.html

● ftp://tcl.activestate.com/pub/tcl

● FTP-поиск

● Google поиск

Можно поступить более быстро, загрузив этот файл прямо на сервер хостера. Для ускорения загрузки рекомендуется качать этот файл не из браузера в ваш локальный компьютер, а прямо из шелла провайдера. Для этого перейдите в шелл, зайдите в домашний каталог /home/wwwchat и запустите загрузку: wget URL, где URL конечный(!) адрес файла. Не все примеры URL выше являются точными адресами файлов - некоторые ссылки ведут на HTML страницы, а не файлы. Правильный пример команды: wget http://php.spb.ru/files/tcl8.3.4.tar.gz

Зайдите в шелле в /home/wwwchat. Распакуйте архив: tar -xvzf tcl8.3.4.tar.gz (если вы скачали другой архив, укажите правильное имя файла). Программа создаст в текущем месте (где был архив) подкаталог tcl8.3.4. Таким образом, после выполнения команды и если архив был в /home/wwwchat/, появится каталог /home/wwwchat/tcl8.3.4. Этот каталог потом тоже надо будет стереть.

Шаг 1. Перейдите в tcl8.3.4/unix Конфигурация TCL, выполните команду: ./configure --disable-shared --prefix=/home/wwwchat/chat/daemon Обратите внимание - мы пишем тот путь, где будет каталог daemon нашего чата. Т.е. компилить TCL нужно именно в каталог daemon, а не куда то еще. Если вы скомпилите его не туда, то скопируйте в daemon. Параметр "--prefix" указывает, куда будет установлен TCL.

Убедитесь, что команда выполнена без ошибок, т.е. последние строки команды такие:

.........

.........

checking how to build libraries... shared

updating cache ./config.cache

creating ./config.status

creating Makefile

creating tclConfig.sh

Шаг 2. Далее выполните из того же каталога (tcl8.3.4/unix) команду make (и аналогично убедитесь, что она завершается без ошибок). Если вам напишут небольшое сообщение и команда завершится мгновенно, то видимо компиляция запрещена на вашем хостинге. Обратитесь к админу хостера и сообщите, что хотите поставить к себе в каталог интерпретатор популярного языка TCL. Если будут ошибки - разбирайтесь админом сервера.

Шаг 3. Далее выполните там же make install (и опять аналогично убедитесь, что она завершается без ошибок).

Итак, вот, что надо было сделать (где первоначально располагался tcl8.3.4.tar.gz - не важно):

tar -xvzf tcl8.3.4.tar.gz

cd tcl8.3.4/unix

./configure --prefix=/home/полный/путь/к/daemon --disable-shared

make

make install

Сотрите лишние каталоги:

/home/wwwchat/tcl8.3.4

/home/wwwchat/chat/daemon/man

/home/wwwchat/chat/daemon/tcl8.3/http***

/home/wwwchat/chat/daemon/tcl8.3/msgcat***

/home/wwwchat/chat/daemon/tcl8.3/opt***

/home/wwwchat/chat/daemon/tcl8.3/tcltest***

файлы, бОльшие 5Кб, в /home/wwwchat/chat/daemon/tcl8.3/encoding

файл дистрибутива tcl8.3.4.tar.gz

Где "***" - любое окончание имени. Можно отложить удаление этих файлов до окончательной установки чата, если лишние 2Мб не помеха.

3.5 РАСПАКОВКА ДИСТРИБУТИВА

Распакуйте основной RAR-архив chat-php-spb-ru-****.exe в /home/wwwchat/chat так, чтобы каталог daemon из архива скопировался в /home/wwwchat/chat/daemon.

ИСКЛЮЧЕНИЕ: не копируйте содержимое каталога daemon/lib. Т.е. распакуйте и скопируйте все, кроме lib - там файлы библиотек под Windows, а они нам не нужны (лишние 700Кб занимают).

Рекомендуется распаковать архив сначала в Windows'e на своем компьютере, а потом копировать по FTP на сервер провайдера. Не забудьте, что любое копирование по FTP нужно проводить при включенном BINARY MODE в вашей FTP-программе (иначе чат не будет работать, ссылаясь на кривое копирование файлов по FTP).

Сотрите лишние файлы в каталоге daemon:run_this.bat, run_this_loop.bat, tbcload13.dll.

3.5.1 FTP-модуль файлового менеджера FAR Manager

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

Перекинуть новые файлы на сайт, обновить веб-страницы и рисунки, исправить ошибки, создать или переименовать папки, поменять структуру сайта и все, что нужно для поддержки не слишком обширной персональной страницы, на которой не требуется ежедневно и ежечасно обновлять десятки файлов, можно сделать с помощью FAR Manager.

В меню дисков (Alt-F1 или Alt-F2):

под списком дисков есть несколько строк для вызова плагинов. Строка под номером 2 носит название FTP, она и перенесет нас на одноименную панель.