Читаем Linux и UNIX: программирование в shell. Руководство разработчика. полностью

Для внедрения сценариев cgi в документы можно воспользоваться технологией SSI (Server Side Includes — Включения со стороны сервера). При отображении документа происходит замена команды SSI результатом выполнения данной команды или сценария. При этом также экспортируются дополнительные переменные среды, содержащие сведения об установленном сервере и командах.

Для активизации возможностей SSI, обеспечивающих просмотр сервером команд SSI внутри документов, следует убрать комментарии в соответствующих строках файлов конфигурации. В случае с сервером Apache используются следующие строки:

Addhandler server‑passed.shtml

Addtype text/html shtml

Для перезапуска сервера введите команду kill -1, в результате чего сервер повторно считает конфигурационные файлы. Документы, для которых применяется SSI, используют расширение файла shtml вместо расширения html.

<p><emphasis><strong>29.4.4. Счетчик количества посещений</strong></emphasis></p>

Создадим документ, в котором отображается счетчик количества посещений. Счетчик будет выдавать сообщение типа "you are the nth visitor to this site" ("вы являетесь n–м посетителем этого сайта"). Можно также отображать дату последнего изменения страницы.

Не забудьте поместить сценарий в каталог cgi‑bin; вызовите его путем ввода hitcount.cgi.

$ pg hitcount.cgi

#!/bin/sh

#hitcount.cgi

#счетчик попыток доступа к страницам для html

#файл счетчика должен иметь атрибуты

counter=../cgi‑bin/counter

chmod 666 $counter

echo "Content‑Type: text/html"

echo ""

read access < $counter

access=`expr $access + 1`

echo $access

echo $access >$counter

Как видно из приведенного кода, сценарий считывает файл ../cgi‑bin/counter, присваивает его переменной access, добавляет к нему единицу, затем записывает результат обратно в файл /cgi‑bin/counter.

Теперь создадим файл counter. Все, что требуется в данном случае, — поместить в этот файл начальный номер; в качестве начального номера будет использована единица. Итак, создайте файл counter, введите в него 1, затем сохраните файл и выйдите из него.

Поскольку этот файл будет использоваться любым пользователем, необходимо присвоить ему права владельца, группы и других пользователей.

$ chmod 666 counter

Теперь осталось создать файл с расширением .shtml и поместить его в корневой каталог Web, где обычно находятся другие документы HTML. Файл также может находиться в каталоге htdocs или html. Ниже приводится образец этого файла; не забывайте присваивать ему расширение .shtml.

$ pg main.shtml

Last modified:


THE MAY DAY OPERATIONS CENTER

Stand‑by to Stand‑to


This page has been visited times


Последняя изменяемая переменная, также как и другие переменные, экспортируются с помощью SSI. Обратитесь к Web–узлу apache (www.apache.org) для получения полного описания всех дополнительных переменных, которые были экспортированы с помощью SSI.

Посмотрите на команду SSI:

This page has been visited times

Общий формат команды:

В нашем случае для запуска cgi–сценария hitcount применяются следующие значения параметров:

   • команда — exec,

   • аргумент -cgi,

   • "значение" — имя вызываемого сценария.

В рассматриваемом случае файл конфигурации был изменен таким образом, что данная страница будет отображаться по умолчанию вместо страницы index.html. Но остается также возможность вызова файла с помощью указания полного пути.

Если требуется изменить страницу, заданную по умолчанию, отредактируйте файл srm.conf. При этом обеспечивается доступ к следующей записи:

DirectorуIndex

В данной строке находится имя файла index.html. Измените это имя для новой страницы, заданной по умолчанию. Не забудьте закрыть и перезапустить Web–сервер, чтобы изменения возымели эффект.

Для вызова сценария введите URL:

http: //<имя_сервера>/main.shtml

или

http://<имя_сервера>

если это страница, заданная по умолчанию.

На рис. 29.4 показан пример страницы, содержащей счетчик посещений; для просмотра приращения счетчика достаточно просто обновить страницу. Обратите внимание, каким образом отображается значение переменной last_modified.

Конечно, можно каждый день сбрасывать значение счетчика. Для этого нужно воспользоваться записью одиночной команды cron, которая отправляет в файл число 1.

Рис. 29.4. Страница HTML с простым счетчиком посещений

<p><emphasis><strong>29.4.5. Вывод на печать текущих настроек Web–среды с помощью ссылки</strong></emphasis></p>

При выполнении сценария cgi какое‑то количество переменных среды становится незадействованным. Для просмотра значений большинства переменных используется команда env или set. Давайте создадим ссылку на основе файла main.shtml для вызова сценария, отображающего значения этих переменных. Ниже приведен тег, HTML, задающий такую ссылку:

<А HREF = "/cgi‑bin/printenv.cgi">Environment

Перейти на страницу:

Похожие книги

112 страниц про Париж. Опыт создания путеводителя (в помощь самостоятельным туристам)
112 страниц про Париж. Опыт создания путеводителя (в помощь самостоятельным туристам)

  По Парижу приятно гулять, бесцельно бродить, кружить по узким улочкам, отдыхать в маленьких кафе и в парках у фонтанов. Здесь есть все для любителей архитектуры, ценителей живописи, театралов, меломанов, гурманов, поклонников всевозможных развлечений. Париж притягивает, удивляет, очаровывает, постепенно приоткрывая тайны любознательному гостю, который теряется от сложности выбора: что же увидеть прямо сейчас, а что отложить на потом. Мои 112 страниц про Париж, надеюсь, помогут сделать этот выбор. Предложенные 7 прогулок по городу включают в себя не только известные всему миру достопримечательности, но и множество других, которые часто остаются за пределами стандартных туристических маршрутов.  

Елена Р Стамбулян , Елена Р. Стамбулян

Руководства / Путеводители / Словари и Энциклопедии
40+. Уход за телом
40+. Уход за телом

Женщина после 40 лет – настоящая богиня, умудренная опытом и оттого еще более прекрасная. Но чтобы надолго сохранить красоту и молодость, нужно постоянно собой заниматься: ухаживать за своим телом, руками и ногами, выполнять физические упражнения и соблюдать диету. Благодаря этой книге вы научитесь самостоятельно готовить омолаживающие, питательные, увлажняющие кремы и маски, а также скрабы и пилинги из натуральных продуктов; выполнять легкие и эффективные упражнения для стройной фигуры и профилактики варикозного расширения вен, делать массаж рук и ног, навсегда избавитесь от целлюлита и сможете легко ориентироваться в выборе омолаживающих процедур в СПА-салонах и хирургических операций в клиниках красоты. Правила здорового питания, популярные диеты и рецепты полезных блюд – в этой книге есть все, что поможет 40-летним женщинам всегда быть в форме.

Анастасия Витальевна Колпакова

Здоровье / Руководства / Здоровье и красота / Дом и досуг / Словари и Энциклопедии