• Лабораторная работа №1. Конфигурирование и администрирование web-сервера (на примере web-сервера Apache) Порядок выполнения лабораторной работы
  • При настройке виртуальных хостов изменить, при необходимости, настройки для корневого каталога web-сервера.
  • Методические указания

  • Скачать 71.98 Kb.


    Дата24.08.2017
    Размер71.98 Kb.
    ТипЛабораторная работа

    Скачать 71.98 Kb.

    Отчет в электронном виде): титульный лист



    ЗАДАНИЕ
    к лабораторной работе №1
    по дисциплине «Специальные разделы информатики»


    Выбор варианта: типовое задание без варианта.
    Содержание отчета (отчет в электронном виде):

    • титульный лист (один для всех лабораторных работ);

    • задание на лабораторную работу №1;

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

    • файл конфигурации [диск]:\infocom\Apache2.2\conf\extra\httpd-vhosts.conf;

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

    • файл(ы) htaccess;

    • файл конфигурации [диск]:\infocom\Apache2.2\conf\extra\httpd-autoindex.conf

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

    Лабораторная работа №1. Конфигурирование и администрирование web-сервера (на примере web-сервера Apache)

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


    1. Создать каталог [диск]:\infocom.

    2. Установить web-сервер Apache в каталог [диск]:\infocom\Apache2.2 как консольное приложение, а не как сервис.

    3. Запустить web-сервер (Пуск/Все программы/Apache HTTP Server 2.2/Control Apache Server/Start Apache in Console). Проверить правильность настройки установленного web-сервера, набрав в строке адреса браузера http://localhost:8080.

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

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

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

    7. Создать два виртуальных хоста, основанных на имени (name-based, несколько хостов на одном IP-адресе 127.0.0.1), настроив их на разные порты, например, 8081 и 8082. Расположить корневые каталоги документов хостов соответственно в [диск]:\infocom\vhost1 и [диск]:\infocom\vhost2.

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

    9. Создать файлы с описанием групп пользователей и отдельных пользователей, и расположить их в [диск]:\infocom\vhsecurity\groups и [диск]:\infocom\vhsecurity\users соответственно.
      При настройке виртуальных хостов изменить, при необходимости, настройки для корневого каталога web-сервера.

    10. В корневом каталоге для документов виртуального хоста vhost1 создать несколько каталогов и файлов. Определить различные права доступа к различным каталогам и файлам:
      – доступ разрешен всем;
      – доступ разрешен отдельным пользователям;
      – доступ разрешен одной группе пользователей;
      – доступ разрешен всем зарегистрированным пользователям;
      – доступ запрещен всем.

    11. Перенести определение прав доступа к одному из каталогов и одному из файлов в файл htaccess, расположенный непосредственно в каталоге, для которого определяются права доступа.

    12. В корневом каталоге для документов виртуального хоста vhost2 организовать расширенную индексацию на основе файла [диск]:\infocom\Apache2.2\conf\extra\httpd-autoindex.conf.


    Методические указания:

    Web-сервер Apache

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

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

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

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

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

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

    Сферы применения виртуальных хостов:


    • создание отдельных web-сайтов со своими адресами для различных компаний, организаций и индивидуальных пользователей;

    • организация общедоступного и внутреннего web-сайтов в виде двух виртуальных хостов;

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

    Директива NameVirtualHost

    NameVirtualHost *:80

    Позволяет создавать виртуальные хосты, основанные на имени (несколько web-сайтов на одном IP-адресе.)

    Директива VirtualHost

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





    Пример: создать виртуальный хост test.

    ServerName test

    ServerAdmin admin@test

    DocumentRoot e:/infocom/test/www

    CustomLog e:/infocom/access.log common

    ErrorLog e:/infocom/error.log



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



    Директивы AuthType, AuthName, AuthGroupFile, AuthUserFile

    Для организации доступа к каталогам и файлам используются следующие директивы.

    AuthType type

    Задает тип контроля полномочий. Возможное значение – Basic.

    AuthName realm

    Задает область (realm), в которой действительны имена и пароли пользователей. Каждая пара имя/пароль действует в определенной области. Возможное значение – Test.

    AuthGroupFile file_name

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

    name_group1: name_user11 name_user12 …

    name_group2: name_user21 name_user22 …

    AuthUserFile file_name



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

    name_user1: password1

    name_user2: password2

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



    Файл groups

    adm: admin

    group1: anna alex

    group2: user1 user2 user3

    Файл groups может быть создан с помощью простейшего текстового редактора

    Файл users

    admin:$apr1$yd5.....$Bkv.cPIQk/L7EOF2d2DNO.

    anna:$apr1$Ze5.....$k/uC6j.ysELGdCK66BD6v0

    alex:$apr1$Gf5.....$TZUpPFixB0h4pwvpfRkxl0

    user1:$apr1$Sj5.....$HBg8Io5hbm/9quebHF3O01

    user2:$apr1$Og5.....$WKYIDjTsbk.J.PDIhXu5x1

    user3:$apr1$Xi5.....$AfQzJlIxyjiFh6KX23cE30

    Для создания и изменения файла users используется Apache-утилита ..\apache\bin\htpasswd.exe. Для получения справочной информации ее можно запустить с ключом -?. Предварительно создается пустой файл. Для добавления в файл имен пользователей и их паролей используется команда …\htpasswd.exe file_name user_name.

    После создания файлов groups и users в блочную директиву можно добавить следующие директивы:



    AuthType Basic

    AuthName Test

    AuthGroupFile e:/infocom/groups

    AuthUserFile e:/infocom/users



    Директива Require

    После создания файлов groups и users можно установить права доступа к каталогам и файлам для всех пользователей, для групп пользователей, для отдельных пользователей или запретить доступ всем пользователям.



      Require [user name_user1 name_user2 …]

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

      Require [group name_group1 name_ group2 …]

      доступ разрешен всем пользователям из групп, перечисленных в файле groups

      Require [valid-user]

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



    Пример:

    Require valid-user

    #Require user anna user1

    #Require group adm

    Если последовательно убирать комментарии, то будет разрешен доступ или всем зарегистрированным пользователям, или пользователям anna и user1, или пользователям, принадлежащим группе adm

    Директива Require разрешает доступ пользователям на персональной основе. Для разрешения/запрещения доступа всем пользователям или из конкретных ip-адресов, хостов, доменов используются директивы Allow from и Deny from. Эти директивы могут иметь следующие параметры: all – доступ разрешен/запрещен всем, имя хоста – доступ разрешен/запрещен только данному хосту, имя домена – доступ разрешен/запрещен только хостам из данного домена.

    Порядок, в котором применяются директивы Allow from и Deny from, определяется не порядком их следования в конфигурационном файле, а директивой Order.

    По умолчанию сначала выполняется директива Deny from, а затем Allow from. Если клиент упомянут в директиве Deny from, ему запрещается доступ при условии, что он не упомянут в Allow from. Если клиент не назван ни в одной из этих директив, ему доступ разрешается.

    Порядок можно изменить, использовав директиву Order allow,deny. Это значит, что доступ клиенту, который указан в директиве Allow from разрешен, если только он не упомянут в Deny from. Если ни в одной из этих директив этот клиент не указан, доступ ему запрещается.

    Директива Files



    Эта директива используется для организации доступа к файлу.

    Пример: каталог www содержит файл secret.html



    AuthType Basic

    Auth Test

    AuthGroupFile …/groups

    AuthUserFile …/users

    Require valid-user



    Require user anna user1







    Директива AccessFileName

    При изменении прав доступа в файле httpd.conf каждый раз требуется перезапускать Apache. Для того чтобы избежать перезапуска, можно поместить директивы, определяющие права доступа к каталогам и файлам непосредственно в каталог. Для определения имени файла с директивами используется директива AccessFileName.

    AccessFileName file_name

    Пример: AccessFileName htaccess

    Если будут изменяться директивы в файле htaccess, то это не потребует перезапуска Apache.

    Пример: использование файла htaccess

    Файл htaccess

    Require user anna user1



    В файл htaccess также можно помещать и директивы из блочной директивы , но только без ее указания.



    Директива IndexOptions

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

    IndexOptions FancyIndexing

    Данная директива позволяет применять расширенную индексацию.



    Директива IndexIgnore

    IndexIgnore file1 file2 …

    Директива позволяет исключить файлы из списка. Несколько директив IndexIgnore дополняют друг друга.

    Пример: исключение из списка всех файлов с расширением jpg и родительского каталога (например, из соображений безопасности).



    IndexOptions FancyIndexing

    IndexIgnore *.jpg ..



    Директива AddIcon

    Первый аргумент этой директивы – имя файла со значком, второй – тип файла, к которым значок следует добавить. Если в качестве второго аргумента использовать значение ^^DIRECTORY^^, то новый значок получит подкаталог.

    Пример:

    Alias “/icons” “/apache/icons”



    AddIcon icons/first.gif *.html

    AddIcon icons/second.gif ^^DIRECTORY^^



    Директива AddDescription

    Позволяет добавить описание для определенных файлов.



    Пример:

    AddDescription “Это файлы с HTML-документами” *.html



    Директивы HeaderName и ReadmeName

    Позволяют формировать верхний и нижний колонтитулы индекса. Эти директивы имеют только один аргумент – имя файла. Для того чтобы имена файлов, указанные в директивах HeaderName и ReadmeName, не отображались в перечне, для них используется директива IndexIgnore.

    Коьрта
    Контакты

        Главная страница


    Отчет в электронном виде): титульный лист

    Скачать 71.98 Kb.