parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Специально для Woofer....

Sanja (v.2) 06.05.2002 23:00

Для начала цитата:
- Каа, скажи. Багира достанет во-он тот банан?
- Нет, Маугли, не достанет.
- А Балу достанет?
- Нет, Маугли, не достанет.
- А Акелла достанет?
- Нет, Маугли, не достанет.
- А я достану?
- Ты, Маугли, кого угодно достанешь.
Лично меня - достал.... ох, как достал... Так, что отвязаться захотелось..

--------------------------------

Итак, поехали...

Цитирую:

структура хостинга такая (tree):
|--pulic_html (тут лежит .htaccess - содержимое его ниже и файл jandex.html - файл примера "Урок 1" из мануала и все его причиндалы)
|--cgi-bin (тут parser3.cgi для Linux RH 7.2 (у меня на хостинге RH 7.0))
|--public_ftp


Клиент путается в показаниях... Клиент утверждает, что public_html и cgi-bin лежат на одном уровне, а printenv.cgi говорит, что второе лежит в первом (см. SCRIPT_FILENAME). Ну ладно..

Будем считать, что структура каталогов у пациента такая:
|
|---\
|   |
|   \-- public_html --\
|                     |
|                     \-- cgi-bin
|
|---\
    |
    \-- public_ftp
(То есть мы верим показаниям printenv.cgi - он не имеет тенденции привирать)

Первое, что нужно сделать, это оставить папку cgi-bin пустой. public_html мы вычищаем тоже, оставляя в ней только пустую cgi-bin. Хотя если там осталось что-то ценное, можно и оставить, ладно... Но следы прошлых сношений с парсером надо удалить подчистую!

Прибрались? Следующий шаг - ставим на public_html разрешения 644, на cgi-bin - 755.

Качаем файлы

http://www.parser.ru/f/1/download/redhat72/parser3_1_0_0001_redhat72_cgi.tar.gz
http://www.parser.ru/f/1/download/redhat72/parser3conf_20020424_unix.tar.gz
http://www.parser.ru/f/1/download/redhat72/parser3sql_1_0_0001_redhat72_mysql.tar.gz

Делаем на диске папку c:\p3setup\ и вываливаем скачанные файлы туда. Разворачиваем их с помощью WinRAR или Windows Commander [u]и валим в одну кучу[/u]. Убиваем на хрен исходные *.tar.gz В двух архивах лежат два файла с одинаковым именем parser3.conf - один придётся затереть другим - по фигу, каким.

в папке c:\p3setup должны остаться файлы:

libparser3mysql.so
parser3.cgi
parser3.conf
koi8-r.cfg
windows-1251.cfg

и ничего больше - все в одной куче! PAF'у, быть может, нравится, когда всё разложено по папочкам, а мы не привередливые - нам надо "не чтобы с шашечками, а чтобы ехать". (Nothing personal, OK?)

Открываем файл parser3.conf в Блокноте и заменяем его содержимое следующим:
@auto[]
$CHARSETS[
       $.koi8-r[/home/mobilezo/public_html/cgi-bin/koi8-r.cfg]
 $.windows-1251[/home/mobilezo/public_html/cgi-bin/windows-1251.cfg]
]
$SQL[
	$.drivers[^table::set{protocol	driver	client
mysql	/home/mobilezo/public_html/cgi-bin/libparser3mysql.so	libmysqlclient.so
}]
]

$MIME-TYPES[^table::set{ext	mime-type
zip	application/zip
gif	image/gif
jpg	image/jpeg
html	text/html
htm	text/html
txt	text/plain
mp3	audio/mpeg
swf	application/x-shockwave-flash
}]

$LIMITS[
	$.post_max_size(10*0x400*0x400)
]	

@unhandled_exception[exception;stack]
$response:content-type[
        $.value[text/html]
        $.charset[$response:charset]
]

<title>Oh, shit!! </title>
<body bgcolor=white>
<font color=black>
<pre>^untaint[html]{$exception.comment}</pre>
^if(def $exception.source){
<b>$exception.source</b><br>
<pre>^untaint[html]{$exception.file^($exception.lineno^)}</pre>
}
^if(def $exception.type){exception.type=$exception.type}
^if($stack){
	<hr>
	^stack.menu{
		<tt>$stack.name</tt> $stack.file^($stack.lineno^)<br>
	}
}
Сохраняем файл, закрываем. Теперь берём, и закачиваем всё содержимое папки по FTP прямо в cgi-bin в БИНАРНОМ РЕЖИМЕ. Не в ASCII или AUTO, а в BINARY. После закачки сверяем размеры parser3.cgi на сервере и на диске - должны совпасть до байта. Если не совпали - КОМУ СКАЗАЛ ЗАКАЧИВАТЬ В БИНАРНОМ РЕЖИМЕ?!

Ставим файлу parser3.cgi разрешения 755. Затем выбираемся из cgi-bin в корневой каталог сервера.

Теперь создадим в папке c:\p3setup три файла - ".htaccess", "index.html" и "auto.p"

Текст файлa .htaccess:
SetEnv HTTP_PARSER_ROOT_CONFIG /home/mobilezo/public_html/cgi-bin/parser3.conf
AddHandler parsed-html html
Action parsed-html /cgi-bin/parser3.cgi
<Files ~ "\.(p|cfg)$">
Order allow,deny
Deny from all
</Files>
CharsetDisable On
DirectoryIndex index.html
Текст файлa auto.p:
@auto[]
$request:charset[windows-1251]
$response:charset[windows-1251]
$response:content-type[
 $.value[text/html]
 $.charset[$response:charset]
]

# Строчку ниже надо поправить в 
# соответствии с твоими настройками MySQL
$SQL.connect-string[mysql://юзер:пароль@ip_MySQL_сервера/твоя_база_данных]
Текст файлa index.html:
<h1> 2 x 2 = ^eval(2*2) </h1>
Залей все три файла в корневой каталог сервера и открой в браузере http://www.твойсайт.ru/index.html Если увидишь строку '2 x 2 = 4' как тут - http://parser3.bougakov.com/index.html - с тебя пиво. Много. Пью я Berliner Kindl, Zunft K&ouml;lsch и Сибирскую Корону..