План урока №20 Предмет Установка и управление сервером Группа: ет-04-17



Дата04.01.2022
өлшемі48,37 Kb.
#108900
түріПлан урока

Ф-П-10/3.8

ПЛАН УРОКА №20
Предмет Установка и управление сервером


Группа:

ЕТ-04-17













Дата:

















Форма и система обучения: классно - поурочная

Тип урока: теоретическое занятие

Тема урока: Модуль Apache. Запуск и остановка Apache

Цели урока:

Образовательная: Дать понятия модуль Apache

Воспитательная: Формирование навыков, убеждений, чувств, профессионально-значимых психологических и социально-психологических качеств личности (интеллектуальных, нравственных, эмоционально-волевых).

Развивающая: Развитие познавательного интереса к предмету, умения анализировать, сравнивать, обобщать, развивать фантазию, воображение, творческие способности.
Литература:

1. Колисниченко Д.Н. Администрирование Unix-сервера и Linux-станции.Питер, 2011-400с.

2. А.Кухарчик. PHP: обучение на примерах – М.: Новое знание, 2004 – 237с.
Содержание и ход урока:



Элементы

(этапы) урока


Содержание этапов и вопросы


Методы обучения и активизации



Методичес-кое обеспечение


Время, мин

I. Орг. момент. Приветствие, отметка отсутствующих, мобилизация внимания


3

II. Сообщение целей и плана работы на уроке. Инструктаж об организации работы


3

III. Контроль знаний, проверка домашнего задания

  1. Что такое Linux?

  2. Что такое дистрибутив?

  3. Перечислите основные дистрибутивы Linux. Объясните в чем их отличие.

  4. Какую файловую систему использует для работы установленный Вами дистрибутив?

  5. Перечислите основные этапы установки операционной системы.

Вопросы – ответы


О/1/237


25




IV. Комментирование и выставление оценок

Оценка студентов по домашнему заданию и заданному вопросу



2

V. Сообщение новой темы. Формулировка и запись плана изложения (на доске и в тетрадях) Модуль Apache. Запуск и остановка Apache

2

VI. Актуализация опорных знаний, мотивация учебной деятельности:

Познакомиться с возможностями модуль Apache



3

VII. Объяснение нового материала



 

План:

1.Запуск и остановка Apache

2.Директивы конфигурации web-сервера apache. Контексты использования директив конфигурации


3.Использование динамических модулей


Объеснительно-иллюстративный

Интерактивная доска

40

VIII. Закрепление нового материала.

  1. Что такое директивы?

  2. Что такое директива Options?

  3. Контекст конфигурации сервера

  4. Контекст каталога




Промежуточ ный опрос по данной теме

О/1/280


7

ІХ. Подведение итогов урока

Проверка задании и делаю итог урока, потом выставляю оценку.



3

Х. Задание на дом

1. Колисниченко Д.Н. Администрирование Unix-сервера и Linux-станции.Питер, 2011-400с 280 стр.



2

Преподаватель: __________ Касымбекова Н.С.



Модуль Apache. Запуск и остановка Apache

План:

1.Запуск и остановка Apache

2.Директивы конфигурации web-сервера apache. Контексты использования директив конфигурации


3.Использование динамических модулей

1.Запуск и остановка Apache


Для запуска Web-сервера Apache выполните команду service httpd start или /etc/rc.d/init.d/httpd start. Если будет выдано сообщение об ошибке, то нужно устранить неправильные установки в файле httpd.conf и запустить команду заново. Вы должны запустить Apache как суперпользователь. Apache после запуска будет порождать дочерние процессы, использующие UID и GID, указанные в директивах User и Group.

Для перезапуска Apache выполните команду service httpd restart или /etc/rc.d/init.d/httpd restart. При перезапуске родительский процесс Apache (запущенный суперпользователем) уничтожает всех наследников, читает файл конфигурации и перезапускает новое поколение дочерних процессов. Этот тип перезапуска прерывает обслуживание Web-клиентов, которые продолжают ожидать ответа от дочерних процессов сервера. Родительский процесс Apache укажет дочерним процессам закончить обслуживание текущего запроса и затем закончить свою работу, так что родительский процесс сможет перечитать файл конфигурации и перезапустить новый набор дочерних процессов.

Для остановки Apache выполните команду service httpd stop или /etc/rc.d/init.d/httpd stop.

Cервер Apache предоставляет удобный способ поиска PID основного процесса Web-сервера. PID записан в файл, указанный в директиве PidFile. Это PID основного процесса httpd. Не пытайтесь удалить дочерние процессы вручную один за другим, поскольку основной процесс будет воссоздавать их по мере надобности.



2.Директивы конфигурации web-сервера apache. Контексты использования директив конфигурации


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

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

Основные контексты использования директив:


  • контекст конфигурации сервера – директива может находиться в файле конфигурации сервера вне любого контейнера, который выглядит как пара HTML-тегов. Эти директивы можно считать глобальными, они не влияют на все остальные.

  • контекст контейнера – директивы, находящиеся внутри контейнера и выглядящие следующим образом:

<имя_контейнера>

директива



Контейнеры используются для ограничения области действия директив.



  • контекст каталога – директивы хранятся в файле внутри каталога. Обычно такой файл имеет имя .htaccess. Это текстовый файл, содержащий одну или несколько директив, которые применяются только к текущему каталогу. Эти директивы можно также заключать в контейнер или . Имя файла, содержащего директивы конфигурации для каталога, можно переопределить с помощью директивы AccessFileName имя_файла.

Директива AllowOverride сообщает серверу, какие директивы, объявленные в файле .htaccess, могут изменять значения, определенные директивами в файле конфигурации сервера или принятые по умолчанию. Если директива AllowOverride установлена в None, то сервер не читает файл конфигурации каталога, что ускоряет работу сервера.

Если нужно разрешить управление с помощью файла конфигурации каталога, следует указать одну или несколько следующих опций:



  • AuthConfig – разрешает использование директив аутентификации и управления доступом;

  • FileInfo – разрешает использование директив, управляющих типами документов;

  • Indexes – разрешает использование директив, управляющих индексами каталогов;

  • Limit – разрешает использование директив, управляющих доступом к узлам;

  • Options – разрешает использование директив, управляющих определенными свойствами каталогов.

Контейнерные директивы Apache


- Ограничивает область действия внутренних директив указанными методами HTTP. Используется в основном для управления доступом и аутентификации.

Order deny,allow

Deny from all

Allow from 127.0.0.1 192.168





- Применяется по отношению к методам HTTР, не указанным в списке методов, в том числе к расширенным и нестандартным методам, которые не описаны в протоколе НТТР.

Require valid-user

- Директивы внутри контейнера применяются только по отношению к данному каталогу и его подкаталогам.



AllowOverride All



– выполняет те же действия, что и , но вместо имени каталога она принимает регулярное выражение. Например, директивы, находящиеся внутри контейнера



будут выполняться для каталогов с именами /www/dir1, /www/dir2 и /www/dir3.

- Аналогично , но устанавливает соответствие для файлов. Разрешена внутри и , что позволяет ограничить часть файловой системы, с которой работает директива.

SetHandler /cgi-bin/process-image.cgi





– выполняет те же действия, что и , но вместо имени файла она принимает регулярное выражение. Например, директивы, находящиеся внутри контейнера



будут выполняться для файлов с расширениями txt и doc.

- Аналогично , но применяется не к физической области хранения файлов, а к указателям URL. Директивы, разрешенные в , действуют и в , хотя некоторые (например Options FollowSymLinks) логически бессмысленны и игнорируются.

SetHandler server-info



– выполняет те же действия, что и , но вместо URL она принимает регулярное выражение.

- Позволяет описывать дополнительные виртуальные хосты. У каждого из них должны быть имя, IP-адрес, журналы ошибок и доступа.

ServerName www.beta.com

ServerAdmin admin@beta.com

CustomLog /logs/beta_access_log common

ErrorLog /logs/beta_error_log

DocumentRoot /home/www/beta



Правила при использовании контейнеров:



  • контейнер не может находиться внутри любого другого контейнера;

  • контейнер с самым узким контекстом не может содержать вложенных контейнеров;

  • контейнер может содержать только контейнер ;

  • контейнеры и нельзя смешивать, то есть использовать один внутри другого.

Контейнер с более узкой областью действия перекрывает контейнер с более широко областью действия.

Условная конфигурация

В конфигурационных файлах Apache могут присутствовать разделы, используемые только при определенных условиях. При ограничении разделов конфигурации директивами и Apache будет игнорировать или подключать некоторые из них.

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

AddModule mod_perl.c



HAVE_PERL - определитель, который передается Apache при запуске с ключом -D.

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

Контейнер используется в том случае, когда есть директивы конфигурации модуля, который может не присутствовать в установленной конфигурации сервера Apache.



Alias /perl/ /www/perl/



Если нужна конструкция условия, действие которой прямо противоположно предыдущей, перед именем модуля ставится символ !.


3.Использование динамических модулей

Apache при загрузке загружает все скомпилированные модули. Однако, он также поддерживает динамическую загрузку и выгрузку модулей, представленных в виде DSO (Dynamic Shared Objects - динамические разделяемые объекты). При использовании следующих директив можно изменить список активных модулей без перекомпилирования сервера:

Директива AddModule используется для включения скомпилированного модуля, который в данный момент не активен. Сервер может содержать в своем составе модули, которые не используются. Данная директива позволяет активизировать эти модули. Сервер загружается со списком директив AddModule имя_модуля. При этом модули, указанные ниже по списку, имеют более высокий приоритет: динамический модуль, зпгружаемый последним, является первым, к кому обращается Apache.

Список активных модулей можно очистить с помощью директивы ClearModuleList. При ее использовании все активные модули запрещаются и их нужно включать по новому с помощью директивы AddModule для достижения правильного порядка выполнения модулей.

Директива LoadModule используется для загрузки модуля, скомпилированного как DSO.

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

Для получения списка статических (уже встроенных и поэтому всегда доступных модулей) используется команда httpd -l.

Ограничительные директивы Apache

Данные директивы ограничивают размер запросов НТТР, выдаваемых клиентами, что препятствует нерациональному расходованию клиентами ресурсов сервера и возникновению проблем типа "Отказ в обслуживании".

LimitRequestBody значение - ограничивает размер тела НТТР-запроса, посылаемого методом POST. По умолчанию установлено значение 0, что соответствует неограниченному размеру (максимальное значение - 2Гбайта). Если клиент посылает запрос, размер тела которого превышает допустимое значение, сервер отвечает сообщением об ошибке.

LimitRequestFields значение - ограничивает число дополнительных заголовков, которые могут быть посланы клиентом в НТТР-запросе. Обычно приемлемое число заголовков, которые отправляет клиент, составляет около 20. Большое число заголовков иногда указывает на то, что клиент непреднамеренно передает серверу неверные запросы.

LimitRequestSize значение - ограничивает максимальную длину отдельного заголовка НТТР, посылаемого клиентом, включая имя заголовка. Максимальное значение - 8190 символов.

LimitRequestLine значение - ограничивает максимальную длину самого запроса НТТР, включая метод запроса, URL и протокол. Значение должно быть таким, чтобы клиенты могли обращаться ко всем достоверным URL сервера с учетом строки запроса, устанавливаемой методом GET.



Директива Options

Директива Options управляет выбором свойств сервера, которые будут активными в определенном каталоге. Она учитывается только в контейнере или в файле .htaccess.

Параметры директивы Options :

All – разрешает все опции, кроме MultiViews;

None – запрещает все опции;


  • ExecCGI – разрешает выполнение CGI-сценариев;

  • FollowSymLinks – сервер будет обращаться к файлам или каталогам через символьные ссылки (не действует внутри контейнера );

  • SymLinksIfOwnerMatch – сервер будет обращаться к файлам или каталогам только через те символьные ссылки, целевой файл или каталог которых принадлежит тому же пользователю, что и сама ссылка;

  • Includes – разрешает выполнение команд SSI;

  • IncludesNOEXEC – разрешает выполнение команд SSI, кроме команд exec и include;

  • Indexes – если запрашивается URL, указывающий на каталог, а для каталога не определена директива DirectoryIndex, сервер возвращает форматированный список содержимого каталога;

  • MultiViews – разрешает согласование содержимого, основанное на языке документа. Если клиент не указывает информацию о языковых предпочтениях файла (НТТР-заголовок AcceptLanguage), сервер пытается найти наиболее подходящие совпадения на языках согласно приоритету, заданному директивой LanguagePriority.

Если директива Options не указана для каталога явно, то она наследуется от каталога, находящегося на уровень выше.

Для включения и выключения опций директивы Options используются модификаторы + (добавить в текущий список опций) и – (удалить из текущего списка опций). Если же модификаторы не используются, то значения опций для контейнера полностью заместят все предыдущие значения директивы Options.



Основные директивы конфигурации Apache

Директива ServerName определяет имя сервера, которое пересылается клиенту вместе с другими параметрами запроса. Используется в случае, если сервер имеет несколько имен (синонимов). Например:

ServerName Indy.cnit.nsu.ru

Директива ServerAdmin определяет адрес электронной почты администратора сервера. При возникновении каких-либо ошибок в работе сервера, он выдает клиенту сообщение с просьбой проинформировать о них администратора сервера по указанному E-mail. Например:

ServerAdmin fancy@nsu.ru

Директива ServerRoot определяет абсолютный путь к каталогу сервера. Она сообщает серверу, где находятся все ресурсы и файлы конфигурации. По умолчанию, это /etc/httpd. Например:

ServerRoot /etc/httpd

Директива DocumentRoot определяет каталог локальной файловой системы, от которого начинается отсчет виртуального пути URL. Например:

DocumentRoot /var/www/html

Директива UserDir определяет название публичного подкаталога пользователей. WWW-сервер позволяет обеспечить внешний доступ к гипертекстовым документам пользователей базовой операционной системы. Для этого пользователям необходимо создать в своем домашнем каталоге подкаталог с именем, определяемым параметром UserDir. После этого все обращения по URL:

http://<имя_сервера>/~<имя_пользователя>

будут транслироваться в реальный путь до подкаталога, определенного параметром UserDir в домашнем каталоге пользователя <имя_пользователя>. Например:

UserDir public_html

При этом при обращении по URL

http://www.nsu.ru/~fancy/index.html

сервер будет искать файл index.html в подкаталоге public_html домашнего каталога пользователя fancy.

Директивы User и Group определяют имя пользователя и группу, права которого получает сервер при обработке запросов. Изменение прав сервера производится с целью предотвращения доступа WWW-клиентов к файлам операционной системы, не являющимися общедоступными. Например:

User nobody


Group nobody


Директива Port определяет порт TCP, по которому сервер принимает запросы клиентов. Стандартный порт для WWW-сервера - 80. Пример:

Port 80


Только одна директива Port может быть применена в один момент времени, в отличие от директивы Listen, которая не отменяет значения других директив Listen.

Listen 80

Также Listen может использоваться для определения прослушиваемых IP-адресов (через двоеточие указан прослушиваемый порт).

Listen 192.168.1.15:81

ScoreBoardFile logs/apache_runtime_status - определяет путь к файлу, который используется для обмена информацией между процессами о своем состоянии.

LockFile - определяет путь к файлу блокировки. Обычно применяется блокировка в памяти и данный файл не создается.

UseCanonicalName On - заставляет Apache создавать все внутренние адреса в формате %ServerName%:%Port%. При указании значения Off Apache использует имя узла и номер порта из заголовка запроса для создания адреса. При указании значения dns Apache будет выполнять обратный поиск DNS по IP-адресу сервера при определении имени узла для обращения к внутренним адресам.

TypesConfig /etc/mime.types - задает расположение конфигурационного файла MIME-типов.

DefaultType text/html - устанавливает тип содержимого по умолчанию. Таким образом, когда Apache получает запрос на файл с неизвестным типом (не может определить тип по расширению файла), то он использует предопределенный данной директивой тип. Apache устанавливает заголовок Content-Type при передаче файла неизвестного типа в %DefaultType%.

MIMEMagicFile conf/magic - позволяет серверу определить MIME-тип файла на основании его содержимого, сравнивая несколько байтов из данного файла с образцами, хранящимися в указанном данной директивой файле.

HostNameLookups Off|On - запрещает или разрешает распознавание имен с помощью DNS для каждого запроса. Если распознавание разрешено, то Apache хранит имя системы в переменной окружения REMOTE_HOST каждого запущенного процесса CGI и SSI. Рекомендуется значение Off для уменьшения времени на ответ сервера и сокращения DNS-трафика в сети.

AddDefaultCharset On|Off [Charset] - устанавливает набор символов по умолчанию для заголовка Content-Type, который Apache отправляет браузеру. Если значение директивы установлено в On, то, если дополнительно не указан набор символов, Apache посылает набор символов iso-8859-1 как набор символов по умолчанию. Значения параметра Charset: Windows-1251, ISO-8859-15, CP850, KOI8-R и т.п.



Контрольные вопросы:

  1. Что такое директивы?

  2. Что такое директива Options?

  3. Контекст конфигурации сервера

  4. Контекст каталога



Литературы:

1. Колисниченко Д.Н. Администрирование Unix-сервера и Linux-станции.Питер, 2011-400с.



2. А.Кухарчик. PHP: обучение на примерах – М.: Новое знание, 2004 – 237с.


Достарыңызбен бөлісу:




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет