В прошлых номерах "Игромании" уже поднималась тема создания своей домашней странички. Надеюсь, что вы уже освоили обычный HTML (а может быть, и Dynamic HTML). Возможно, вам стало тесно в рамках HTML и хочется создать что-нибудь на порядок лучше. Вершиной искусства Web-мастера можно назвать умение писать и использовать на своем сайте CGI-скрипты. Аббревиатура CGI расшифровывается как Common Gateway Interface ("интерфейс общего шлюза"). Если говорить коротко, то .cgi-скрипты позволяют выводить на экран монитора динамически изменяемые страницы, а не статичные страницы, как при использовании HTML. Думаю, что те из вас, дорогие читатели, которые заинтересовались этой темой, займутся изучением данного вопроса. Сейчас можно купить много книг по Web-программированию. Но вот чего в этих книгах нет, так это того, как запускать и отлаживать собственные скрипты на своем (локальном) компьютере. Конечно, можно сразу грузить их в Интернет и проверять там, но это дорого и долго. Вот сейчас мы с вами и узнаем, как все это сделать на своем домашнем компьютере. Apache Для того чтобы заставить ваш компьютер запускать CGI-скрипты, нужно превратить его в Web-сервер.
Существует множество версий серверов. Но наибольшей популярностью среди провайдеров пользуется Apache. Первым делом нужно установить сам сервер. Никаких вопросов с установкой возникнуть не должно. Единственный момент, который заслуживает внимания, — это куда установить Apache. Это не такой уж легкий вопрос, как может показаться на первый взгляд. Все дело в том, что каждый cgi-скрипт начинается с строки: #!/usr/local/bin/perl или #!/usr/bin/perl Это ничто иное, как путь до Perl (о нем мы поговорим ниже). Для вашего удобства нужно, чтобы точно такие же директории были на вашем диске. Я предлагаю вам создать виртуальный диск, с которым мы и будем работать. Сначала в корневой директории диска C: создайте папку с любым названием. Я назову ее web. После этого откройте файл autoexec.bat и впишите в него строчку subst z: c:\web. Теперь перезагрузите компьютер и посмотрите, что у нас появилось. А появился новый диск Z:. На новом диске нужно создать директорию usr, в ней поддиректорию local. Вот сюда мы и установим Apache. Путь для установки будет выглядеть следующим образом: z:\usr\local\apache. После установки вам снова придется перезагрузить компьютер. Все. Четверть пути пройдена. Теперь наступает самый ответственный момент — настроить сервер для работы на локальном компьютере. Я рекомендую вам вносить все описанные ниже изменения точно так, как я их даю. В противном случае у нас может ничего не получиться! В директории z:\usr\local\apache\conf найдите файл httpd.conf. Вот с этим файлом мы и будем проводить все наши манипуляции. Не
забудьте сделать резервную копию на случай, если в оригинале вы что-нибудь испортите. Старт 1. Найдите блок #ServerName.Там можно написать что угодно, например: ServerName MyFirstServer. Только сотрите знак комментария #. 2. Теперь ищем блок DocumentRoot и изменяем его на DocumentRoot "z:/www". Тут устанавливается директория, где будут содержаться ваши html-файлы. Создайте папку www в корневой директории диска Z. 3. Чуть ниже вы увидите блок, который начинается на <Directory />,его нужно заменить на: <Directory /> Options Indexes Includes AllowOverride All </Directory> 4. Ищите блок UserDir, измените эту строку на: UserDir "UserDir z:/home/". 5. Найдите блок, который начинается так: <Directory "z:/usr/local/apache/htdocs"> и заканчивается </Directory>. В этом блоке много закомментированных строк, но это неважно. Стирайте все и замените на: <Directory "z:/www"> Options Indexes Includes AllowOverride All Order allow,deny Allow from all </Directory> 6. Теперь будем искать строку DirectoryIndex, заменяем эту строку на: DirectoryIndex index.htm index.html. То есть, мы
устанавливаем имена "стартовых" файлов. 7. Теперь займемся директорией для CGI. Ищем строку ScriptAlias и заменяем ее на: ScriptAlias /cgi-bin/ "z:/cgi-bin/". 8. Ниже вы увидите блок, начинающийся c <Directory "z:/cgi-bin">, заменяем весь блок на: <Directory "f:/cgi-bin"> AllowOverride All Options ExecCGI </Directory> Создайте в корневой директории диска Z: поддиректорию cgi-bin. Тут будут лежать все ваши скрипты. 9. Найдите строку #AddHandler server-parsed .shtml и измените ее на: AddHandler server-parsed .shtml .shtm .sht. 10. Последнее. Найдите строку AddHandler cgi-script .bat .exe и поменяйте ее на: AddHandler cgi-script .bat .exe .pl .cgi. Этот пункт относится к Perl’у. Вот и все! Apache настроен. Теперь можно его запускать. После запуска вы увидите окно (как будто сеанс MS-DOS). В нем будет отображен номер версии Apache. Вы не должны закрывать это окно все то время, пока вы хотите работать с Apache. Ставим Perl Теперь вам необходимо установить и настроить Perl. Помните, я говорил о важности выбора директории. Устанавливайте Perl в ту же директорию, где он стоит на сервере вашего хостинг-провайдера. Как я уже говорил, обычно это #!/usr/local/bin/perl или #!/usr/bin/perl. В этом случае устанавливать Perl следует в директорию z:\usr\local\bin.Если вы установите Perl
не в то место, то в файле errors.log постоянно будет появляться сообщение: couldn't spawn child process. В Интернете можно найти много разных версий этого транслятора. Можно найти усеченные версии — они пригодны разве что для ознакомления с Perl’ом, так как многих модулей не будет. Можно найти Perl с дополнительными модулями. Такая версия Perl’а пригодится только тем, кто решит разместить сервер у себя дома и будет иметь возможность лично устанавливать Perl на сервер. Для нас же представляет интерес стандартная поставка. Ее можно скачать с сервера www.activestate.com. Возможно, у вас уже установлен Perl, тогда будет неплохо проверить его версию. Чтобы использовать все возможности программы, необходимо иметь версию не ниже 5. Если же у вас установлена более старая версия — ее придется удалить и ставить новую, так как в старых версиях содержится масса ошибок. Проверку можно провести следующим образом: в командной строке DOS введите команду: perl -v,ивы увидите номер версии Perl. Финиш Теперь, когда у нас установлен сервер (Apache) и транслятор (Perl) — мы можем запускать и выполнять .cgi-скрипты на локальной машине. Давайте проверим это. Положите в директорию www — .htm-файл с названием
index.htm. Запустите Apache и введите в качестве адреса строку http://localhost/index.htm. Если вы все сделали правильно, то должны увидеть содержимое файла index.htm. Теперь проверим работу транслятора. Создайте в директории cgi-bin файл под названием test.cgi и впишите в него следующие команды: #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "Мой первый скрипт ! \n"; Теперь в браузере введите адрес http://localhost/cgi-bin/test.cgi. Если все установлено верно, то на экране должно появиться сообщение "Мой первый скрипт". Если же этого не произошло — то вы допустили ошибку во время изменения файла httpd.conf. Попробуйте еще раз все проверить. Также обязательно посмотрите, что написано в .log-файлах Apache. Эти файлы находятся в директории usr\local\apache\logs. Тут вы найдете два файла — access.log и error.log.В первом файле будет находиться информация о запросах, которые были успешно обработаны Apache. А вот в файле error.log содержится вся информация об ошибках. Внимательно изучите содержимое этого файла и с вероятностью в 90% вы поймете, в чем заключается ошибка. Резюме Теперь, когда вы настроили свой веб-сервер на локальном компьютере — самое время приступить к более глубокому изучению CGI. Это не такое уж и сложное занятие, главное — подойти к этому делу с душой (как и к любому другому делу). И через достаточно короткий промежуток времени ваша страничка в Сети преобразится до неузнаваемости. Вы сможете создавать свои счетчики, гостевые книги, форумы, голосования и многое другое. Одним словом — ваша страничка не будет уступать тем сайтам, которые находятся на вершинах рейтингов. О своих успехах не забудьте сообщить нам, а если у вас возникнут проблемы — пишите, и я постараюсь вам помочь в меру своих скромных возможностей. Удачи вам на тернистом пути веб-мастерства.