Студопедія
рос | укр

Головна сторінка Випадкова сторінка


КАТЕГОРІЇ:

АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія






Процес комунікації


Дата добавления: 2014-12-06; просмотров: 672



6.1. Основные принципы работы с Web-сервером Apache. [7.1.1 7.3.1]
6.2. Настройка параметров сервера. [7.1.1 7.3.1]

 

Веб-сервер — это сервер, обслуживающий запросы к одному или нескольким сайтам Всемирной паутины (веб-сайтам).

 

Клиент, в роли которого обычно выступает веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. Ресурсы — это HTML-страницы, изображения, файлы, медиа-потоки или другие данные, которые необходимы клиенту. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP.

 

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

 

Архитектура

Ядро

 

Ядро Apache включает в себя основные функциональные возможности, такие как обработка конфигурационных файлов, протокол HTTP и система загрузки модулей. Ядро (в отличие от модулей) полностью разрабатывается Apache Software Foundation, без участия сторонних программистов.

 

Теоретически, ядро apache может функционировать в чистом виде, без использования модулей. Однако, функциональность такого решения крайне ограничена.

 

Ядро Apache полностью написано на языке программирования C.

Система конфигурации

 

Система конфигурации Apache основана на текстовых конфигурационных файлах. Имеет три условных уровня конфигурации:

Конфигурация сервера (httpd.conf).

Конфигурация виртуального хоста (httpd.conf c версии 2.2 extra/httpd-vhosts.conf).

Конфигурация уровня директории (.htaccess).

 

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

 

Часть модулей использует в своей работе конфигурационные файлы операционной системы (например /etc/passwd и /etc/hosts).

 

Помимо этого, параметры могут быть заданы через ключи командной строки.

Мультипроцессорные модели (MPM)

Система модулей

 

Apache HTTP Server поддерживает модульность. Существует более 400 модулей, выполняющих различные функции. Часть из них разрабатывается командой Apache Software Foundation, но основное количество — отдельными open source-разработчиками.

 

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

 

В модулях реализуются такие вещи, как:

Поддержка языков программирования.

Добавление функционала.

Исправление ошибок или модификация основных функций.

Усиление безопасности.

 

Часть web-приложений, например панели управления ISPmanager и VDSmanager реализованы в виде модуля Apache.

Механизм виртуальных хостов

 

Apache имеет встроенный механизм виртуальных хостов. Он позволяет полноценно обслуживать на одном IP-адресе множество сайтов (доменных имен), отображая для каждого из них собственное содержимое.

 

Для каждого виртуального хоста можно указать собственные настройки ядра и модулей, ограничить доступ ко всему сайту или отдельным файлам. Некоторые MPM, например Apache-ITK позволяют запускать процесс httpd для каждого виртуального хоста с отдельными идентификаторами uid и gid.

 

Также, существуют модули, позволяющие учитывать и ограничивать ресурсы сервера (CPU, RAM, трафик) для каждого виртуального хоста.

Интеграция с другим ПО и языками программирования

 

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

 

К ним относятся:

PHP (mod_php).

Python (mod_python).

Ruby (apache-ruby).

Perl (mod_perl).

ASP (apache-asp).

 

Кроме того, Apache поддерживает механизмы CGI и FastCGI, что позволяет исполнять программы на практически всех языках программирования, в том числе C, C++, sh, Perl и Java.

 

Безопасность

 

Apache имеет различные механизмы обеспечения безопасности и разграничения доступа к данным. Основными являются:

Ограничение доступа к определенным директориям или файлам.

Механизм авторизации пользователей для доступа к директории по методу HTTP-Авторизации (mod_auth_basic) и digest-авторизации (mod_auth_digest).

Ограничение доступа к опеределенным директориям или всему серверу, основанное на IP-адресах пользователей.

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

Существуют модули, реализующие авторизацию через СУБД или PAM.

 

В некоторых MPM-модулях присутствует возможность запуска каждого процесса Apache используя различные uid и gid с соответствующими этим пользователям и группам пользователей.

 

Также, существует механизм suexec, используемый для запуска скриптов и CGI-приложений с правами и идентификационными данными пользователя.

 

Для реализации шифрования данных, передающихся между клиентом и сервером используется механизм SSL, реализованный через библиотеку OpenSSL. Для удостоверения подлинности web-сервера используются сертификаты X.509.

 

Существуют внешние средства обеспечения безопасности, например mod_security.

Интернационализация

 

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

 

Также, можно реализовать средствами сервера отображение различных страниц для пользователей с различными локалями. Apache поддерживает множество кодировок, в том числе Unicode, что позволяет использовать страницы, созданные в любых кодировках и на любых языках.

Обработка событий

 

Администратор может установить собственные страницы и обработчики для всех HTTP ошибок и событий, таких как 404 (Not Found) или 403 (Forrbiden). В том числе существует возможность запуска скриптов и отображения сообщений на разных языках.

Как только Apache был успешно установлен, его необходимо настроить.

 

Замечание: В этом разделе рассказывается о версии 1.3.X Apache HTTP сервера, поскольку эта версия наиболее широко используется в FreeBSD. Apache 2.X содержит много новых технологий, но здесь они не обсуждаются. За дополнительной информацией о Apache 2.X, обращайтесь к http://httpd.apache.org/.

 

Настройка

 

В FreeBSD основной файл настройки Apache HTTP сервера устанавливается в /usr/local/etc/apache/httpd.conf. Это обычный текстовый UNIX® файл настройки с строками комментариев, начинающимися с символа #. Исчерпывающее описание всех возможных параметров настройки находится за пределом рассмотрения этой книги, поэтому здесь будут описаны только наиболее часто модифицируемые директивы.

ServerRoot "/usr/local"

 

Указывает верхний каталог установки Apache по умолчанию. Бинарные файлы находятся в bin и sbin, подкаталоги расположены относительно корневого каталога сервера, файлы настройки находятся в etc/apache.

ServerAdmin you@your.address

 

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

ServerName www.example.com

 

ServerName позволяет вам устанавливать имя хоста, которое отправляется обратно клиентам, если оно отличается от того, с которым настроен хост (например, использование www вместо реального имени хоста).

DocumentRoot "/usr/local/www/data"

 

DocumentRoot: Каталог, внутри которого будут храниться документы. По умолчанию, все запросы обрабатываются внутри этого каталога, но символические ссылки и синонимы могут использоваться для указания на другие каталоги.

 

Хорошей идеей будет сделать резервные копии настроек Apache перед внесением изменений. Как только вы будете удовлетворены первоначальной настройкой, можно запускать Apache.

 

Запуск Apache

 

Apache не запускается из inetd, как это делают многие другие сетевые серверы. Он настроен для автономного запуска, чтобы обеспечивать большую производительность при обработке HTTP запросов от браузеров клиентов. Для упрощения запуска, остановки и перезапуска сервера существует shell скрипт. Для запуска Apache в первый раз просто выполните:

# /usr/local/sbin/apachectl start

 

Вы можете остановить сервер в любой момент, выполнив:

# /usr/local/sbin/apachectl stop

 

После внесения любых изменений в файл настроек, вам потребуется перезапустить сервер:

# /usr/local/sbin/apachectl restart

 

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

# /usr/local/sbin/apachectl graceful

 

Дополнительная информация находится на странице справочного руководства apachectl(8).

 

Для запуска Apache при старте системы, добавьте в /etc/rc.conf следующую строку:

apache_enable="YES"

 

Если вы хотите передать программе Apache httpd дополнительные параметры командной при загрузке системы, они могут быть помещены в дополнительную строку rc.conf:

apache_flags=""

 

Теперь, когда веб сервер запущен, вы можете просмотреть свой веб сайт, задав в строке браузера адрес http://localhost/. По умолчанию отображается веб страница /usr/local/www/data/index.html.

 

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

 

Apache поддерживает два различных типа виртуального хостинга (Virtual Hosting). Первый метод основан на именах (Name-based Virtual Hosting). Он использует полученные от клиента заголовки HTTP/1.1 для определения имени хоста. Это позволяет многим различным доменам использовать один и тот же IP адрес.

 

Для настройки Apache на использование этого типа хостинга добавьте в httpd.conf запись подобную следующей:

NameVirtualHost *

 

Если веб сервер назывался www.domain.tld и вы хотите настроить виртуальный домен для www.someotherdomain.tld, необходимо добавить в httpd.conf следующие записи:

<VirtualHost *>

ServerName www.domain.tld

DocumentRoot /www/domain.tld

</VirtualHost>

 

<VirtualHost *>

ServerName www.someotherdomain.tld

DocumentRoot /www/someotherdomain.tld

</VirtualHost>

 

Замените адреса и пути к документам на те, что вы будете использовать.

 

Гематомный тип кровоточивости

n массивные, напряженные и болезненные кровоизлияния в подкожную клетчатку, крупные суставы, мышцы, под апоневрозы и фасции, в забрюшинное пространство;

n профузные спонтанные посттравматические или послеоперационные кровотечения, в том числе из внутренних органов (желудочно-кишечные, почечные)


<== предыдущая лекция | следующая лекция ==>
Ситуаційні теорії лідерство | Управління комунікаційними процесами
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | <== 27 ==> | 28 | 29 | 30 | 31 | 32 |
Studopedia.info - Студопедия - 2014-2024 год . (0.203 сек.) російська версія | українська версія

Генерация страницы за: 0.203 сек.
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7