Все технологии, рассмотренные нами до сих пор, позволяют создавать статичные html-страницы и соответственно статичные сайты. Они могут содержать различную информацию, в том числе мультимедийную, но их главный недостаток, в том, что они не интерактивны. Их содержимое всегда одинаково и не зависит от желания, и действия пользователя. С помощью «статичных» технологий не возможно создать форум, поисковый сервис или инернет-магазин.

1.1 Различие статичных и динамичных сайтов

В сети интернет постоянно происходит обмен информацией между компьютерами. Компьютеры, которые посылают запросы - мы будем называть клиентами, а компьютеры, которые отвечают на запросы, будем называть серверами. Когда употребляется термин сервер, как правило, представляется мощный компьютер, на самом деле сервер - это прежде всего установленная программа, которая отвечает на запросы удаленного пользователя. Существует достаточно много видов различных программ-серверов, все или только некоторые программы могут быть установлены на одном удаленном компьютере. Так, почтовый сервер в ответ на запрос пользователя пересылает ему письмо. Файл-сервер в ответ на запрос клиента передает файл. Нам же интересно, как работает web-сервер, программа, которая возвращает пользователю интернет-страницу. Именно потому, что ответ на запросы - это ресурсоемкая задача, такие программы устанавливают на мощные компьютеры работающие под серверными операционными системами, такими, как Windows 2000-2003, Linux или Unix.

Когда сервер получает запрос от клиента, он ищет страницу на своем жестком диске. Если запрашиваемый файл - статичная страница (файл с расширением htm или html), то сервер переправляет ее клиенту. На странице может быть текст с фотографиями, flash-ролик с интерактивной игрой, сервис, написанный на языке JavaScript или что-то еще, в любом случае все операции, будут происходить на стороне клиента. Но если файл имеет расширение php или asp - это знак серверу, что данная страница содержит программный код, который предназначен для него. С такой страницей сервер поступит иначе, он вначале выполнит предписанные для него инструкции, возможно обратится к базе данных, запишет какую-нибудь информацию в внешний файл и только после этого сгенерирует html-страницу и переправит ее пользователю (рисунок 1).

Различие в действиях сервера со статичной и динамической страницей
Рис. 1. Различие в действиях сервера со статичной и динамической страницей.

Когда вы заходите на форум, вы видите web-страницу, но ее в действительности на сервере нет, она сгенерирована, то - есть построена сервером на лету. Зайдя по тому же адресу через час, вы увидите новую страницу, на ней будут новые записи, информация о новых участниках форума, всякий раз при обращении к динамичной странице сервер строит ее и лишь затем отправляет клиенту.

Итак, вся отличие динамичных сайтов в том, что сервер первоначально, выполняет действия, описанные на странице, но именно благодаря им мы можем искать информацию, оставлять записи в форуме, совершать заказ в интернет магазине. Мы узнаем, как писать динамичные страницы, а еще мы узнаем, как эмулировать взаимодействие клиента и web-сервера на одном компьютере.

1.2 Web-Серверы, установка Denver

На данный момент наибольшее распространение получили два web-сервера Apache и Internet Information Server (IIS)

 

IIS

Apache

Поставка

Входит в набор Windows 2000 Server, Windows XP Professional, Windows 2003.

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

Поддерживаемый язык

ASP

PHP

Используемые базы данных

Microsoft Access, Microsoft SQL Server

MySQL

Лицензионное соглашение

Все компоненты платны

все компоненты бесплатны

Говорить о том, какая технология лучше - бессмысленно. Каждый интернет проект можно реализовать как для связки IIS - ASP - Microsoft SQL Server, так и для связки Apache - PHP - MySQL, каждая технология имеет своих приверженцев и недоброжелателей.

Установка IIS, как правило, более легка, но в этом курсе мы будем рассматривать только связку Apache - PHP - MySQL Во-первых, эта технология более распространена. Она идеально подходит для сайта коммерческой компании или образовательного учреждения. А, во-вторых, проблем с установкой сервера у вас не будет, я предлагаю установить на вашем компьютере программу Denver.

Установку IIS, создание виртуальных каталогов, установку готовых web-сервисов я подробно описал в статье «Создание интранета образовательного учреждения», Опубликовано в журнале «Информатика и Образование» №5, 1996 г.

Вы можете скачать дистрибутив его размер около 5 mb. Также вы можете более подробно ознакомиться с проектом, на сайте http://www.denver.ru.

Этот программный комплекс включает в себя:

  • web-север Apache,
  • интерпретатор PHP,
  • сервер баз данных MySQL,
  • а также набор утилит.

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

Установка комплекса не должна вызвать затруднений, после запуска единственного файла, входящий в дистрибутив у вас на экране появится ряд диалоговых окон, в которых вы должны ответить на ряд вопросов:

  • выбрать каталог для установки системы (по умолчанию C:\WebServers\);
  • выбрать букву виртуального диска, который будет создаваться всякий раз при запуске Denver (по умолчанию Z:);
  • выбрать способ запуска сервера, автоматически при запуске компьютера или запуск осуществляется пользователем (я советую выбрать второй вариант).

Вся установка займет не более пяти минут. По ее окончании на диске C: у вас появится каталог WebServers, а на рабочем столе три ярлыка для запуска, остановки и перезапуска сервера.

Запустив сервер (щелкнув на ярлыке Start servers) у вас в правом нижнем углу экрана должен появиться символ сервера Apache - перышко. Теперь, набрав в строке адреса http://localhost вы должны увидеть следующую стартовую страницу (рисунок 2).

Apache заработал
Рис. 2. Apache заработал, об этом свидетельствует ярлык в панели задач и начальная страница,
которую «возвращает» сервер в ответ на запрос http://localhost/

1.3 Виртуальные каталоги

Вся информация в компьютере находится в реальном каталоге, который в свою очередь находится на каком-то жестком диске. Но в сети интернет мы не набираем C:\webserver\document\index.htm если бы такое было возможно, то каждый посетитель видел реальную структуру удаленного компьютера, а это резко уменьшает безопасность удаленного компьютера. Вместо такого реального пути на удаленном компьютере создается виртуальный каталог, это - некоторый псевдоним, который связан с реальным каталогом. Мы набираем в строке адреса http://localhost/school, и сервер знает что за псевдонимом "school" прячется реальный каталог.

Создавать виртуальные каталоги в Denver очень просто. Вам достаточно открыть каталог C:\WebServers\home\localhost\www и внутри него создать любой каталог, имя которого не содержит пробелов и состоит из латинских букв, например XP. Если теперь в строке адреса вы наберете http://localhost/xp, то должны увидеть на экране картину, подобной расположенной ниже:

Виртуальный каталог создан, но он пока пустой
Рис. 3. Виртуальный каталог создан, но он пока пустой.

Denver говорит нам, что внутри виртуального каталога xp ничего нет, и предлагает вернуться к родительскому каталогу (Parent Directory). Но стоит нам поместить внутрь реального каталога какие-нибудь файлы, и обновить страницу, то экран изменится.

нутри виртуального каталога видны файлы и каталоги
Рис. 4. Внутри виртуального каталога видны файлы и каталоги.

В примере, показанном на рисунке 65 мы разместили в каталоге xp два файла design.htm и style.css и один каталог images. Щелчок на файле design.htm загрузит его в браузере. Если внутри виртуального каталога находится файл с именем index.htm или index.php, то такой файл будет загружаться автоматически.

1.4 Установка web-сервиса на примере форума

В сети интернет находится достаточно много готовых полнофункциональных сервисов, написанных на языке PHP. Давайте проследим, как происходит установка web-сервиса на примере очень распространенного бесплатного форума phpBB.

Вы можете скачать инсталляцию форума (архив размером коло 700 kb русификация внутри архива). Вы можете ознакомиться с проектом на сайте www.phpbbguru.net/community

Для установки форума:

  1. Распакуйте архив phpbb-2.0.10.zip на своем компьютере.
  2. Каталог phpBB2 скопируйте в папку, где у вас установлен web-сервер (в случае с Дэнвер, это C:\WebServers\home\localhost\www).
  3. Создайте новую базу MySQL, (о базах данных MySQL мы будем говорить позже, а сейчас просто создайте каталог forum по адресу C:\WebServers\usr\local\mysql\data\).
  4. Запустите web-сервер и в строке адреса наберите: /phpBB2/login.php
  5. Задайте имя базы MySQL (forum), имя, пароль администратора (рисунок 5)
  6. После установки удалите два каталога из форума (install/ и contrib/).

Установка форума phpBB
Рис. 5. Установка форума phpBB.

Для русификации форума:

  1. Распакуйте архив lang_russian_tu.zip
  2. Скопируйте полученный каталог lang_russian_tu в установленный форум, в каталог language.
  3. Запустите форум /phpBB2/ и войдите под именем администратора. Если вы выполняете русификацию сразу после установки форума, то вы уже окажитесь в административной панели. Иначе, вам нужно выбрать ссылку «log in» на начальной странице форума и ввести имя пользователя и пароль, которые вы вводили при инсталляции форума, а после перейдите в административную панель (ссылка Go to Administration Panel).
  4. В административной панели, в разделе Configuration выберите для поля «Default Language» значение Russian. Нажмите на кнопку Submit.
  5. После выхода из административной панели (щелчок на логотипе форума) и после завершения работы администратора (ссылка «Log out»), вы увидите русский интерфейс. Правда административная панель все еще будет иметь английский интерфейс.
  6. Для русификации административной панели вы должны вновь вернуться в нее, в разделе «User Admin» найти ссылку Management. В поле ввести имя пользователя с правами администратора, нажать на кнопку Look up user и уже в свойствах выбранного пользователя поменять в разделе Board Language язык с английского на русский.

Выполнив все эти действия вы получаете бесплатный форум с большим набором функций.

Все настройки, как вы уже поняли, находятся в административной панели.

Практические задания

  1. Установите на своем компьютере программный комплекс Denver. Создайте виртуальный каталог /project, разместите в нем ваш проект. Запустите Apache, запустите браузер и в строке адреса наберите http://localhost/project
  2. Установить на своем компьютере web-сервис, например бесплатный форум «phpBB» Зарегистрируйте в форуме нового пользователя. Создайте новую тему обсуждения, оставьте свою реплику. Сделайте скриншот экрана, принесите его учителю.

Вопросы для самоконтроля

  1. В чем отличие статичных и динамичных сайтов?
  2. Какие web-серверы доступны в сети интернет?
  3. Как создать виртуальный каталог?
  4. Какой IP-адрес имеет любой локальный компьютер?
  5. Как проверить, запущен ли у вас web-сервер в данный момент?