Как определяются области видимости директивы в файле конфигурации web сервера

Обновлено: 07.07.2024

Адрес, на котором будет поднят backend (web сервер, на который будет передавать запросы frontend сервер). При одновременной установке nginx и apache backend — apache.

WebModules <список модулей>

Список используемых web серверов

WebUser <имя>

Имя пользователя, с правами которого работает web сервер (необходимо указывать именно имя, а не uid)

WebGroup <имя>

Группа, с правами которой работат web сервер (необходимо указывать именно имя, а не gid)

WebRestartDelay <секунды>

Минимальное время, которое должно проходить между перезапусками web сервера

SSLSecureProtocols <список протоколов>

Список протоколов, указываемых web-серверу для использования в случае, если используется повышенная безопасность SSL (например, SSLSecureProtocols TLSv1 TLSv1.1 TLSv1.2)

SSLSecureChiphers <список шифров>

Список шифров в формате openssl, указываемых web-серверу для использования в случае, если используется повышенная безопасность SSL (например, SSLSecureChiphers HIGH:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!EXP:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2)

ApsExtRepository <URL репозитария>

Путь до xml-файла внешнего репозитория APS

Option ApsRepositoryUpdated

Наличие этой опции указывает, что при старте панели управления не нужно выполнять обновления списка APS-скриптов

Option DisableSecurePhpBin

Наличие этой опции отключает создание защищенной директории php-bin (DefaultHomeDir/php-bin/username) для пользователя и создание хардлинок для php и php.ini из домашней директории пользователя в защищенную директорию (применяется в режимах работы php как CGI или FastCGI (Apache)). Вместо этого php и php.ini будут создаваться в директории php-bin пользователя

Список доступных кодировок web домена берется из файла etc/charset. По умолчанию в нем указана только utf-8.

Настройка Apache

Во время запуска панели происходит опрос загруженных модулей apache. Так мы определяем список возможных настроек

cgi_module

возможность работы с CGI скриптами

fastcgi_module или fcgid_module

возможность работы с php в режиме fastcgi

php5_module

возможность работы c php через модуль apache

Если есть поддержка CGI и найден файл, указанный в path php-cgi, появляется возможность работы с php в режиме CGI

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

Option ApacheITK

Добавляется, если используется apache ITK. При этом в конфиг вместо директивы SuexecUserGroup пишется AssignUserID

path apachectl <имя>

Путь до программы/скрипта, используемого для перезапуска apache. Должен уметь обрабатывать следующие параметры: -M (получить список модулей), graceful (мягкая перезагрузка), restart (жесткая перезагрузка, используется при добавлении/удалении IP адресов)

path apache-vhosts <каталог>

Имя каталога, в котором будут создаваться файлы с настройками web доменов

path apache.conf <путь>

Путь до основного файла конфигурации apache. В него будут записываться директивы Listen и NameVirtualHost

ApacheWidePorts <список портов>

Для указанных портов в apache будет добавляется Listen для всех IP адресов сервера. По умолчанию: 80 443. Это позволяет уменьшить количество жестких перезапусков apache.

Настройка Nginx

Во время запуска панели проверяется наличие сервиса php-fpm. Если он найден, будет доступно использовать в настройках web доменов php в режиме fastcgi.

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

path nginx-vhosts <каталог>

Имя каталога, в котором будут создаваться файлы с настройками web доменов

path nginx-vhosts-includes <список каталогов>

Пути до файлов с дополнительными настройками, которые будут добавлены в секцию server каждого web домена (используется директива Include)

path fpm-pool.d <каталог>

Имя каталога, в котором будут создаваться файлы с настройками php-fpm

path fpm-service <имя>

Имя сервиса php-fpm. Используется для его перезапуска при добавлении новых пользователей.

path nginx-static <регулярное выражение>

Используется для определения файлов, которые nginx должен отдавать самостоятельно.

path nginxctl <команда>

Используется для перезапуска nginx при добавлении новых web доменов. Должна обрабатывать параметры: reload (перечитать настройки web доменов), restart (перезапустить nginx, используется при добавлении/удалении IP адресов), stop/start (запустить nginx, используется при конвертации настроек в случае добавления/удаления web сервера)

path nginx-configtest <команда>

Используется для проверки корректности содержимого конфигурационных файлов Nginx. По умолчанию равна [path nginxctl] configtest

path nginx <команда>

Используется при запуске панели для проверки работоспособности nginx. Должна корректно обрабатывать параметр -V

ForwardedSecret <строка>

Используется для защиты от подделки IP адреса.

Пример

То создастся location

ForwardedSecret

Перезапуск web сервера

Попытка перезапуска web сервера происходит через 2 секунды после последнего изменения настроек. Если в течение этого времени происходят другие изменения, то перезапуск будет отложен еще на 2 секунды. Дополнительно вы можете задать параметр WebRestartDelay — минимальную задержку между последовательными перезапусками web сервера.

В случае, если изменения не затрагивали списка прослушиваемых IP адресов/портов, делается мягкая перезагрузка web сервера, в противном случае сервер перезапускается полностью.

Шаблоны конфигурационных файлов web-сервера

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

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

Для того, чтобы администратор сервера мог влиять на формирование конфигурационных файлов web-сервера для конкретного web-домена, реализованы шаблоны конфигурационных файлов, создаваемых ISPmanager 5.

Шаблоны не переопределяют тех настоек, что производит ISPmanager, а лишь позволяют добавлять дополнительные строки.

Файлы шаблонов находятся:

  • etc/templates/apache-vhost.template — шаблон файла конфигурации web-домена для web-сервера Apache
  • etc/templates/nginx-vhost.template — шаблон файла конфигурации web-домена для web-сервера Nginx

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

Макросы имеют вид: ____, имена параметров всегда полностью в верхнем регистре

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

Примеры макросов для параметров сессии:

  • _NAME_ — имя web-домена
  • _OWNER_ — имя пользователя-владельца web-домена
  • _ALIASES_ — список псевдонимов web-домена
  • _EMAIL_ — email администратора web-домена
  • _DIRINDEX_ — список индексных страниц web-домена
  • _CHARSET_ — кодировка страниц web-домена по умолчанию
  • _HOSTNAME_ — доменное имя сервера, на котором установлена панель управления
  • _LISTEN_ON_ — список пар типа IP-адрес:порт, используемых web-доменом

Пример

Чтобы добавить в location / сервера строки, составим следующий шаблон

Обратите внимание, строка server_name _NAME_ _ALIASES_; должна обязательно присутствовать в шаблоне, иначе ISPmanager не определит в какой server добавить данные и добавить еще один server в конец файла.

Ротация журналов

ISPmanager 5 использует logrotate для ротации журналов web сервера.

path logrotate.d <каталог>

Указывает каталог, куда будут сохраняться настройки logrotate (отдельные файлы для каждого web домена)

LogrotateInfiniteValue <целое число>

Указывает количество хранимых архивов, если в панели указано бесконечное значение

Анализаторы журналов

Теоретически, ISPmanager может работать с любыми анализаторами журналов. На данный момент через интерфейс могут быть установлены:

path analyzer.d <каталог>

Указывает каталог, куда будут сохраняться скрипты для анализа журналов (отдельные файлы для каждого web домена)

При установке анализатора журналов в конфиг панели записывается следующая секция:

ConfPath

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

BinPath

указывает путь до исполняемого файла

Lang

указывает поддерживаемые языки. Секция Analyzer может содержать любое количество таких строк

При включении анализатора журналов из каталога etc/template берется соответствующий шаблон скрипта (имя файла совпадает с именем анализатора). В нем происходит подстановка всех макросов (список макросов можно узнать, включив дебаг для модуля web) и копируется в каталог analyzer.d. Дополнительно формируется конфиг. Из etc/template берется соответствующий файл с расширением .conf, в нем так же заменяются все макросы и он сохраняется в файл, имя которого указано в ConfPath (вместо _NAME_ подставляется имя web домена).

Полученный скрипт вызывается всякий раз при ротации журнала через logrotate. Если вы задали периодический анализ, вызов этого скрипта будет добавлен в планировщик.

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

  • AwstatsEncoding — кодировка генерируемых awstats html-страниц отчетов
  • WebalizerEncoding — кодировка генерируемых webalizer html-страниц отчетов

По умолчанию данные параметры имеют значение "utf-8"

Переконфигурирование web-сервера

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

Для выполнения операции последовательно нужно выполнить следующие функции:

Пример выполнения с пом ощь ю mgrctl для ISPmanager Lite:


Настройки веб-сервера Apache

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

Индексный файл

Индексный файл или файл-индекс это тот файл, который открывается по умолчанию при обращении пользователя через веб к каталогу, а не к конкретному файлу. Например, ваш посетитель запросит адрес //ваш_домен/catalogue/ , где catalogue — название каталога. Индексный файл это тот файл, который будет показан пользователю при обращении к каталогу без указании имени конкретного файла в нем.

По умолчанию индексными файлами являются следующие: index.html , index.htm , index.php , index.php3 , index.phtml , index.shtml , default.htm или default.html . Если вы хотите чтобы первым открывался какой-то иной файл, нужно переопределить текущие значения.

Назначение и использование файла .htaccess

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

Файл .htaccess может быть размещен в корневом каталоге веб-сервера (прямо в каталоге www). В этом случае директивы из такого .htaccess действуют по всему веб-серверу. Также .htaccess может находиться и в конкретном подкаталоге сервера. Тогда директивы, которые указаны в этом файле, «перекрывают» действие директив из «основного» файла, который размещен в каталоге www или в любом каталоге более высокого уровня. То есть, действие директив из .htaccess наследуется сверху вниз, но не наоборот. Изменения, внесенные в файл, вступают в силу немедленно. Это связано с тем, что информация из .htaccess перечитывается при каждом обращении к веб-серверу Apache.

В .htaccess может быть помещено большинство из доступных директив для веб-сервера. Следует заметить, что директивы, в описании которых в поле Context отсутствует упоминание .htaccess недоступны для использования в этом файле конфигурации. На примере директивы AddType видим, что поле Context содержит упоминание о .htaccess, соответственно вы можете ее использовать:

Если использовать нужную директиву не получилось, и вы увидели ошибку после добавления директивы в .htaccess, скорее всего, использование команды запрещено в условиях виртуального хостинга. Напишите в техническую поддержку, мы постараемся вам помочь. Просьба подробно описать проблему и указать цели, которых хотите достичь использованием данной директивы.

Как переопределить кодировку HTML-документов

Если на вашем ресурсе существуют html-документы в разных кодировках, (ISO-8859-1, Windows-1250, Windows-1252, UTF-8), то вам, возможно, будет необходимо отключить принудительну выдачу заголовка с кодировкой windows-1251. Для этого в .htaccess добавляется строка: AddDefaultCharset Off

Статья по теме: Какой выбрать хостинг для сайта на WordPress: советы новичку

Это примеры простейшего использования возможностей конфигурирования Apache через файл .htaccess.

Как закрыть директорию паролем

Одна из стандартных задач, которая решается путем использования .htaccess, это ограничение доступа к определенному каталогу на сервере. Например, нужно дать доступ к определенному каталогу отдельным посетителям, снабдив их при этом уникальным логином и паролем.

В каталоге, к которому хотим ограничить доступ по паролю, создаем файл .htaccess с такими директивами:

Путь /home/uXXXXX/.htpasswd обозначает полный путь к файлу паролей на диске нашего сервера. Если, например, вы поместите файл .htpasswd (в нем будут пароли) в домашний каталог, куда вы попадаете зайдя на сервер по FTP, то путь к этому файлу будет иметь вид /home/uXXXXX/.htpasswd, где uXXXXX — наименование вашей виртуальной площадки (например, u12345).

В директиве AuthUserFile указываем абсолютный путь к файлу с логинами/паролями, который мы создадим чуть позже. Если вы создаете файл .htaccess на своем компьютере, а не сразу на сервере при помощи текстового редактора, обратите внимание на то, что .htaccess должен передаваться по FTP строго в текстовом (ASCII) режиме.

Создаем файл паролей. Файл с паролями должен содержать строки вида login:password. Пароль должен быть зашифрован с использованием алгоритма MD5. Один из способов создать такой файл — воспользоваться программой, входящей в поставку Apache — htpasswd (на нашем сервере она находится в каталоге /usr/local/bin/, полный путь — /usr/local/bin/htpasswd).

Рассмотрим как создать файл паролей в unix shell прямо на сервере. Зайдем в shell, и будем выполнять следующие команды:

* htpasswd -mbc .htpasswd user1 sNQ7j9oR2w создаем новый файл .htpasswd, в который добавляем запись для пользователя user1 с паролем, указанным в командной строке. Просьба обязательно заменить sNQ7j9oR2w на любой собственный пароль — здесь этот пароль указан только для примера
* htpasswd .htpasswd user2 добавляем в уже существующий файл .htpasswd пользователя user2, а пароль вводим вручную в ответ на соответствующий запрос программы

Если вы используете Windows и не хотите пользоваться unix shell для генерации паролей, можно загрузить Windows-версию программы htpasswd здесь и создать файл с паролями на своем компьютере, после чего загрузить его на сервер. Если у вас уже установлена Windows-версия Apache, файл htpasswd.exe можно найти в каталоге Program Files\Apache Group\Apache\bin\.

Итак, получите htpasswd.exe и используйте его для генерации паролей таким образом:

* htpasswd.exe -mc .htpasswd user1 создаем новый файл паролей htpasswd.exe, пароль и его подтверждение будут запрошены интерактивно
* htpasswd.exe -m .htpasswd user2 добавляем пользователя user2 в существующий файл паролей htpasswd.exe, запросив пароль интерактивно

После окончания заведения всех логинов файл нужно загрузить на сервер.

Как переопределить индексный файл

Получив .htaccess с таким содержимым, веб-сервер Apache откроет по умолчанию именно файл myindex.php.

Как запретить или разрешить выдачу листинга

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

Файл .htaccess необходимо создавать именно в том каталоге, в котором планируется разрешить листинг. Данная директива будет действовать также и на все подкаталоги (это достигается включенной по умолчанию в настройках виртуального хоста директивой AllowOverride All).

Статья по теме: Бесплатно или дешево? Обзор хостинга Hostinger

Как настроить собственные страницы ошибок

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

Как закрыть доступ с некоторых IP-адресов

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

В таком случае необходимо создать в нужной директории файл .htaccess с директивами. Например, чтобы запретить доступ с IP-адреса

Теперь при попытке обратиться к сайту с IP-адреса 172.16.16.16 посетитель получит ошибку 403 или вашу страницу для этой ошибки.

Указание части адреса в виде 172.16.16 ограничит доступ из подсети 172.16.16/24.

С более подробной документацией вы можете ознакомиться в документации по Apache.

Как закрыть доступ к некоторым файлам

Иногда возникает необходимость запретить доступ к определенным файлам. Например, к конфигурационным файлам, содержащим реквизиты доступа к базам данных, интерфейсам и т.п. Допустим, в файле config.cfg вы храните логин/пароль доступа к базе данных. Создаем в этой директории файл .htaccess с директивами:

Как настроить заголовок last-modified

Для SSI cервер будет выдавать значение last-modified в том случае, если прописана директива «XBitHack full» (просто пропишите эту строку в .htaccess), и для файла, к которому происходит обращение, выставлен атрибут «исполняемый» для группы. В скриптах last-modified выдается иными средствами. Например, если учесть то, что php-скрипт генерирует код динамически, то самым логичным будет в качестве last-modified отдавать текущую дату и время./>

Реализуется это следующим образом:
<? header("Last-Modified: " . gmdate("D, d M Y H:i:s"). " GMT"); ?>

Команда header должна выполняться в php-скрипте до того, как скрипт начнет выдавать html-текст в браузер пользователя.

Дополнительно можете изучить:

  • Функцию header;
  • Функции для работы с сервером Apache.

Как управлять кэшированием

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

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

В приведенном ниже примере отключено кэширование для текстовых документов, установлен период обновления для файлов с расширением gif — 3 месяца с момента изменения файла, для файлов с расширением jpeg — 1 день с момента обращения:

ExpiresActive on
ExpiresByType image/jpeg "access plus 1 day"
ExpiresByType image/gif "modification plus 3 months"
ExpiresByType text/html "now"

Примечание: При использовании Parser если вам необходимо полностью исключить заголовки от модуля Apache mod_expires, то для этого необходимо в директории с parser3.cgi создать файл . htaccess и внести в него следующую директиву:
ExpiresActive off

Как сделать переадресацию

Если у вас размещены 2 домена (не обязательно на одной площадке) domain1.tld и domain2.tld, и вам необходимо, чтобы при обращении к domain2.tld у пользователей изменялся адрес на «правильный», и сразу происходило перенаправление, тогда добавьте для домена domain2.tld переадресацию на //domain1.tld/.

Статья по теме: Проблема выбора хостинга для сайта агентства недвижимости: как обезопасить данные пользователя

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

Особенность переадресации на синонимах

Предположим, есть домен domain1.tld и синоним domain2.tld. Если запросить в браузере адрес //domain2.tld/dir/ со знаком слэша в конце, то будет отображена индексная страница из директории dir основного домена, при этом содержимое адресной строки браузера останется без изменений. Но если запросить //domain2.tld/dir без слэша в конце, то произойдёт переадресация на //domain1.tld/dir/, и содержимое адресной строки изменится соответствующим образом.

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

Если такое поведение веб-сервера вас не устраивает, добавьте в файл .htaccess следующие строки:

О создании переадресаций с другими условиями вы можете узнать из документации по web-серверу Apache.

Раньше веб-разработчикам приходилось на Windows-машине устанавливать сервер Apache с различными дополнениями к нему: PHP, Perl, MySQL и т.д. — в целях более удобной отладки сайтов. Но Дмитрий Котеров и группа программистов упростила жизнь многим веб-разработчикам, создав проект «Денвер».

Я уже давно использую Denwer (Джентельменский набор веб-разработчика). Он меня полностью устраивает, потому что этот набор прост в установке и не прихотлив в использовании.

Стандартный пакет Денвера включает в себя следующий пакет:

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

XAMPP

Некоторые веб-разработчики говорят, что устанавливали Денвер ранее, но после продолжительного использования он им показался ужасно неудобным и капризным. Поэтому они работают с XAMPP. Это кроссплатформенная сборка веб-сервера, содержащая Apache, MySQL, интерпретатор скриптов PHP, язык программирования Perl и большое количество дополнительных библиотек, позволяющих запустить полноценный веб-сервер.

7 мая 2016 я тоже познакомился с XAMPP. Все время до этого пользовался исключительно Денвером. Но когда установил XAMPP, чтобы запустить сайт на WordPress локально — сразу в него влюбился. Он реально крут. Не обошлось без проблем. Как всегда найдутся программы, которые также используют 80 порт. Да, опять этот Skype :). Но я отключил одну службу и все стало норм.

Nginx – компактный и производительный веб-сервер, созданный для систем с высоким трафиком. Одной из его сильных сторон является эффективное представление статического контента, например, HTML или медиафайлов. В Nginx используется асинхронная модель с управлением событиями, что обеспечивает предсказуемую производительность при высокой нагрузке.
Динамический контент Nginx передает CGI, FastCGI или другим веб-серверам, например, Apache. Затем этот контент возвращается Nginx для отправки клиенту. В данном руководстве мы рассмотрим базовые принципы и параметры конфигурации Nginx.

Директивы, блоки и контексты

В рассмотренном примере заданы следующие директивы:

Серверные блоки

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

Директива server_name позволяет размещать несколько доменов на одном IP-адресе (виртуальные хосты). Выбор домена осуществляется на основании информации в заголовке полученного запроса.

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

3.Обработка запросов ко всем доменным именам, начинающимся с example.:

Это полезно, если ваш сервер работает в локальной сети или вы точно знаете все клиенты, которые будут осуществлять запросы, например, front-end прокси-серверы, у которых записи в /etc/hosts настроены на IP-адрес Nginx.

Блоки Location

Nginx всегда выполняет запрос, находя наиболее точное соответствие:

Когда после директивы location указана тильда (

), Nginx определяет соответствие по регулярному выражению. Этот поиск всегда чувствителен к регистру. Таким образом, страница IndexPage.php будет соответствовать первому из приведенных выше примеров, а indexpage.php – нет. Во втором примере регулярному выражению будут соответствовать запросы к /BlogPlanet/ и /BlogPlanet/index.php, но не /BlogPlanet, /blogplanet/, или /blogplanet/index.php. В Nginx используются Perl-совместимые регулярные выражения.
Если вы хотите, чтобы поиск не был чувствителен к регистру, после тильды нужно указать звездочку (

Если указать перед тильдой символ «крышки» (^

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

Директивы обрабатываются в следующем порядке:

  1. Сначала обрабатываются точные соответствия строк. Если соответствие найдено, Nginx прекращает поиск и отвечает на запрос.
  2. Обрабатываются оставшиеся директивы с точно заданными строками. Если Nginx находит соответствие директиве с аргументом ^

Убедитесь, что каждый файл или папка в домене соответствуют условиям хотя бы одной директивы location.

Внутри блока location указываются собственные директивы, например:

В данном примере корень документов находится в директории html/. При установке Nginx в месторасположение по умолчанию она находится в /etc/nginx/html/ . В директиве root также можно использовать абсолютный путь.

Переменная index сообщает Nginx, какой файл передавать, если клиент не указал конкретное имя, например:

Разберем ответы на некоторые запросы

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.


Разработал преподаватель кафедры информатики и информационных технологий:

Шибеко Марина Николаевна

Лабораторная работа №1

Тема: W eb-сервер Apache

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

Вид работы: фронтальный

Время выполнения: 2 часа

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

Web-сервер Apache

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

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

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

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

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

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

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

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

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

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

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

Читайте также: