Чат, его установка и настройка

Быстрая загрузка, простая установка и автоматическое обновление чата. Поддержка форматирования текста. Аутентификация и различные пиктограммы пользователей. Установка и настройка чата под Linux. Подготовка к инсталяции чата. Безопасность на хостинге.

Рубрика Программирование, компьютеры и кибернетика
Вид лекция
Язык русский
Дата добавления 27.04.2009
Размер файла 3,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

FAR удаляет файлы в корзину, что позволит без хлопот их восстановить, если потребуется.

Но если вы абсолютно уверены в себе и вам не хочется лазить в корзину, чтобы еще раз уничтожить уже однажды уничтоженные файлы и папки, можете удалить их в обход корзины по комбинации Shift-Del.

FAR Manager умеет не просто удалять в обход корзины, но и уничтожать, затирать файлы и директории. Для этого предназначена комбинация Alt-Del. Будьте очень осторожны с ней: восстановить не удастся уже ничего.

Внимательно смотрите на сообщения, которые FAR выдает перед удалением в корзину, удалением мимо корзины и полным уничтожением всех выделенных файлов и папок.

3.6 ДОПОЛНИТЕЛЬНАЯ TCL-БИБЛИОТЕКА

Нужно скачать библиотеку libtbcload1.3.so (20 Кб).

Изначально библиотека входит в 15/25-мегабайтный пакет TCLPRO, можно (но не нужно) взять с:

? для Linux, HP-UX, SGI IRIX - версия 1.4 http://dev.scriptics.com/software/tclpro/eval/1.4.html;

? для Linux - версия 1.5 ftp://tcl.activestate.com/pub/tclpro/download/tclpro15.suse71.tar.gz;

? для FreeBSD, Solaris - версия 1.5 http://dev.scriptics.com/software/tclpro/eval/1.5.html.

Если у вас Linux или FreeBSD, то скачивать 15/25МБ не нужно - возьмите готовый файл (около 20Кб):

? для Linux - http://php.spb.ru/files/libtbcload1.3.so.zip;

? для FreeBSD - http://php.spb.ru/files/libtbcload1.3.so_freebsd.zip.

ВНИМАНИЕ: ЭТО НЕ ZIP-АРХИВЫ! Не пытайтесь их распаковать. После скачивания переименуйте в libtbcload1.3.so. Скопируйте файл в daemon. Расширения ZIP дописаны только для того, чтобы легче было скачать.

Если у вас не Linux/FreeBSD, то скачайте пакет TCLPRO 1.4 или 1.5, установите в любой каталог (в /tmp например) или вручную распакуйте, далее через поиск найдите файл libtbcload1.3.so и перепишите в daemon. После этого все скаченное сотрите.

3.7 НАСТРОЙКА ЧАТА

Если вы не пользуетесь хостином, то настройте в Apache новый виртуальный сервер для чата. Корнем сайта (DocumentRoot) должен быть каталог /home/wwwchat/chat/www. Где именно находится www не важно. Важно, чтобы каталоги www и daemon были в одном месте (в одном каталоге chat). Если у вас эти два каталога не на одном уровне, то нужно будет намного больше путей в конфигах отредактировать (читайте их - там все написано).

Добавьте в описание вашего виртуального хоста Apache следующие команды:

php_value register_globals 1

php_value magic_quotes_gpc 0

php_value display_errors 1 <= показывать ошибки на экране

php_value display_startup_errors 1 <= показывать ситаксические ошибки парсинга на экране

php_value log_errors 1 <= логирование PHP-ошибок в лог Апача

php_value session.use_trans_sid 0

Если их добавить нельзя - не беда. В крайнем случае вы получите сообщение от детектора ошибок и будете вынуждены изменить то, что он попросит сделать. Все эти параметры можно вписать в файл .htaccess из каталога www.

Откройте _dima.php из www. Отредактируйте $wwwhost (совпадающий с ServerName из Apache), $os, $rand_password, $cookie_pass. Если хотите, измените порт в $wwwport для чата с 8888 на другой (но не на 80). Если на сервере работают другие чаты - то этот порт наверняка занят.

Откройте dima_chat.conf. Впишите туда то же самое, что было в переменных $wwwhost и $wwp из _dima.php. В $wwwport впишите то, что было в переменной $httpport из _dima.php (по-умолчанию в обоих местах стоит 8888, но можно изменить).

Настройте права на каталоги, запустив 2 комнады:

chmod -R 777 /home/wwwchat/chat/daemon

chmod -R 777 /home/wwwchat/chat/php_sess

Параметр "-R" - рекурсивная замена прав для подкаталогов и всех их файлов. Если сразу после запуска чата кто-то будет жаловаться, что не хватает прав на файлы, то выполните команду chmod -R 777 /home/wwwchat/chat/daemon еще пару раз.

Зайдите в daemon. Необходимо открыть файлы run_this и run_backgound и проверить, что они написаны правильно (или создать, если их нет). Откройте эти два файла, там будет примерно следующее: "bin/tclsh8.3 dima_chat.conf" и "bin/tclsh8.3 dima_chat.conf >/dev/null 2>&1 &". Первым словом (до пробела) идет путь "bin/tclsh8.3" и имя конфига чата из текущего каталога. Путь "bin/tclsh8.3" должен быть верным, т.е. при входе в каталог "bin" там должен быть файл "tclsh8.3". Если файлов нет - значит успешно TCL вы не установили. Если файл называтся чуть-чуть по другому, то напишите правильный путь. Короче говоря, в обоих файлах должен быть либо относительный, либо полный путь к файлам "tclsh" или "tclsh8.3". Кроме bin/tclsh8.3 можно написать просто "tclsh" (или "tclsh8.3"), если TCL был установлен админов сервера для общего пользования. В этом случае TCL будет грузится из каталога /usr/lib/tcl***, а не вашего локального каталога "bin/". Оба файла должны иметь chmod 777, чтобы их можно было запустить.

Последняя настройка dima_chat.conf:

? найдите строку set library "./libtbcload1.3.so" и расскомментируйте ее, удалив "#" из начала строки.

? найдите строку set library "tbcload13.dll" и закомментируйте ее, поставив символ "#" в самое начало.

Должно получится так:

set source "chat.tbc" ;# не пишите "./chat.tbc" или еще что-то, только "chat.tbc"

# библиотека загрузчика для windows, если у вас чат под винду

#set library "tbcload13.dll"

# библиотека загрузчика для unix, если чат под юних

set library "./libtbcload1.3.so" ;# пишите имя файла с ./точкой

3.8 ЗАПУСК ЧАТ-СЕРВЕРА

Запускаем из каталога daemon файл ./run_this .

Если видите картину:

$ ./run_this

Config loaded. Your TCL version: 8.3. Wait please...

[19:50] ------------------------------------------------------------

[19:50] CHAT.PHP.SPB.RU, ver 4.06, 06 September 2002

[19:50] ------------------------------------------------------------

[19:50] Chat software (c) Dmitry Borodin, Russia, St.-Petersburg

[19:50] ------------------------------------------------------------

[19:50] Before using, please read licence on http://php.spb.ru/chat!

[19:50] ------------------------------------------------------------

[19:50] PID: 10495, TCL Version: 8.3.4, hostname: chat.php.spb.ru

[19:50] Listing chat.php.spb.ru:8888 ...

[19:50] Encoding iso8859-1 ...

[19:50] Found charset for IRC-frame: windows-1251.

[19:50] Searching old session file...

[19:50] Opening main chat file: www-chat/chat.txt ...

[19:50] ok, file clean

[19:50] *** LOADED (0.35 sec) ***

то чат-сервер успешно запущен.

Если появляется ошибка с фразой "The TclPro ByteCode Loader is not available or does not support the correct version", то исправить можно так:

? убедиться в версии TCL - только 8.3.х (версия пишется первой строкой при запуске);

? убедиться, что файл libtbcload1.3.so находится в каталоге daemon;

? убедиться, что в dima_chat.conf есть строка set library "./libtbcload1.3.so" и что эта строка РАСКОММЕНТИРОВАНА (а строка set library "tbcload13.dll" наоборот, закомментирована);

? убедиться, что есть строка set source "chat.tbc", а не какая-либо другая ("./chat.tbc" даст ошибку);

? убедиться, что libtbcload1.3.so взят для вашей ОС (если пункты выше точно проверены, то проблема в несовместимости самой библиотеки и ОС).

Если чат не выдает эту ошибку (про "TclPro ByteCode"), то вы обязательно увидите название программы в большой заставке (примерно "CHAT.PHP.SPB.RU, ver 4.06, 06 September 2002"). Далее, чат может завершиться после любой из строк при обнаружении ошибок в конфиге dima_chat.conf. При выходе чат пишет ошибку в виде кода (число от 1 до 999) или нормальной фразы. Если чат вываливается без словесной ошибки, внимательно посмотрите на последнее число, которое выдаст чат. Намного более вероятнее появление нормальной ошибки, типа "нет прав открыть файл" или "невозможно открыть хост:порт". Ошибки из нормальных фраз не баги чата, а проблема настройки. Нужно прочитать сообщение об ошибке и исправить то, о чем там написано.

Если чат завершается с ошибкой после команды "Listen www.чат.ru:8888", то внимательно прочитайте сообщение об ошибке (используйте англо-русский словарь Lingvo или www.translate.ru). Причин может быть две. Либо указанный вами хост не принадлежит серверу, где вы запускаете чат, либо указанный порт занят. Порт может быть любым числом от 1025 до 65535 - попробуйте несколько разных, т.к. по-умолчанию порт 8888 может быть занят другим чатом, который запустил другой пользователь сервера. Чтобы убедится, что хост допустимый, выполните "ping www.чат.ru" (ваш хост укажите - $wwwhost) и далее "ping `hostname`" (напиште слово "hostname" в обратных апострофах!). Если обе команды ping укажут на один и тот же IP-адрес, то выбран допустимый хост. Если команды дадут 2 разных адреса, то вы ошиблись с $wwwhost.

Если видите фразу LOADED, то чат загрузился. Далее читайте логи, где их найти написано в FAQ.

Теперь можно открыть браузер и пойти на ServerName (http://$wwwhost/) вашего сайта.

Как только вы проверите, что работает, вернитесь в шелл, который занят чат-сервером. Прервите его (Ctrl+C) и запустите ./run_background В дальнейшем запускайте именно этот файл для старта чат-сервера. Запускать файл можно только из текущего каталога (т.е. сначала перейти в /home/wwwchat/chat/daemon). Помните - чат-сервер будет работать только до перезагрузки всего сервера хостера! После перезагрузки необходимо будет опять запустить ./run_background или настроить автозапуск с помощью крона или autostart (/etc/rc.d/rc.local).

3.9 СОВЕТЫ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ

3.9.1 После установки чата выдаются ошибки о том, что нет прав

Первый вариант решения: правильно выполнить всю инструкцию снова (все стираем и по новой). Второй вариант: остановить чат-сервер; стереть все из www-chat, www-sess, www-server; запустить chmod -R 777 /home/wwwchat/chat/daemon Как только права выставлены, запускаем чат и более ошибок не будет.

3.9.2 Запуск/останов чат-сервера, автозапуск и cron

Для работы чата необходимо, чтобы на сервере работала программа. Запускать программу можно вручную (зайдя в шелл), можно из cron'a (раз в 15 минут), можно при загрузке сервера провайдера. Если сервер перезагрузился, то необходимо запустить вручную или автоматически чат-сервер. Если чат упал с какой-то ошибкой, необходимо его опять запустить. Если на сервере хостинг-провайдера работает программа, убивающая процессы, которые работают длительное время, то вам нужно разобраться с этой проблемой. Это обнаружить легко - чат падает без сообщений об ошибках в лог-файлах.

3.9.3 Обычный запуск чата вручную

? Написать в шелле команду "cd /home/username/chat/daemon" (написать абсолютный путь к каталогу daemon чата)

? Написать там же команду "./run_background"

? Выйти из шелла (закрыть PuTTY или другой SSH/telnet/rlogin-клиент)

3.9.4 Отладочный запуск чата (поиск проблем и неполадок)

? cd /home/username/chat/daemon

?./run_this

После этого чат "захватит" вашу консоль, т.е. будет отображать ход своей работы в шелле, где вы его запустили. Так вы сможете смотреть все сообщения чата, даже те, что не идут в лог файл! Важно помнить, что при запуске чата с помощью run_this и после выхода из шелла (когда вы закроете SSH-клиент типа PuTTY или др. программу) - чат будет завершен и выгружен из памяти сервера. Только лишь run_background позволяет запустить чат в фоновый режим, что не захватывает вашу консоль (команда завершается мгновернно) и вы можете выйти из шелла, а чат останется работать. После запуска run_this чат запускается в своем обычном режиме, только с особенностью выгрузки при закрытии шелла. Смотрите на сообщения, что пишет чат-сервер. Если команда завершается быстро, т.е. после некоторых сообщений вы попадаете обратно в командную строку шелла, то значит произошли ошибки. Если ошибкок не будет, то чат останется работать и будет постоянно выводить в шелле свои отладочные сообщения. Все сообщения без слова "ERROR" не являются ошибками. Как только вам надоет смотреть на сообщения, нажмите Ctrl+C, чат будет прерван. Далее запустите run_background для нормальной работы чата (если ошибок не было или все исправлены).

3.9.5 Проверка, что чат-сервер работает

? Зайти в чат: очень не надежно, т.к. чат-сервер может быть запущен, но из-за кривых настроен войти в чат не удасться

? Зайти в админовку и посмотреть на статус запущенности чата

? Зайти по/в FTP/шелле в каталог www-server и посмотреть на дату файла runstatus.tmp: если он имеет дату обновления не более 1 минуты, то чат-сервер запущен (чат простоянно обновляет этот файл)

? Воспользоваться 'ps':

? Написать в шелле ps axu | grep tcl (команда выдаст 1/2/несколько строк или ничего не выст)

? Найти строку, в которой написан ваш логин, но НЕ написано слово 'grep'

если такой строки нет, то чат сервер не запущен; если есть - чат работает

3.9.6 Ручное завершение работы чата

Необходимо либо в админовке чата нажать "shutdown", либо войти в шелл и выполнить:

? cd /home/username/chat/daemon

? kill `cat www-server/dimachat.pid` (внимание: кавычки обратные)

Либо по-другому:

? ps axu | grep tcl

? найти строку, начинающуюся с числа и содержащую ваш логин (username)

? написать kill число (число из пункта выше)

Данная команда kill убивает любой запущенный процесс на сервере по его номеру. Далее выполните туже команду еще раз. Если вам напишут "такого процесса не существует", то значит первая команда действительно выгрузила чат.

3.9.7 Автоматический запуск чат-сервера через cron/автозагрузку

Чтобы в случае падения чата-сервера (или перезагрузки сервера) он был перезагрузжен через NN минут, нужно воспользоваться услугой хостера "cron" и/или "автозагрузка" (если такая есть у хостера). Как именно воспользоваться - заранее не предсказать. Это может быть "панель управления" на сервере хостера, может быть некий файл на диске (в вашем домашнем каталоге), может быть команда в шелле (crontab), возможно, надо написать словами по почте в тех.поддержку.

3.9.8 Подготовка чата к автозапуску

Делайте это очень тщательно, как написано.

? Проверить, что чат без ошибок запускается вручную через run_background, предварительно выгрузив чат из памяти (командой kill или кнопкой shutdown в админовке). Попытка запуска run_background без выгрузки чата ничего не даст.

? Открыть run_background в редакторе файлов

? Добавить в начало файла новую пустую строку

? Вписать на строке "cd /home/username/chat/daemon" (написать абсолютный путь к каталогу daemon чата)

? Оставшуюся вторую стоку (с командой tclsh) оставить как есть.

? Выгрузить чат из памяти (еще раз)

? "cd /" (перейти в корень диска хостера)

? "/home/username/chat/daemon/run_background" (написать абсолютный путь к каталогу daemon чата и далее файлу run_background)

? Проверить, что чат работает после всего этого.

3.9.9 Запуск чата через CRON или автозапуск

Про это в 2-х следующих пунктах.

? Для добавления чата в cron нужно вписать туда команду и период запуска. Команда: /home/username/chat/daemon/run_background (написать абсолютный путь к каталогу daemon чата и далее файлу run_background). Период запуска: 15 минут. Если заботливый админ хостера спросит, нормально ли запускать одно и тоже много раз, то знайте - чат не запускается второй раз, если уже запущен. Поэтому можно сколько угодно раз запускать чат, а он ни разу не запустится (только в первый раз).

? Для добавления чата в автозагрузку, нужно вписать туда туже команду, что и в случае с кроном. Автозагрузка намного предпочтительнее крона, т.к. чат-сервер будет запущен сразу после перезагрузки сервера хостера, а не в течении 1-15 минут, как в случае с кроном.

3.9.10 Для пользователей, страдаюших от не квалифицированных админов

Если админ не хочет помещать run_background в автозапуск сервер, ссылаясь на то, что так чат будет запущен от root'а, а не от вашего юзера, то скажите, что админ не прав. Действительно, запускать чат root'а или какого-либо другого юзера нельзя (только от вашего юзера). Но, чтобы таки поместить команду в автозагрузку, которая запустит чат с правами вашего юзера, научите админа новой замечательной команде: "su <username> -c <команда>". Т.е. на самом деле админ должен вписать не "/home/username/chat/daemon/run_background" (иначе будет запуск от рута и ваш чата работать не будет), а установку вашего юзера при запуске, т.е. вот это: "su wwwchat -c /home/wwwchat/chat/daemon/run_background" (где wwwchat - ваш логин).

Обратите внимение еще раз на пункт, где описывается процесс добавления в run_this и run_background команды смены каталога на ваш daemon. Без смены каталога cron или автозапуск работать не будет!

3. 10 УСТАНОВКА ЧАТА БЕЗ НАЛИЧИЯ Shell'а

Если у хостера нет услуги шелла, то поставить будет сложнее или просто невозможно. Но кратко, нужно следующее:

? Сообщите админу хостера, что вам на сервере нужен TCL версии 8.3.

Вы имеете право на это так же, как и пользоваться PHP или Перлом. Но если TCL нужной версии так и нет, то выполняйте инструкции только из FTP. Как только ВСЕ будет сделано, подумайте, как можно запустить ./run_background. Если придумаете и получится - установка завершена.

? Вариант 1 - попросить админа. Вы должны объяснить, что хотите запустить обыкновенный скрипт на языке TCL (это не страшнее запуска PHP, Perl или bash-скрипта). Данная программа (чат-сервер) является демоном, который будет постоянно работать с момента запуска. Она потребяет 3-4 Мб памяти, около 2Мб на диске (включая все PHP-скрипты, HTML, картинки и т.д.), расходует около 1% ресурсов процессора и генерирует трафик, который раз в 10-20 меньше, чем от чатов с refresh-обновлениями. Вы должны убедить админа, что чат-сервер - это очень легенькая по ресурсоемкости программа (это так и есть на самом деле). Если у вас в чате будет в среднем 10 человек одновременно, расход ресурсов близок к 0%. При 100-200 людях нагрузка может доходить до 1-2%.

Вариант 2 - для запуска чата используйте команду system() из PHP. Для этого в _dima.php поставьте $system_run=1 для активации авто/ручного запуска, $system_manual_run=1 для включения кнопки "запустить чат" в админовке. Для браузеров авторизуйтесь в чате и в админовке нажмите "запустить чат". PHP-скрипты проверят, разрешено ли вам использовать команду system() на вашем хостинге. Если да - чат-сервер будет запущен прямо из админовки! Если это получится, то так же поставьте в конфиге $system_autorun=1 (там, где идет проверка на $os=1) и чат будет запускаться автоматически. Если вам на хостинге не выделили отдельную копию Apache, то этот метод работать не будет. Если вы не знаете, выдели ли - то точно не выделили. Помните, у обычных хостеров system() запрещена. А даже если разрешена, то чат-сервер будет запущен не от вашего логина, а от юзера апача. Только если вам выделили отдельную копию Apache или админ хостера настроил sudo запуск вашего чата, то через system() и команду админовки чат будет нормально запускаться. Более подробно: 'help.php?help=12' в вашем чате.

Вариант 3 - используйте для запуска другие средства: наличие услуги "cron" у вашего хостера, возможность запускать CGI или Perl-скрипты. На многих хостингах в нагрузку к PHP дают доступ к каталогу CGI-BIN, из которого можно будет запустить скрипт (на языке Perl или bash) с одной командой - старта ./run_background. На Перле программа будет примерно такой: chdir "/home/wwwchat/chat/daemon"; exec "./run_background"; exit. Если дают cron, то просто пишите там команду (cd /home/wwwchat/chat/daemon; ./run_background) и чат будет запущен без проблем. Однако, как и в предыдущем пункте, помните о том, что чат-сервер нужно запускать с правами вашего пользователя, а не веб-сервера


Подобные документы

  • Методическое обеспечение теоретических занятий по теме "Установка и настройка Windows XP на рабочей станции". Настройка системы безопасности Windows XP. Методическое обеспечение лабораторных занятий по данной теме. Порядок устранения возможных проблем.

    методичка [55,7 K], добавлен 07.02.2011

  • Производственная деятельность предприятия. Архитектура ИС, программные средства, методы обработки и хранения информации, организация БД. Средства безопасности информации. Обновление установленного ПО, настройка антивируса. Установка Microsoft Office.

    отчет по практике [1,6 M], добавлен 26.12.2013

  • Общие сведения об операционной системе Linux. Анализ информации о серверах. Основные прикладные клиент-серверные технологии Windows. Сведения о SQL-сервере. Общая информация о MySQL–сервере. Установка и специфика конфигурирования MYSQL-сервера на LINUX.

    курсовая работа [1,3 M], добавлен 16.12.2015

  • Оптимизация компьютеров с помощью программы Auslogics Boostspeed. Установка операционной системы Windows XP и программы Microsoft Office 2010. Настройка локальной сети в компьютерном кабинете. Установка и обновление антивирусной программы NOD 32.

    отчет по практике [4,4 M], добавлен 06.04.2015

  • Обоснование необходимости создания приложения для общения в Интернете, информационный анализ его структуры. Логическое проектирование чата. Выбор программной платформы, аппаратных средств и среды разработки. Интерфейс программы и руководство пользователя.

    курсовая работа [287,7 K], добавлен 19.06.2013

  • Установка VirtualBox. Создание двух виртуальных машин с операционной системой CentOS. Настройка сетевых интерфейсов в режиме bridgeс и хоста как маршрутизатора для сети. Установка www-сервера. Настройка динамической маршрутизации по протоколу RIP.

    курсовая работа [807,5 K], добавлен 14.07.2012

  • Использование электронных ключей как средства аутентификации пользователей. Анализ методов идентификации и аутентификации с точки зрения применяемых в них технологий. Установка и настройка средств аутентификации "Rutoken", управление драйверами.

    курсовая работа [4,6 M], добавлен 11.01.2013

  • История возникновения чата. Виды программной реализации чатов. Описание приложения TCP/IP, построенного на клиент-серверной архитектуре. Особенности создания многопользовательского чата (Multy-user on-line). Листинг программного продукта онлайн общения.

    курсовая работа [657,0 K], добавлен 01.03.2010

  • Уникальные электронные ключи как средство аутентификации пользователей. Особенности смарт-карт и USB-ключей. Анализ функциональных возможностей, установка и настройка Rutoken. Утилита администрирования, управление драйверами, браузер сертификатов.

    курсовая работа [3,6 M], добавлен 23.01.2013

  • Анализ существующих технологий управления компьютерным классом. Установка программного обеспечения на компьютер Windows 2000/XP/7 и Linux debian. Выбор программного обеспечения для управления компьютерным классом. Настройка компьютеров учителя и ученика.

    курсовая работа [3,8 M], добавлен 20.06.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.