|
Все технологии, рассмотренные нами до сих пор, позволяют создавать статичные 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. Этот программный комплекс включает в себя: - web-север Apache,
- интерпретатор PHP,
- сервер баз данных MySQL,
- а также набор утилит.
Комплекс, для эмулирования на одном компьютере взаимодействия клиент-сервер, предназначен для отладки написанных вами скриптов, но при желании может использоваться и как web-сервер интрасети образовательного учреждения. Программный комплекс написан российскими программистами, имеет файлы с подробным описанием на русском языке, как конфигурировать систему . Установка комплекса не должна вызвать затруднений, после запуска единственного файла, входящий в дистрибутив у вас на экране появится ряд диалоговых окон, в которых вы должны ответить на ряд вопросов: - выбрать каталог для установки системы (по умолчанию C:\WebServers\);
- выбрать букву виртуального диска, который будет создаваться всякий раз при запуске Denver (по умолчанию Z:);
- выбрать способ запуска сервера, автоматически при запуске компьютера или запуск осуществляется пользователем (я советую выбрать второй вариант).
Вся установка займет не более пяти минут. По ее окончании на диске C: у вас появится каталог WebServers, а на рабочем столе три ярлыка для запуска, остановки и перезапуска сервера. Запустив сервер (щелкнув на ярлыке Start servers) у вас в правом нижнем углу экрана должен появиться символ сервера Apache - перышко. Теперь, набрав в строке адреса http://localhost вы должны увидеть следующую стартовую страницу (рисунок 2).  Рис. 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 Для установки форума: - Распакуйте архив phpbb-2.0.10.zip на своем компьютере.
- Каталог phpBB2 скопируйте в папку, где у вас установлен web-сервер (в случае с Дэнвер, это C:\WebServers\home\localhost\www).
- Создайте новую базу MySQL, (о базах данных MySQL мы будем говорить позже, а сейчас просто создайте каталог forum по адресу C:\WebServers\usr\local\mysql\data\).
- Запустите web-сервер и в строке адреса наберите: /phpBB2/login.php
- Задайте имя базы MySQL (forum), имя, пароль администратора (рисунок 5)
- После установки удалите два каталога из форума (install/ и contrib/).
 Рис. 5. Установка форума phpBB. Для русификации форума: - Распакуйте архив lang_russian_tu.zip
- Скопируйте полученный каталог lang_russian_tu в установленный форум, в каталог language.
- Запустите форум /phpBB2/ и войдите под именем администратора. Если вы выполняете русификацию сразу после установки форума, то вы уже окажитесь в административной панели. Иначе, вам нужно выбрать ссылку «log in» на начальной странице форума и ввести имя пользователя и пароль, которые вы вводили при инсталляции форума, а после перейдите в административную панель (ссылка Go to Administration Panel).
- В административной панели, в разделе Configuration выберите для поля «Default Language» значение Russian. Нажмите на кнопку Submit.
- После выхода из административной панели (щелчок на логотипе форума) и после завершения работы администратора (ссылка «Log out»), вы увидите русский интерфейс. Правда административная панель все еще будет иметь английский интерфейс.
- Для русификации административной панели вы должны вновь вернуться в нее, в разделе «User Admin» найти ссылку Management. В поле ввести имя пользователя с правами администратора, нажать на кнопку Look up user и уже в свойствах выбранного пользователя поменять в разделе Board Language язык с английского на русский.
Выполнив все эти действия вы получаете бесплатный форум с большим набором функций. Все настройки, как вы уже поняли, находятся в административной панели. Практические задания - Установите на своем компьютере программный комплекс Denver. Создайте виртуальный каталог /project, разместите в нем ваш проект. Запустите Apache, запустите браузер и в строке адреса наберите http://localhost/project
- Установить на своем компьютере web-сервис, например бесплатный форум «phpBB» Зарегистрируйте в форуме нового пользователя. Создайте новую тему обсуждения, оставьте свою реплику. Сделайте скриншот экрана, принесите его учителю.
Вопросы для самоконтроля - В чем отличие статичных и динамичных сайтов?
- Какие web-серверы доступны в сети интернет?
- Как создать виртуальный каталог?
- Какой IP-адрес имеет любой локальный компьютер?
- Как проверить, запущен ли у вас web-сервер в данный момент?
|