Смекни!
smekni.com

Организация доступа к базам данных в Интернет (стр. 7 из 23)

Проверка SSI: аналогична проверке html. Используйте, например, директиву

<!--#exec cgi="/cgi-bin/test.bat"-->

Виртуальные хосты Apache

Итак, Apache установлен. Получена, таким образом, директория f:/www для хранения документов и f:/www/cgi-bin для CGI. Но вот беда: в Интернете нужно осуществить поддержку нескольких серверов, а Apache создал для вас только один. Конечно, можно структуру этих нескольких серверов хранить на одном сервере, однако проще и удобнее было бы создать несколько виртуальных хостов с помощью Apache, например, один с именем serv1 и адресом 195.161.69.170, а другой - с именем serv2 и адресом 195.161.69.171. (Конечно, вместо "serv1" и "serv2" нужно будет указать желаемые имена виртуальных хостов.)

Как это принято в Unix, каждый сервер будет представлен своим каталогом в директории f:/home с именем, совпадающим с именем сервера. Например, сервер serv1 будет храниться в директории f:/home/serv1, которую необходимо создать прямо сейчас. В этой директории будут находиться:

файл access.log с журналом доступа к виртуальному серверу.

файл errors.log с журналом ошибок сервера.

директория www, где будут храниться html-документы.

директория cgi для хранения CGI-программ.

Последние две директории (www и cgi) тоже необходимо создать прямо сейчас.

Далее, для установки виртуального хоста необходимо сделать некоторые изменения в файле конфигурации Apache httpd.conf (см. выше), а также в некоторых файлах Windows. Вот необходимые действия:

Откройте директорию f:&bsol;usr&bsol;local&bsol;apache&bsol;conf. Откройте находящийся там файл httpd.conf. Перейдите в его конец, Вам предстоит добавить туда несколько строк.

Пропишите следующие строки в конце файла после всех комментариев:

#----serv1

<VirtualHost 195.161.69.170>

ServerAdmin webmaster@serv1.ru

ServerName serv1

DocumentRoot "f:/home/serv1/www"

ScriptAlias /cgi/ "f:/home/serv1/www/cgi/"

ErrorLog f:/home/serv1/log/error.log

CustomLog f:/home/serv1/log/access.log common

</VirtualHost>

При желании можно добавить и другие параметры (например, DirectoryIndex и т.д.) Вообще, не переопределенные параметры наследуются виртуальным хостом от главного.

Теперь надо немного подправить системный файл hosts, который находится в C:&bsol;WINDOWS&bsol;hosts (такого файла может не быть по умолчанию - в этом случае его надо создать). hosts - обычный текстовый файл, и в нем обычно заранее прописана только одна строка:

195.161.69.169 www.real.ulan-ude.ru

именно эта строка и задает соответствие имени localhost адресу 127.0.0.1. (Ради справедливости следует сказать, что имя localhost работает и без указанной выше строки. Ну и выдумщики же эти парни из фирмы Microsoft!) Для нашего виртуального хоста надо добавить соответствующую строчку, чтобы файл выглядел так:

195.161.69.170 www.real.ulan-ude.ru

195.161.69.171 www.real2.ulan-ude.ru

Этим Вы создадите виртуальных хост со следующими свойствами:

Имя - serv1

Доступен по адресу http://serv1 (или http://195.161.69.171).

Расположен, соответственно, в директории f:/home/serv1.

Директория для хранения документов - f:/home/serv1/www, доступная по адресу http://serv1.

Директория для CGI - f:/home/serv1/www/cgi, доступная по адресу http://serv1/cgi/

Файлы журналов хранятся в f:/home/serv1/log

Ну вот, мы создали один виртуальный хост! Если будет необходимо сделать второй, нужно просто проделать аналогичные действия, заменив параметры, связанные с расположением хоста на диске. Главное, не забудьте в этом случае указать другой IP-адрес (лучше всего указывать их последовательно, начиная с 195.161.69.170, затем 195.161.69.171 и т.д. - в этом случае все работает корректно). Желательно также для этих целей не указывать IP-адрес http://195.161.69.169, так как это - адрес главного сервера.

Кстати, необходимо заметить, что главный хост (невиртуальный, тот, который мы создали в разделах 1 и 2) по-прежнему доступен по адресу http://195.161.69.169 или http://www.real.ulan-ude.ru. Более того, его директория cgi-bin "видна" всем созданным виртуальным хостам, так что Вы можете ее использовать.

Установка Perl

Это совсем просто, за исключением, может быть, выбора директории для Perl. А именно, Вы ДОЛЖНЫ разместить Perl. Замечу, что это очень важно, так как Perl требует, чтобы в каждом скрипте первой строкой стоял путь к Perl-интерпретатору; например, эта строка может выглядеть так:

#!/usr/local/bin/perl

Эту же строку можно было бы написать и так:

#!/usr/local/bin/perl.exe

или даже так:

#!f:&bsol;usr&bsol;local&bsol;bin&bsol;perl.exe

Это заставляет искать Perl-интерпретатор в директории f:/usr/local/bin/ (если диск f: не указан, это означает, что он совпадает с диском, на котором расположен Apache). Ясно, что если установить Perl не в такую же директорию, Вам придется каждый раз менять эту самую первую строку во всех скриптах при закачке их на сервер. Итак, далее буду считать, что эта директория такова, как на большинстве Apache-серверов:

f:/usr/local/bin

ВНИМАНИЕ: очень распространенной ошибкой является установка Perl не в ту директорию или не на тот диск. Еще раз обращаю внимание на то, где должен быть расположен транслятор.

Если все же по какой-то необъяснимой причине не придерживаетесь моего совета, то проверьте первую строку в скрипте. Она должна указывать не на директорию с Perl, а на исполнимый файл perl.exe. Напоминаю, что #!/usr/local/bin/perl заставляет искать Perl-интерпретатор perl.exe в директории f:/usr/local/bin/, а не в f:/usr/local/bin/perl

Если все же установлен путь неправильно, Apache выдаст непонятное сообщение об ошибке, а в errors.log появится сообщение: couldn't spawn child process.

Вот шаги, приводящие к цели:

Первым делом создайте директорию

f:/usr/local/bin

Затем скачайте дистрибутив Perl - файл с именем perl_setup.exe (436.137 байт), желательно в только что созданную директорию. Это саморазворачивающийся архив, Вам нужно будет просто его запустить, чтобы разархивировать в текущую директорию.

Теперь настроим сервер. Найдите в файле конфигурации Apache conf/httpd.conf строчку

AddHandler cgi-script .bat .exe

Замените ее на

AddHandler cgi-script .bat .exe .pl .cgi

Как это ни странно, но эту директиву AddHandler иногда указывать не обязательно. Однако лучше перестраховаться...

Вот, собственно, и все. Можете пользоваться Perl-транслятором. Для проверки его работоспособности используйте такой скрипт (помещенный, разумеется, в директорию cgi-bin или аналогичную):

#!/usr/local/bin/perl

print "Content-type: text/html&bsol;n&bsol;n";

print "It works!<br>&bsol;n";

system("dir");

Настройка и установка Apache Jserv v 1.1

Устанвка

Установка Jserv также проста как и установкм самого веб-сервера Apache. Для это нужно естественно имет файл установки ApacheJServ-1.1.2-2.exe (14).

Запустив файл установки нужно указать дирикторию куда будет установлены все нужные файлы для работы Jserv`а. После чего программа установки попрости указать путь до виртуальной машины Java, она должна быть уже установлена.

Виртуальная машина Java можно скачать с веб сайта фирмы Microsoft - SDKJava40.exe. Поле того как программе установки будет указан правельный путь до JVM, он попросит указать путь до Java Servlet Devolopment Kit 2 (JSDK), после чего будет запрошен путь до конфигурационного файла httpd.conf веб-сервера. Вот собственно и вся установка.


Настройка

А теперь нужно рассказать про настройку Jserv`а что бы он мог работать вместе с веб-сервером. Для того что бы Jserv запускался вместе с веб-сервером нужно все что находится в файле jserv.conf перенести в файл настройка веб-сервера Apache httpd.conf, желательно в конец.

Разберем синтаксис. Первый параметр это LoadModule.

Его синтаксис очень прост LoadModule [имя модуля в нашем случае это - jserv_module] [путь до модуля "./ApacheModuleJServ.dll"]. В конечном итоге эта строчка должна выглядить так: LoadModule jserv_module "./ApacheModuleJServ.dll"

Следующая интересующий нас параметр это - ApJServManual он говорит веб-серверу о том как запускать Jserv on=вручную off=автозапуск.

Далее идет параметр ApJServProperties "./conf/jserv.properties" это путь до файла настроек Jservs.

2.4. Использование языка Perl

2.4.1. Основные особенности Perl

Perl - интерпретируемый язык, приспособленный для обработки произвольных текстовых файлов, извлечения из них необходимой информации и выдачи сообщений. Perl также удобен для написания различных системных программ. Этот язык прост в использовании, эффективен, но про него трудно сказать, что он элегантен и компактен. Perl сочитает в себе лучшие черты C, shell, sed и awk, поэтому для тех, кто знаком с ними, изучение Perl-а не представит особого труда. Cинтаксис выражений Perl-а близок к синтаксису C. В отличие от большинства утилит ОС UNIX Perl не ставит ограничений на объем обрабатываемых данных и если хватает ресурсов, то весь файл обрабатывается как одна строка. Рекурсия может быть произвольной глубины. Хотя Perl приспособлен для обработки текстовых файлов, он может обрабатывать так же двоичные данные и создавать .dbm файлы, подобные ассоциативным массивам. Perl позволяет использовать регулярные выражения, создавать объекты, вставлять в программу на С или C++ куски кода на Perl-е, а также позволяет осуществлять доступ к базам данных, в том числе Oracle.

Этот язык часто используется для написания CGI-модулей, которые, в свою очередь, могут обращаться к базам данных. Таким образом может осуществляться доступ к базам данных через WWW.(5,6)

2.5 Использование языка Java