Web-сервер Apache

  • doc
  • 11.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 102. Web-сервер Apache.doc

Лабораторная работа №1. Web-сервер Apache
(6 часов)

 

Цель работы:

Получить практические навыки в установке и выполнении базовой настройки web-сервера Apache.

 

Задание (типовое):

Установить web-сервер Apache, проверить правильность установки, выполнить настройку web-сервера, протестировать работу web-сервера, удалить web-сервер Apache.

 

Порядок выполнения лабораторной работы:

1.       Создать каталог disc:\webprog.

2.       Установить web-сервер Apache в каталог disc:\webprog\Apache2.2 как консольное приложение.

3.       Запустить web-сервер (Пуск/Все программы/Apache HTTP Server 2.2/Control Apache Server/Start Apache in Console).

4.       Проверить правильность установки web-сервера, набрав в строке адреса браузера адрес http://127.0.0.1:8080.

5.       Если web-сервер не запускается, посмотреть причину незапуска в файле disc:\webprog\Apache2.2\logs\error.log

6.       Для остановки web-сервера использовать комбинацию клавиш Ctrl+C.

7.       Ознакомиться с документацией по web-серверу Apache. Для этого в файле httpd.conf убрать комментарий в строке с директивой #Include conf/extra/httpd-manual.conf. Документация будет доступна по адресу http://127.0.0.1:8080/manual

8.       Создать два виртуальных хоста на одном IP-адресе 127.0.0.1, настроив их на разные порты, например, 8081 и 8082. Расположить корневые каталоги документов хостов соответственно в каталогах disc:\webprog\vh1 и disc:\webprog\vh2.

9.       Файлы для регистрации доступа access.log и ошибок error.log расположить в каталоге disc:\webprog\vhlogs.

10.   Создать файлы с описанием групп пользователей и отдельных пользователей, и расположить их в каталоге disc:\webprog\vhsecurity.

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

12.   В корневом каталоге для документов виртуального хоста vh1 создать несколько каталогов и файлов. Определить различные права доступа к различным каталогам и файлам:

-     доступ разрешен всем;

-     доступ разрешен отдельным пользователям;

-     доступ разрешен группе пользователей;

-     доступ разрешен всем зарегистрированным пользователям;

-     доступ запрещен всем.

13.   Протестировать работу SSI (Server Side Includes) — директив включения на стороне сервера.

14.   В корневом каталоге для документов виртуального хоста vh2 организовать расширенную индексацию.

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

16.   Удалить web-сервер Apache (Пуск/Панель управления/Установка и удаление программ).

17.   Удалить каталог disc:\webprog.

 


Содержание отчета (отчет в электронном виде):

-       отчет сохранить в файле с именем АВТ-000 Иванов (лр1).doc;

-       титульный лист (образец можно скачать по адресу http://ermak.cs.nstu.ru/webprog/wp_labwork_title_page.doc);

-       цель работы;

-       задание;

-       порядок выполнения лабораторной работы

-       дерево созданных каталогов;

-       конфигурационные файлы;

-       файлы с именами и группами пользователей;

-       выводы по работе.

 


Теоретические сведения

 

Web-сервер Apache

Apache — один из популярных web-серверов в мире. В настоящее время программное обеспечение Apache установлено более чем на половине серверов.

Для настройки web-сервера Apache используются конфигурационные файлы:

-       основной конфигурационный файл httpd.conf, расположенный в каталоге conf;

-       дополнительные конфигурационные файлы, расположенные в каталоге conf\extra и подключаемые основному конфигурационному файлу httpd.conf по мере необходимости с помощью директивы Include;

-       конфигурационные файлы .htaccess, расположенные непосредственно в каталогах, для которых выполняются настройки.

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

Web-сервер Apache читает основной конфигурационный файл httpd.conf однократно при запуске. Если web-сервер работает, то при изменении конфигурационного файла httpd.conf следует перезапустить web-сервер.

В конфигурационном файле httpd.conf и файлах .htaccess содержатся директивы, которые управляют работой web-сервера Apache.

В конце основного конфигурационного файла httpd.conf перечислены директивы Include, позволяющие подключить дополнительные конфигурационные файлы из каталога conf\extra.

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

Web-сервер Apache позволяет настроить виртуальные хосты.

Виртуальные хосты позволяют разместить более чем один web-сайт, используя один экземпляр web-сервера. Виртуальный хост может быть как «привязанным к IP-адресу» (IP-based), что позволяет использовать отдельный IP-адрес для каждого web-сайта, так и «привязанным к имени» (name-based), что позволяет использовать один и тот же IP-адрес для нескольких web-сайтов, различая виртуальных хосты по именам или номерам портов.

Для организации виртуальных хостов используются директивы Listen, NameVirtualHost и блочная директива VirtualHost (все примеры приведены для name-based виртуального хоста, определяемого номером порта и web-сервера Apache, установленного как консольное приложение).

Директива Listen задает номер порта, который «слушает» web-сервер. В конфигурационном файле может присутствовать несколько директив Listen.

Listen 8081

 

Директива NameVirtualHost позволяет создать name-based виртуальный хост со своим номером порта.

NameVirtualHost 127.0.0.1:8081

 

Блочная директива <VirtualHost> позволяет задать директивы, определяющие режимы работы виртуального хоста.

<VirtualHost 127.0.0.1:8081>

CustomLog …/…/access.log common

ErrorLog …/…/error.log

DocumentRoot …/…/www

<Directory …/…/www>

Options …

</Directory>

<Files …/…/test.html>

</Files>

</VirtualHost>

 

Для настройки виртуального хоста можно использовать практически все директивы web-сервера Apache. Узнать, разрешена ли директива для использования в блочной директиве </VirtualHost> можно в локальной документации, доступной по адресу http://127.0.0.1:8080/manual. Директиву разрешено использовать в блочной директиве </VirtualHost> в случае, если в описании директивы в разделе Context указан virtual host.

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

Файлы регистрации доступа и ошибок могут быть одними и теми же для нескольких виртуальных хостов.

Блочные директивы <Directory> и <Files> предназначены для задания директив, применяемых к соответствующим каталогам и файлам (например, для организации доступа к каталогу или файлу).

Организация доступа

Для организации доступа к каталогам и файлам используются директивы Allow, Deny, AuthType, AuthName, AuthGroupFile, AuthUserFile и Require.

Директивы Allow, Deny позволяют открыть / закрыть доступ для всех пользователей или пользователям, пришедшим с определенного хоста, домена или IP-адреса.

Allow from all / Deny from all

Allow from apache.org / Deny from apache.org

Allow from .net / Deny from .net

Allow from 192.168.1.104 / Deny from192.168.1.104

Allow from 192.168 / Deny from192.168

 

Порядок применения директив Allow и Deny определяется директивой Order.

Order Deny,Allow

#Если клиент упомянут в директиве Deny, ему запрещается доступ при условии,

#что он не упомянут в директиве Allow. Если ни в одной из директив клиент

#не упомянут, доступ ему разрешается.

 

Order Allow,Deny

#Доступ клиенту, который упомянут в директиве Allow, разрешен,

#если только он не упомянут в директиве Deny. Если ни в одной из директив

#клиент не упомянут, доступ ему запрещается.

 

Директивы AuthType, AuthName, AuthGroupFile, AuthUserFile и Require позволяют открыть / закрыть доступ для зарегистрированных пользователей.

Директива AuthType задает тип контроля полномочий.

AuthType Basic

 

Директива AuthName задает область, в которой действительны имена и пароли пользователей.

AuthName Test

 

Директивы AuthGroupFile и AuthUserFile задают имена текстовых файлов, в которых содержится информация о группах и пользователях, входящих в группы и именах пользователях и паролях. Файлы имеют следующий формат:

group1:user1 user2 …

group2:user3 user4 …

 

user1:password1

user2:password2

 

Пароли пользователей могут храниться как в незашифрованном, так и в зашифрованном виде. Для шифрования паролей используется утилита bin\htpasswd.exe. Для получения справочной информации по работе с утилитой следует запустить утилиту с ключом –?.

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

Директива Require определяет права доступа для отдельных пользователей, групп пользователей, всех зарегистрированных пользователей.

Require user user1 user2 …

#доступ разрешен перечисленным пользователям

 

Require group group1 group2 …

#доступ разрешен перечисленным группам пользователей

 

Require valid-user

#доступ разрешен всем зарегистрированным пользователям

 

Служебная индексация

В случае если каталог, заданный директивой DocumentRoot, не содержит индексного файла (директива DirectoryIndex), web-сервер Apache создает служебный индексный файл. Параметр Indexes директивы Options разрешает формирование служебного индексного файла.

Для изменения вида служебного индексного файла можно включить расширенную индексацию директивой IndexOptions.

IndexOptions FancyIndexing

 

Для расширенной индексации можно использовать директивы AddIcon, AddDescription, HeaderName, ReadmeName, IndexIgnore (описание директив для расширенной индексации см. в локальной документации в разделе «Reference Manual/Run-time Configuration Directives»).

Директивы включения на стороне сервера (SSI — Server Side Includes)

Директивы SSI, содержащиеся в документах, позволяют реализовать на серверной стороне выполнение некоторых действий и включить результаты этих действий в документы перед их отправкой клиенту. Аналогичные возможности, гораздо более широкие, предоставляют серверные скриптовые языки.

Формат директивы:

<!--#directive attribute=value attribute=value … -->

 

Директивы SSI оформляются как комментарии.

Для настройки web-сервера Apache для работы с директивами SSI используются директивы Options, AddOutputFilter и AddType.

Options Includes

#разрешает использование директив SSI

 

AddOutputFilter INCLUDES .ssi

#задает соответствие между расширением имени файла и фильтром,

#который будет обрабатывать ответ сервера перед отправкой клиенту

 

AddType text/html .ssi

#задает соответствие между расширением имени файла и media-типом

 

Описание директив включения на стороне сервера см. в локальной документации (расположено в разделе «Server Side Includes (SSI)/Basic SSI directives»).


Скачано с www.znanio.ru