|
RU
|
Регистрация |
|
ПомощьАкции:
Бонус за друга!
|
Parser 3Parser — это технология создания сайтов с помощью простого языка. Он немного сложнее HTML, но не требует особенного умения программировать. Parser начал создаваться в Студии Лебедева в 1997 году. Сегодня подавляющее большинство сайтов, создаваемых Студией Лебедева, делаются с его помощью. Подготовка Веб-сервера и базы данныхПервое, что нам необходимо сделать - это получить доступ к SSH:
Далее, создаем базу для нашего приложения:
Создаем виртуальный сервер:
Где: cgi-bin — каталог, в котором будет находится обработчик Parser 3 и его конфигурация
Базовая установка Parser 3Используя любой SSH клиент, заходим на сервер: ssh my_admin_login@mydomain.ru Где, my_admin_login - Ваш логин администратора Устанавливаем Parser 3: #cp /usr/local/bin/parser3 ~/cgi-bin/ Вы также можете использовать собственную сборку parser3, но мы настоятельно рекомендуем использовать именно ту сборку, которая распположена на Вашем сервере. Узнать, для какой операционной системы Вам необходимо собирать parser3, Вы можете при помощи команды: #uname -a Создаем файл ~/htdocs/.htaccess следующего содержания: #назначение обработчиком .html страниц AddHandler parser3-handler html Action parser3-handler /cgi-bin/parser3 #запрет на доступ к .p файлам, в основном, к auto.p <Files ~ "\.p$"> Order allow,deny Deny from all </Files> На этом базовая установка Parser 3 закончена. Проверяем работу Parser 3Создаем файл ~/cgi-bin/auto.p следующего содержания: @conf[filespec] $confdir[^file:dirname[$filespec]] $charsetsdir[/usr/local/etc/parser3.charsets] $sqldriversdir[/usr/local/lib/parser3] $CHARSETS[ # $.koi8-r[$charsetsdir/koi8-r.cfg] # $.windows-1250[$charsetsdir/windows-1250.cfg] $.windows-1251[$charsetsdir/windows-1251.cfg] # $.windows-1257[$charsetsdir/windows-1257.cfg] ] #change your client libraries paths to those on your system $SQL[ $.drivers[^table::create{protocol driver client mysql $sqldriversdir/libparser3mysql.so $sqldriversdir/../mysql/libmysqlclient.so pgsql $sqldriversdir/libparser3pgsql.so $sqldriversdir/../libpq.so sqlite $sqldriversdir/libparser3sqlite.so -configure could not guess- }] ] #for ^file::load[name;user-name] mime-type autodetection $MIME-TYPES[^table::create{ext mime-type zip application/zip doc application/msword xls application/vnd.ms-excel pdf application/pdf ppt application/powerpoint rtf application/rtf gif image/gif jpg image/jpeg jpeg image/jpeg png image/png tif image/tiff html text/html htm text/html txt text/plain xml text/xml mts application/metastream mid audio/midi midi audio/midi mp3 audio/mpeg ram audio/x-pn-realaudio rpm audio/x-pn-realaudio-plugin ra audio/x-realaudio wav audio/x-wav au audio/basic mpg video/mpeg avi video/x-msvideo mov video/quicktime swf application/x-shockwave-flash }] $LIMITS[ $.post_max_size(10*0x400*0x400) ] #$MAIL[ # $.sendmail[your sendmail command goes here] # these are tried when no 'sendmail' specified: # /usr/sbin/sendmail -t -i -f postmaster # /usr/lib/sendmail -t -i -f postmaster #] @fatal_error[title;subtitle;body] $response:status(500) $response:content-type[ $.value[text/html] $.charset[$response:charset] ] <html> <head><title>$title</title></head> <body> <h1>^if(def $subtitle){$subtitle;$title}</h1> $body #for [x] MSIE friendly ^for[i](0;512/8){<!-- -->} </body> </html> @unhandled_exception_debug[exception;stack] ^fatal_error[Unhandled Exception^if(def $exception.type){ ($exception.type)};$exception.source; <pre>^untaint[html]{$exception.comment}</pre> ^if(def $exception.file){ ^untaint[html]{<tt>$exception.file^(${exception.lineno}:$exception.colno^)</tt>} } ^if($stack){ <hr/> <table> ^stack.menu{ <tr><td>$stack.name</td><td><tt>$stack.file^(${stack.lineno}:$stack.colno^)</tt></td></tr> } </table> } ] @unhandled_exception_release[exception;stack] ^fatal_error[Unhandled Exception;; <p>The server encountered an unhandled exception and Укажите настройки для MySQL: $SQL.connect-string[mysql://user:pass@host/db] Либо PostgreSQL: $SQL.connect-string[pgsql://user:pass@host/db] Также, Вы можете взять стандартный файл конфигурации из дистрибутива и указать пути к необходимым библиотекам и драйверам самостоятельно. Скачиваем архив со скрипт для тестирования https://www.parser.ru/off-line/download/utils/parser3test_russian.zip и распаковываем его в ~/htdocs/ Заходим на сайт https://mydomain.ru/_test.html и проверяем работу parser 3 (mydomain.ru — имя сервера, указанное при создании веб-сервера) Необходимые файлы и библиотекиСкомпилированный parser3 для Вашего сервера: /usr/local/bin/parser3 SQL драйверы: /usr/local/lib/parser3/libparser3mysql.so Конфигурации кодировок: /usr/local/etc/parser3.charsets/koi8-r.cfg Клиентские библиотеки:
/usr/local/lib/mysql/libmysqlclient.so — библиотека MySQL Пример объявления в auto.p: $sqldriversdir[/usr/local/lib/parser3] $charsetsdir[/usr/local/etc/parser3.charsets] ДокументацияПолная документация: https://www.parser.ru/docs/lang/ Примеры: https://www.parser.ru/examples/ |