Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Министерство образования Российской Федерации
Государственное образовательное учреждение
высшего профессионального образования
“Хабаровский государственный технический университет”
АДМИНИСТРИРОВАНИЕ В ИНФОРМАЦИОННЫХ СЕТЯХ
Установка и администрирование web-сервера
Методические указания по выполнению лабораторной работы № 2
для студентов специальности 071900
«Информационные системы и технологии»
Хабаровск
Издательство ХГТУ
2004
УДК 681.58:681.32
Администрирование в информационных сетях. Установка и администрирование web-сервера: Методические указания по выполнению лабораторной работы № 2 для студентов специальности 071900 «Информационные системы и технологии» / Сост. Г. К. Конопелько, Д. Г. Конопелько. Хабаровск: Изд-во Хабар. гос. техн. ун-та, 2004. 16 с.
Методические указания составлены на кафедре «Автоматика и системотехника». Включают задание на лабораторную работу, требования по оформлению отчета, общие сведения, задание на лабораторную работу, контрольные вопросы, перечень рекомендованной литературы, необходимой для выполнения задания.
Печатается в соответствии с решениями кафедры «Автоматика и системотехника» и методического совета института информационных технологий.
Главный редактор Л. А. Суевалова
Редактор Е. Н. Ярулина
Компьютерная верстка Д. Г. Конопелько
Подписано в печать . Формат 60х84 1/16.
Бумага писчая. Гарнитура «Таймс». Печать офсетная. Усл. печ. л. 0,93.
Тираж 100 экз. Заказ .
Издательство Хабаровского государственного технического университета.
680035, Хабаровск, ул. Тихоокеанская, 136.
Отдел оперативной полиграфии издательства
Хабаровского государственного технического университета.
680035, Хабаровск, ул. Тихоокеанская, 136.
© Хабаровский государственный
технический университет, 2004
Цель работы: настройка и администрирование web-сервера Аpache под ОС Linux.
Практическое задание выполняется в локальной сети на рабочей станции с операционной системой Linux 7 или более поздней. В лабораториях кафедры операционная система Linux работает на компьютерах под управлением программного пакета VMware. Этот пакет позволяет создавать так называемые «виртуальные машины» мнимые компьютеры, не зависящие от выполняющейся в текущее время на данном компьютере операционной системы (ОС). Для запуска ОС Linux необходимо запустить VMware на рабочей станции, выбрать из списка требуемую операционную систему и нажать кнопку «Power ON».
После окончания загрузки для входа в систему необходимо использовать имя пользователя root, пароль rootuser.
Порядок выполнения лабораторной работы
Подготовка и допуск к работе. К выполнению лабораторной работы допускаются студенты, которые подготовились к работе и имеют не более двух невыполненных предыдущих работ.
Перед работой студент должен:
К работе не допускаются студенты, которые не выполнили одно из вышеперечисленных требований.
Отчёт по работе должен содержать:
Администрирование и установка WEB-СЕРВЕРа
Самый распространенный web-сервер в мире это Apache. По данным компании Netcraft (http://www.netcraft.com/Survey/) общее число web-узлов, работающих под его управлением, к концу 1998 г. достигало 2 млн (55 % общего числа узлов) и это число постоянно растет. Для сравнения на долю серверов Microsoft приходится 25 %, Netscape 7 %. Будучи бесплатной и открытой программой, предназначенной для бесплатных же Unix-систем (FreeBSD, Linux и др.), Apache по функциональным возможностям и надежности не уступает коммерческим серверам, а широкие возможности конфигурирования позволяют настроить его для работы практически с любой конкретной системой. Существуют локализации сервера для различных языков, в том числе и для русского.
Список директив (настроек), используемых для конфигурации
web-сервера
Каждая строка конфигурационного файла, кроме строк, начинающихся с #, описывает какую-то директиву конфигурации и ее значение. Строки, начинающиеся с # это комментарии.
Более подробное описание всех директив находится в файле l2.html методического пакета к лабораторной работе, находящегося в методическом разделе сервера кафедры «Автоматика и системотехника». Описание директив, необходимых для выполнения лабораторной работы, приведено в табл 1.
Таблица 1
Описание основных директив конфигурирования web-сервера
Наименование директивы |
Описание |
ServerType standalone |
Показывает тип запуска программы httpd она может вызываться через inetd (inetd) или как отдельный демон (standalone). По умолчанию вызывается как отдельный демон |
Port 80 |
Порт, по которому http-сервер будет получать запросы. По умолчанию 80 |
HostnameLookups off |
Определяет, будут ли записываться в лог-файлы имена (on) или только ip-адреса (off) хостов, просматривающих сайт. По умолчанию off |
User nobody |
Определяет то, под каким пользователем будет запускаться httpd. Для доступа к 80 порту httpd должен запускаться под root'ом. Если в директивах User и Group указаны другие пользователи, то httpd все свои действия выполняет с правами этих пользователей, а не root'а |
ServerAdmin root@localhost |
Здесь указывается e-mail администратора, отвечающего за работу сервера |
ServerRoot /etc/httpd |
Каталог, в котором находятся все конфигурационные файлы, лог-файлы и модули. Все пути, которые используются далее, указаны относительно этого каталога |
ErrorLog logs/error_log |
Местонахождение файла логов об ошибках сервера |
LogLevel warn |
Уровень сообщений в файлах логов. Возможные значения: debug, info, notice, warn, error, crit, alert, emerg |
LoadModule имя_модуля modules/имя_файла_модуля.so |
Команда используется для загрузки различных модулей сервера Apache |
ClearModuleList |
Очистка списка модулей |
AddModule имя_файла_модуля.c |
Добавления модулей в список модулей |
Продолжение табл. 1 |
|
Наименование директивы |
Описание |
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined |
Описание различных форматов записи логов. Имя формата используется в директиве CustomLog |
CustomLog logs/access_log common |
Задает формат файла логов запросов. С помощью CustomLog можно задать файл логов любого формата и имени |
PidFile /var/run/httpd.pid |
Имя файла, в котором хранится PID запущенного httpd. Используется для останова сервера и перезапуска |
UseCanonicalName on |
Разрешает использование коротких имен в URL'ах. Удобно при использовании в Intranet-серверах. Если включено (on), преобразует, например строку http://www/stat в строку http://www.твой-домен.ru/stat, если отключено (off), преобразования не происходит |
Timeout 300 |
Время в секундах, по истечении которого при отсутствии запросов сервер прерывает связь с клиентом |
KeepAlive On |
Разрешать (on) или нет(off) множественные запросы через одно TCP соединение |
MaxKeepAliveRequests 100 |
Максимальное количество запросов через одно TCP соединение |
KeepAliveTimeout 15 |
Время ожидания следующего запроса в секундах |
Продолжение табл. 1 |
|
Наименование директивы |
Описание |
MinSpareServers 8 MaxSpareServers 20 |
Минимальное и максимальное значение загруженных процессов httpd. Если набрать в консоли ps ax | grep httpd, то можно просмотреть все процессы httpd, загруженные на машине. Если используется Apache на локальной машине, то необходимо уменьшить значение MinSpareServers |
StartServers 10 |
Количество изначально запускаемых процессов |
MaxClients 150 |
Ограничивает количество одновременно подключенных клиентов к серверу |
MaxRequestsPerChild 100 |
Максимальное количество запросов, которые обрабатывает процесс до завершения работы |
DocumentRoot /home/httpd/html |
Путь к файлам сайта. Здесь хранятся те файлы, которые пользователь получает при наборе URL'а http://твой.сайт.ru. После установки там находится документация по Apache. Эти файлы следует заменить на файлы своего сайта |
UserDir public_html |
Имя каталога в домашней директории пользователя, где должны находиться файлы его веб-страницы. Обращение к ним происходит по URL'у http://твой.сайт.ru/~имя_пользователя (обрати внимание на ~ ("тильда")) |
DirectoryIndex index.html index.shtml index.cgi |
Файлы индекса каталога. Это те файлы, которые выводятся при задании в броузере URL'а, являющемся ссылкой на каталог. Например, http://localhost/manual выведет файл index.html, находящийся в каталоге /home/httpd/html/manual. Если файл индекса отсутствует в каталоге, выводится все содержимое каталога. Можно задать DirectoryIndex default.htm |
Продолжение табл. 1 |
|
Наименование директивы |
Описание |
FancyIndexing on |
При включении этой опции список файлов каталога будет выводиться в виде таблицы, в которой над каждой колонкой есть ссылка, при нажатии на которую список сортируется по этой колонке (например, по времени модификации или размеру) |
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip . . . |
Эти директивы задают имя файла иконки в зависимости от типа, расширения и имени файла, которая будет выводиться перед именем файла в списке содержимого каталога |
ReadmeName README |
ReadmeName имя README файла, который сервер ищет по умолчанию. HeaderName имя файла, который включается в листинг каталога в качестве заголовка. |
IndexIgnore .??* *~ *# HEADER* README* RCS |
Файлы, не включаемые в список каталога |
AccessFileName .htaccess |
Имя файла с правилами доступа, содержимое которого проверяется для каждого каталога |
TypesConfig /etc/mime.types |
Файл с описаниями типов файлов и принадлежащих к ним расширений |
DefaultType text/plain |
Тип файла по умолчанию для тех файлов, тип которых неизвестен |
AddEncoding x-compress Z |
Позволяет некоторым броузерам распаковывать “сжатые” и gzip-овые архивы "на лету", т. е. при копировании файла типа textcounter.tar.gz получается уже распакованный файл textcounter.tar |
Продолжение табл. 1 |
|
Наименование директивы |
Описание |
AddLanguage en .en |
Позволяет определить язык документа. Если на сайте есть английская и русская версии страницы, то можно создать файлы doc.html.ru и doc.html.en и в зависимости от языка, прописанного в броузере клиента, ему будет показываться одна из страниц при обращении к doc.html. Расширение не обязательно должно совпадать с аббревиатурой языка |
LanguagePriority en fr de |
Определяет приоритет языка документа |
Alias /icons/ /home/httpd/icons/ |
Разрешает создавать алиасы (альтернативные имена) для каталогов, т.е. если html-страница лежит в /home/httpd/html, то при обращении к http://твой.сайт.ru/icons Apache будет искать каталог /home/httpd/html/icons, а после определения такого алиаса Apache будет искать каталог /home/httpd/icons |
ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/ |
То же самое, что и Alias, но для серверных скриптов (CGI) |
AddType text/html .shtml |
Добавляет поддержку SSI для файлов с расширением .shtml |
AddHandler imap-file map |
Добавляет поддержку imagemap'ов |
BrowserMatch "Mozilla/2" nokeepalive |
Прописывает различные параметры работы httpd при обращении к нему описанных броузеров |
Продолжение табл. 1 |
|
Наименование директивы |
Описание |
<Directory /> |
Описывает параметры доступа к корневой директории. Options контролирует то, какие опции доступа к директории доступны. Как видно из примера никакие (None). Следовательно, доступа никакого. AllowOverride None запрещает изменять опции доступа посредством содержимого файла .htaccess каталога |
<Directory /home/httpd/html> |
Устанавливает параметры доступа к каталогу /home/httpd/html. Опции доступа (Options) следующие: |
Indexes |
если эта опция включена, то при указании URL'а, ссылающегося на каталог (типа http://www.ru/nirvana или http://localhost/manual), при отсутствии в каталоге файла, описанного директивой DirectoryIndex (index.html,index.php3,index.cgi и т. д.), httpd возвращает клиенту листинг этого каталога |
Includes |
разрешает выполнение SSI директив в файлах, описанных директивой AddHandler server-parsed тип и находящихся в каталоге /home/httpd/html |
FollowSymLinks |
позволяет использовать символические ссылки на файлы или каталоги, не находящиеся в /home/httpd/html |
AllowOverride None |
см. выше |
Окончание табл. 1 |
|
Наименование директивы |
Описание |
Оrder allow, deny |
определяет последовательность применения правил запрета и правил разрешения доступа к каталогу. Здесь сначала проверяются разрешающие правила, затем запрещающие, т. е. если разрешено, например, по IP, и запрещено, например, по имени хоста, то будет запрещен доступ к этому каталогу, т. к. запрещающие правила сработали последними |
Аllow from all |
разрешен доступ отовсюду. |
<Directory /home/httpd/cgi-bin> |
Прописывает параметры доступа к каталогу /home/httpd/cgi-bin (к тому, где лежат CGI-скрипты). AllowOverride None см. выше. Options ExecCGI разрешен запуск CGI и больше ничего |
Alias /doc /usr/doc |
Создает алиас /doc для каталога /usr/doc и описывает параметры доступа к нему. order deny,allow сначала срабатывают запрещающие правила, затем разрешающие. deny from all запрещен доступ всем клиентам, откуда бы то ни было. allow from localhost разрешен доступ с машины, на которой и запущен Apache. Options Indexes FollowSymlinks см. выше. (Если запустить Netscape на той же машине, на которой загружен Apache, и набрать URL http://localhost/doc или http://127.0.0.1/doc, то можно увидеть листинг каталога /usr/doc.) |
Настройка виртуальных серверов в файле httpd.conf
В большинстве случаев один http-сервер способен обрабатывать запросы, поступающие на различные, так называемые виртуальные, Web-серверы. Виртуальные серверы могут иметь как один и тот же IP-адрес, но разные доменные имена, так и разные IP-адреса. С точки зрения пользователя второй вариант чуть более предпочтителен, поскольку запрос к серверу, отличающемуся от основного только доменным именем, должен содержать его имя, а некоторые старые браузеры, не поддерживающие протокол HTTP/1.1 (например, Microsoft Internet Explorer 2.0), не включают в запрос эту информацию. Однако такие браузеры выходят из употребления (сейчас их уже менее 0,5 % от общего числа); с другой стороны, выделение собственного
IP-адреса каждому виртуальному серверу может быть неоправданной растратой адресного пространства компании.
Для описания адресов и доменных имен виртуальных серверов служат директивы ServerName, ServerAlias, NameVirtualHost и VirtualHost. Они необходимы, только если вам нужно установить более одного виртуального сервера.
Директива ServerName, находящаяся вне секций VirtualHost, определяет имя основного сервера, т. е. сервера, корневой каталог которого задан директивой DocumentRoot в файле srm.conf. Виртуальные серверы наследуют настройки основного; при необходимости специальной настройки соответствующие директивы помещаются в секции VirtualHost, относящейся к данному серверу. Допустимы любые директивы, которые могут встретиться в файлах httpd.conf и srm.conf, например DocumentRoot, ErrorLog, CustomLog, Location, ServerAdmin.
Задание на лабораторную работу
Лабораторная работа выполняется по вариантам. Задания приведены в
табл. 2.
Таблица 2
Задания на лабораторную работу
Вариант |
Задание |
Подгруппа 1, 5 |
Сконфигурировать сервер на порт 90; для тестового сайта использовать содержимое каталога testserver1; добиться, чтобы выполнялись тесты 1, 3, 4, 5; указать, чтобы в файлах log использовались буквенные имена, а не цифровые; создать дополнительный виртуальный сервер на порт 100, для тестового сайта использовать содержимое каталога testserver2; добиться, чтобы выполнялись тесты 2, 3 |
Подгруппа 2, 6 |
Сконфигурировать сервер по умолчанию; для тестового сайта использовать содержимое каталога testserver1; добиться, чтобы выполнялись тесты 4, 5; указать, чтобы в файлах log использовались цифровые имена, а не буквенные; создать дополнительный виртуальный сервер на домен (буквенное имя) lvirn, где n номер компьютера; для тестового сайта использовать содержимое каталога testserver2; добиться, чтобы выполнялись тесты 1, 3 |
Подгруппа 3, 7 |
Сконфигурировать сервер на порт 80; для тестового сайта использовать содержимое каталога testserver1; переименовать файл index.html в этом каталоге в sind.htm; указать в конфигурации, чтобы данный файл загружался по умолчанию; добиться, чтобы выполнялись тесты 4, 5; указать, чтобы в файлах log использовались цифровые имена, а не буквенные; создать дополнительный виртуальный сервер на порт 100; для тестового сайта использовать содержимое каталога testserver2; добиться, чтобы выполнялись тесты 1, 2 |
Окончание табл. 2 |
|
Вариант |
Задание |
Подгруппа 4, 8 |
Сконфигурировать сервер по умолчанию; для тестового сайта использовать содержимое каталога testserver1; добиться, чтобы выполнялись тесты 3, 5; указать, чтобы в файлах log использовались буквенные имена, а не цифровые; создать дополнительный виртуальный сервер на домен (буквенное имя) lvirn, где n номер компьютера, для тестового сайта использовать содержимое каталога testserver2; переименовать файл index.html в этом каталоге в sind.htm; указать в конфигурации, чтобы данный файл загружался по умолчанию; добиться, чтобы выполнялись тесты 3, 4 |
Для редактирования файлов конфигурации и навигации по файловой системе удобно использовать программу mc, для ее загрузки необходимо набрать в командной строке:
[root@lis] $ mc
Интерфейс программы интуитивно понятен и не представляет трудностей при использовании.
Файлы конфигурации web-сервера Apache в данной системе находятся в каталоге:
/etc/httpd/conf/
Для запуска, остановки, перезапуска web-сервера используются следующие скрипы (программы):
Остановка: /etc/rc.d/init.d/httpd stop.
Запуск: /etc/rc.d/init.d/httpd start.
Перезапуск: /etc/rc.d/init.d/httpd restart.
В ходе лабораторной работы необходимо произвести настройку web-сервера в соответствии с заданием, продемонстрировать его работоспособность преподавателю.
Для демонстрации работоспособности необходимо переписать с ftp://ais.khstu.ru/incoming средствами Linux на локальный компьютер каталоги testserver1 и testserver2, для чего использовать в программе mc пункт меню left (right) > ftp link. В данных каталогах содержатся тестовые сайты:
Для создания виртуальных серверов по доменным именам используемые доменные имена необходимо прописать в файле c:\winnt\system32\driver\etc\hosts на том компьютере, на котором будет проводиться проверка.
При защите необходимо знать назначение используемых директив, уметь объяснить информацию, содержащуюся в log файлах.
Контрольные вопросы
Библиографический список