Apache файл конфигурации. Конфигурационные файлы Apache

Apache - наиболее используемый интернет-сервер на линукс системах. Интернет-сервера используются для выдачи интернет-страниц по запросу клиентских компьютеров. Клиенты обычно запрашивают и просматривают интернет-страницы используя приложения интернет-браузеров, таких как Firefox, Opera, Chromium или Mozilla.

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

Www.ubuntu.com

SymLinksIfOwnerMatch - Следует по символическим ссылкам если целевой файл или каталог имеет того же владельца, что и ссылка.

Настройки httpd

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

LockFile - инструкция LockFile устанавливает путь к блокирующему файлу (lockfile) когда сервер скомпилирован с опцией USE_FCNTL_SERIALIZED_ACCEPT или USE_FLOCK_SERIALIZED_ACCEPT. Он должен сохраняться на локальном диске. Стоит оставить значение по умолчанию если только каталог журналов не расположен на NFS ресурсе. В противном случае исходное значение стоить изменить на каталог локального диска с правами на чтение только для root.

PidFile - инструкция PidFile устанавливает файл, в который сервер записывает ID своего процесса (pid). Этот файл должен быть доступен на чтение только root. В большинстве случаев этот параметр стоит оставить без изменений.

User - инструкция User устанавливает userid (ID пользователя), используемый сервером для ответа на запросы. Эта настройка определяет права доступа сервера. Любые файлы, недоступные этому пользователю, также будут недоступны для посетителей вашего сайта. По умолчанию используется пользователь «www-data».

Group - инструкция Group аналогична директиве User. Group устанавливает группу под которой сервер будет отвечать на запросы. Значение по умолчанию также «www-data».

Модули Apache2

Apache2 - модульный сервер. Это означает, что только самая базовая функциональность включена в ядро сервера. Расширенные возможности доступны через модули, которые могут быть загружены в Apache2. По умолчанию базовый набор модулей включается в сервер на этапе компиляции. Если сервер скомпилирован для использования динамически загружаемых модулей, то модули могут быть скомпилированы отдельно и добавлены в любое время с использованием инструкции LoadModule . В противном случае Apache2 должен быть перекомпилирован для добавления или удаления модулей.

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

Вы можете установить дополнительные модули Apache2 и использовать их с вашим интернет сервером. Например, запустите следующую команду в терминале для установки модуля авторизации MySQL:

Sudo apt-get install libapache2-mod-auth-mysql

Ищите дополнительные модули в каталоге /etc/apache2/mods-available.

Используйте утилиту a2enmod для включения модуля:

Sudo a2enmod auth_mysql sudo service apache2 restart

Аналогично a2dismod выключит модуль:

Sudo a2dismod auth_mysql sudo service apache2 restart

Настройка HTTPS

Модуль mod_ssl добавляет важную возможность для сервера Apache2 - возможность шифрованных соединений. Таким образом, когда ваш браузер соединяется с использованием SSL , используется префикс https:// в начале адреса URL в строке навигации.

Модуль mod_ssl доступен в пакете apache2-common. Выполните следующую команду в терминале для включения этого модуля:

Sudo a2enmod ssl

Настройки по умолчанию для HTTPS находятся в файле /etc/apache2/sites-available/default-ssl. Чтобы Apache2 предоставлял HTTPS, также требуются файлы ключа и сертификата. Изначальная настройка HTTPS использует сертификат и ключ, созданные пакетом ssl-cert. Они подходят для тестирования, но должны быть заменены на сертификат, соответствующий вашему сайту или серверу. Для информации по созданию ключей и получению сертификатов смотрите раздел Сертификаты .

Для настройки Apache2 для HTTPS введите следующее:

Sudo a2ensite default-ssl

Каталоги /etc/ssl/certs и /etc/ssl/private используются по умолчанию. Если вы установили сертификат и ключ в другие каталоги, убедитесь что изменили соответственно опции SSLCertificateFile и SSLCertificateKeyFile.

С Apache2, теперь настроенным на HTTPS, перезапустим сервис для разрешения новых настроек:

Sudo service apache2 restart

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

Вы можете получить доступ к страницам защищенного сервера набрав https://your_hostname/url/ в адресной строке вашего браузера.

Права разделения записи

Чтобы более одного пользователя имели право записи в один и тот же каталог, необходимо дать право записи группе, которая их объединяет. Следующий пример предоставляет права на запись в каталог /var/www для группы «webmasters».

Sudo chgrp -R webmasters /var/www sudo find /var/www -type d -exec chmod g=rwxs "{}" \; sudo find /var/www -type f -exec chmod g=rws "{}" \;

Если доступ должен быть предоставлен более чем одной группе на каталог, используйте Списки управляемого доступа (ACL).

Веб-сервер – программа, которая запущена на локальной или удаленной машине, и главное её предназначение – позволять пользователю просматривать веб-документы. Когда в адресной строке вводится адрес сайта, при нажатии клавиши Enter браузер формирует некий запрос, направленный удаленному компьютеру - веб-серверу.

Apache HTTP-сервер (сокращение от англ. a patchy server ) – одна из наиболее популярных и распространенных программ, созданных для веб-разработчиков и администраторов интернет-ресурсов. По данным независимых исследователей, Apache установлен на 50% компьютеров всех пользователей HTTP-серверов.

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

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

О том, как установить сервер Apache для операционной системы Windows 7, пойдет речь в данной статье.

Установка Apache

В первую очередь необходимо скачать последнюю версию дистрибутива Apache без поддержки SSL и запустить установку. В приветственном окне нужно кликнуть на «Next », прочесть лицензионное соглашение разработчика и подтвердить свое согласие с ним.

Затем, в окне установки необходимо заполнить поля так, как показано на картинке ниже, а в поле «Administrator’s Email Address » указать адрес своей электронной почты, кликнуть «Next » и установить переключатель в положение «Custom ».




Далее необходимо создать директорию www на диске C и указать её в качестве установочной папки для Apache, кликнуть «Next » в этом и «Install » в следующем окне. Когда установка закончится, нажмите на «Finish ».

Если все прошло успешно, в трее должен появиться значок управления веб-сервером Apache. Остановить и перезагрузить его можно, кликнув на значке левой кнопкой мыши.

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

Для того чтобы проверить работает ли установленный сервер Apache, наберите в адресной строке вашего браузера http://localhost

Если появилась страница с воодушевляющей надписью «It works! », значит, установка Apache прошла успешно, и он функционирует правильно.

Базовая настройка веб-сервера

Хоть Apache и является весьма удобным и исключительно надёжным, не все готовы его использовать как локальный сервер по ряду причин, и основная - отсутствие даже в среде Microsoft Windows какого-либо графического конфигуратора, что довольно непривычно для большинства пользователей.

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

Что необходимо?

  • Запустить Apache под платформой Windows 7;
  • Хранить в удобной для пользователя директории файлы будущего сайта (например, C:www);
  • Не испытывать проблем с кодировкой, а в частности - с отображением кириллицы;
  • Возможность работать с несколькими сайтами одновременно.

Чтобы успешно решить эти проблемы, зайдите в папку с установленным Apache, найдите и откройте в подпапке conf файл httpd.conf . Обратите внимание, что строки, начинающиеся с «решётки », являются текстовыми комментариями, а в качестве настроек веб-сервера использованы строки, в начале которых значок «решётки » отсутствует.

Для начала нужно выполнить настройку той директории, которая будет использоваться сервером в качестве папки веб-сайта. Найдите в тексте строку, которая начинается с DocumentRoot . Данная директива определяет, какая папка будет являться корневой.

Исправьте её на DocumentRoot “C:/www ”. Следует уточнить, что слэши в этом файле должны быть наклонены вправо, а не влево, как, вероятно, уже привыкли пользователи Windows. После вышеуказанных манипуляций, проблема с месторасположением вашего сайта решена.

Options (определяет, какие серверные функции будут доступны) AllowOverride (определяет, какие директивы из.htaccess могут преобладать над такими же в httpd.conf) Order (устанавливает определенные правила доступа к серверу)

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

Options. Возможны следующие варианты:

  • Includes – использование SSI разрешено;
  • IncludesNOEXEC – использование SSI разрешено с ограничениями (не допускаются #include и #exec );
  • Indexes – разрешено использование индексных файлов, и если URL-адрес указывает на директорию сайта (например, www.domain.ru/dir/ ), в которой не существует индексного файла, будет показано содержимое данной директории, а если этой опции нет – выдается оповещение о том, что доступ запрещён;
  • ExecCGI – выполнение скриптов CGI разрешено;
  • FollowSymLinks – сервер следует по имеющимся символическим ссылкам директории (используется в Unix-системах);
  • SymLinksIfOwnerMatch – сервер следует по имеющимся символическим ссылкам директории лишь в том случае, если целевой файл имеет одного владельца со ссылкой;
  • All – все вышеописанное вместе разрешено;
  • None – все вышеописанное вместе запрещено;
  • MultiViews – возможность подбора определенного контента и его выдачи в зависимости от предпочтений браузера (даже если включено все (Options All). Указывается отдельно).

AllowOverride. Варианты:

  • AuthConfig – позволяет использовать директивы для авторизации;
  • FileInfo – разрешает использование директив для работы с различными типами документов;
  • Indexes – разрешает использование директив для работы с файлами индексации;
  • Limit – разрешает использование директив для определения доступа к хосту;
  • Options – разрешает использование директив для работы с определенными специфическими функциями директорий;
  • All – все вышеуказанное вместе;
  • None – ничего из вышеуказанного вместе.

Order. Варианты:

  • Deny, Allow – Deny определяется перед директивой Allow, доступ разрешен по умолчанию, кроме хостов, которые указаны в следующей после Deny from строке;
  • Allow,Deny – Allow определяется перед директивой Deny, доступ запрещен по умолчанию, кроме хостов, которые указаны в следующей после Allow from строке;
  • Mutual-failure – разрешен доступ только таких хостов, которые отсутствуют в Deny и присутствуют в Allow.

На основе всего вышесказанного, попробуйте настроить ваш сервер. В файле httpd.conf директива Directory по умолчанию существует сразу в двух экземплярах - и . Первый вариант трогать не следует, поэтому во втором установите параметры следующим образом:

Options Indexes FollowSymLinks AllowOverride None Order allow, deny Allow from all

Говоря другими словами, для папки C:/www и всех её подпапок выбраны следующие параметры:

  • Из возможной функциональности имеющегося сервера разрешены индексы в директориях и переходы по символическим ссылкам;
  • Возможность параметрического переопределения с помощью файлов.htaccess полностью отсутствует, однако учитывая то, что вы имеете полный доступ к серверу, она не является актуальной – все можно настроить через httpd.conf;
  • Доступ к веб-серверу разрешен со всех хостов.

Теперь, сохраните файл httpd.conf и перезапустите Apache с помощью Apache Monitor либо командой apache –k restart в командной строке. Настройка корневой папки сайта закончена.

Следует проверить, правильно ли вы всё сделали. Создайте простейшую веб-страницу в папке C:www, откройте ваш браузер и введите http://127.0.0.1/ваша_созданная_страница . Страницы должна открыться. В ином случае необходимо тщательно проверить все изменения в файле httpd.conf на правильность.

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

Если пресловутый Internet Explorer в подобных случаях определяет кодировку из самой страницы, то, к примеру, Mozilla Firefox и Opera к подобным действиям склонности совершенно не имеют, и способ выставления кодировки в браузере вручную едва ли можно назвать удобным. Следовательно, необходимо настроить Apache на выдачу по умолчанию необходимой кодировки.

Найдите в файле httpd.conf строку, которая начинается на AddDefaultCharset . Скорее всего, там указана кодировка ISO-8859-1, в которой отсутствуют кириллические символы. Поменяйте ISO-8859-1 на windows-1251 , сохраните файл и перезапустите Apache. Теперь корректное отображение русского языка на вашем сайте будет работать в любом браузере.

В сервере Apache достаточно просто настроить работу с несколькими сайтами. Адреса, которые можно использовать для них - 127.0.0.2, 127.0.0.3 и т.д. При этом по сети виден будет только тот, который является сайтом по умолчанию (127.0.0.1), однако для локальной работы это не является критичным. Раздел файла httpd.conf , в котором производится настройка всего необходимого для этого, находится в самом конце и именуется VirtualHosts .

Конфигурационные файлы Apache

В большинстве пакетов основной конфигурационный файл Apache носит имя httpd.conf . В зависимости от версии системы этот файл может находиться в разных каталогах, но формат его остается неизменным. В системах Caldera и SuSE файл httpd.conf содержится в каталоге /etc/httpd ; в Debian и Slackware он размещается в /etc/apache (Slackware предоставляет файл-образец /etc/apache/httpd.conf.default ; для обеспечения работы сервера надо лишь переименовать данный файл и внести в него необходимые изменения); в Red Hat и TurboLinux файл httpd.conf размещается в каталоге /etc/httpd/conf/ .

Как обычно, строки файла httpd.conf , начинающиеся с символа # , содержат комментарии. Опции, определяющие конфигурацию сервера, задаются в следующем виде:

Директива Значение

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

Options FollowSymLinks

AllowOverride None

В последней строке содержится имя той же директивы, которая указана в начале, но для нее не задается никакое значение. Имени директивы, завершающей блок, предшествует косая черта.

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

Access.conf . Ссылка на этот файл формируется с помощью директивы AccessConfig и содержится в файле httpd.conf . В файле access.conf чаще всего задаются директивы , определяющие особенности доступа к указанным в них каталогам. В настоящее время этот файл обычно остается пустым, а иногда в качестве значения AccessConfig задается /dev/null , что запрещает использование access.conf .

Mime.types . Для того чтобы сообщить Web-броузеру о том, как должны обрабатываться данные, Web-сервер использует стандарт MIME (Multipurpose Internet Mail Extensions - многоцелевые почтовые расширений Internet). Например, MIME-тип text/plain означает, что данные представляют собой обычный текст, а image/jpeg определяет графические данные в формате JPEG (Joint Photographic Experts Group - объединенная группа экспертов по обработке фотоснимков). Файл mime.types содержит информацию о соответствии между MIME-типами и расширениями файлов. Например, имена файлов, оканчивающиеся.txt и.asc , связываются с MIME-типом text/plain . Если такое соответствие задано неправильно, Web-броузер будет испытывать затруднения при обработке некоторых типов файлов. Файл, поставляемый в составе пакета, обеспечивает обработку практически любых типов данных, которые могут быть помещены на Web-страницу. Если же вам надо использовать редко встречающиеся типы, вам придется добавить в этот файл новые записи.

Magic . Этот файл также позволяет определять соответствие между MIME-типами и данными. При анализе информации можно обнаружить специфические признаки того или иного типа. Так, например, многие файлы содержат специальные ключи - "магические" байтовые последовательности. Эти последовательности, преобразованные в текстовый вид, указываются в файле magic . Если вы подробно не изучили формат этого файла, вносить изменения в него не рекомендуется. Структура файла magic в данной главе рассматриваться не будет.

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

8.2.2. Основные конфигурационные файлы Если вы прочитали разд. 8.2.1 (или если смотрели файл /etc/inittab), то представляете, что в обычной ситуации процесс init помимо запуска процессов getty выполняет 2 основных действия: запускает скрипт rc.sysinit из каталога /etc/rc.d; запускает скрипт rc

Из книги Linux-сервер своими руками автора

12.5. SSL и Apache 12.5.1. Установка SSL SSL (Secure Sockets Layer) является методом шифрования, разработанным компанией Netscape для обеспечения безопасности в Интернет. Этот метод поддерживает несколько способов шифрования и обеспечивает аутентификацию как на уровне клиента, так и на уровне

Из книги Asterisk™: будущее телефонии Второе издание автора Меггелен Джим Ван

Из книги Сетевые средства Linux автора Смит Родерик В.

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

Конфигурационные файлы DHCP Большинство дистрибутивных пакетов Linux содержит сервер DHCP, разработанный Internet Software Consortium (http://www.isc.org/products/DHCP/). Internet Software Consortium (ISC) в конце 2000 г. выпустил версию 3.0 DHCP, но в начале 2002 г. многие версии Linux все еще поставлялись со старой версией 2.0

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

Из книги Язык Си - руководство для начинающих автора Прата Стивен

Конфигурационные файлы Exim Главный конфигурационный файл Exim называется exim.conf. Обычно он располагается в каталоге /etc. В состав этого файла входят записи, представленные в следующем формате:опция = значениеКак обычно, строки, содержащие комментарии, начинаются с символа #.

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич

Из книги Разработка ядра Linux автора Лав Роберт

16.1. Установка Apache В зависимости от дистрибутива, пакет, из которого устанавливается веб-сервер Apache, может называться apache или httpd, а пакет с документацией - apache-docs или httpd-manual соответственно. В первом случае вам понадобится установить еще пакет apache-common, содержащий

Из книги автора

16.2. Настройка Apache. Файлы конфигурации После установки Apache следует отредактировать следующие файлы:? /etc/httpd/conf/httpd.conf - основной файл конфигурации. Для Apache 2.x. этот файл может также называться httpd2.conf;? /etc/logrotate.d/apache или /etc/logrotate.d/httpd (в версии 2.0) - файл ротации

Из книги автора

16.10. SSL и Apache 16.10.1. Установка SSL SSL (Secure Sockets Layer) является методом шифрования, разработанным компанией Netscape для обеспечения безопасности передачи данных. Этот метод поддерживает несколько методов шифрования и обеспечивает аутентификацию как на уровне клиента, так и на

Из книги автора

19.2. Конфигурационные файлы загрузчика В листинге 19.1 приведен основной конфигурационный файл GRUB2 - /boot/grub/grub.cfg. Он не поддается редактированию вручную. Для его создания используется утилита /usr/sbm/grub-mkconfig, которая генерирует этот конфигурационный файл на основе шаблонов,

Из книги автора

26.2.3. Конфигурационные файлы сервера Файлы конфигурации сервера находятся в каталоге /etc/apache2. Основной файл конфигурации называется apache2.conf. По умолчанию его настройки устроят большинство пользователей. Если вы планируете использовать Web-сервер не только локально (для

Из книги автора

Исходные файлы и выполняемые файлы Наша замечательная программа, несмотря на свою лаконичность и простоту, для компьютера является совершенно бессмысленным набором символов, так как он "не понимает" директив типа #include или printf. Он понимает только специальный язык,

Из книги автора

5.3.1. Конфигурационные файлы Все настроечные файлы протокола SSH находятся в директории /etc/ssh. Здесь можно увидеть следующий перечень:? файл конфигурации SSH-сервера - sshd_config;? файл конфигурации SSH-клиента - ssh_config;? файлы ключей для различных

Из книги автора

Конфигурационные параметры отладки ядра Существует несколько конфигурационных параметров, которые помогают в отладке и тестировании кода ядра и которые включаются во время компиляции. Эти параметры доступны в пункте Kernel hacking меню редактора конфигурации ядра. Все эти

Раньше в нашей серии по основам Linux мы рассматривали основы работы с веб-сервером Apache. Он является самым широко используемым в мире веб-сервером в Интернете (по состоянию на июль 2015 года, доля Apache составляла 38%, IIS - занимал 26%, а Nginx - 15%). Поэтому чем больше вы о нем знаете и понимаете как он работает, тем больших успехов вы достигнете при его взломе.

Сегодня мы рассмотрим основы настройки сервера Apache. Как мы писали раньше, конфигурирование и настройка почти всех приложений в Linux или Unix осуществляется через конфигурационные файлы, которые представляют собой обычный текст. Apache здесь не является исключением. Поэтому в этой статье мы сосредоточимся на конфигурационном файле apache2.conf, который находится в директории /etc/apache2.

Шаг 1. Запустите Apache2

Давайте начнем с того, что запустим Apache2. Сделаем это через графическую оболочку окружения Kali, перейдя в Applications -> Kali Linux -> System Services -> HTTP -> apache2 start, как показано на скриншоте ниже.

Или запустите его через командную строку, набрав в терминале следующую команду

Kali >service apache2 start

Это запускает демон Apache2, и с этого момента веб-сервер должен обрабатывать наш контент в Интернете.

Шаг 2. Проверьте работоспособность сервера

Чтобы проверить, работает ли наш сервер Apache, давайте просто перейдем в браузере по localhost или 127.0.0.1. Если вы видите страницу как на скриншоте ниже, то это означает, что сервер работает нормально!

Шаг 3. Откройте файл конфигурации

Чтобы настроить Apache, нам нужно перейти в директорию /etc/apache2.

Kali > cd /etc/apache2

Выведем на экран список всех файлов в этой директории:

Kali > ls -l

Как видите, в этой директории есть несколько файлов и поддиректорий. Сейчас нас интересует только файл apache2.conf, но обратите внимание, что у нас есть файл ports.conf и папка sites_available, которые нам понадобятся чуть позже, также здесь есть несколько других файлов конфигурации и папок.

Мы можем открыть apache2.conf в любом текстовом редакторе, но здесь мы будем использовать Leafpad. Файл можно открыть, просто набрав в консоли:

Kali > leafpad /etc/apache2/apache2.conf

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

Шаг 4. ServerRoot

Давайте прокрутимся вниз, пропустив все комментарии, и найдем строку #70, где начинается раздел глобальных настроек. Здесь мы видим настройки ServerRoot. Это вершина дерева директорий, в которой сервер Apache хранит все связанные с работой сервера файлы. Строка #84 определяет ServerRoot. Мы можем просто раскомментировать эту строку, если хотим установить /etc/apache2 в качестве ServerRoot. Мы рекомендуем вам это сделать.

Шаг 5. Timeout

В следующем разделе у нас располагаются переменные, которые определяют значения параметров: Timeout, KeepAlive, MaxKeepAliveRequests и KeepAliveTimeout.

  • Timeout : это время, в течение которого сервер должен выполнить запрос пользователя. Его значение по умолчанию - 300, а это означает, что сервер должен обработать каждый запрос в течение 300 секунд или 5 минут. Это, определенно, слишком долго и это значение можно установить в 30 секунд.
  • KeepAlive : это означает, что сервер остается живым (держит соединение) для нескольких запросов от одного и того же клиента. По умолчанию установлено значение «On» (включено). Это означает, что клиентам не нужно создавать новое соединение для каждого запроса к нашему серверу. Такой подход позволяет экономить ресурсы сервера.
  • MaxKeepAliveRequests : это значение определяет максимальное количество секунд, допустимое между запросами, полученными от установленного соединения с одним клиентом. Если мы установим это значение в 0, то количество времени не ограничено.
  • KeepAliveTimeout : Это количество времени между запросами, для определения того, что соединение еще живо (установлено).

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

Шаг 6. Пользователь и группы Apache2

Давайте опять прокрутим вниз несколько строк в файле apache2.conf, пока не дойдем до строки #177. Здесь мы можем установить пользователя и группы Apache2. Обратите внимание на комментарий к строке #177. Там указано, что мы можем установить эти переменные в файле envvars (переменные окружения). Оставим этот вопрос для будущих статей, но пока просто имейте в виду, что и User (пользователь) и Group (группа) являются переменными, значения которых берутся из файла /etc/apache2/envvars.

И, наконец, последний раздел, имеющий огромное значение для безопасности Apache, начинается со строки #193. Этот раздел дает гарантии, что веб-клиенты не смогут получить доступ к файлам.htaccess и.htpasswd.

Шаг 7. Логирование

В следующем разделе описано, как Apache управляет логами (журналами).

В первом подразделе мы обращаемся к параметру HostNameLookups. Эта директива сообщает Apache2, должен ли он выполнять поиск DNS, когда он записывает в лог установленное соединение. Со значением по умолчанию «Off» (выключено) Apache2 работает намного лучше.

Шаг 8. Доступные сайты

Теперь посмотрим на директорию site_available (доступные сайты) и, самое главное, на тот файл, который находится в ней по умолчанию. Его часто называют файлом виртуальных хостов (Virtual Hosts) по умолчанию. Откройте этот файл, набрав в консоли:

Kali > leafpad /etc/apache2/site_available/default

Как видите, в этом файле есть три критических области. Первая строка определяет, какой порт слушает веб-сервер. Здесь определено, что он слушает любой интерфейс на 80-м порту (*: 80). Вторая строка определяет адрес электронной почты, на который нужно слать уведомления в случае возникновения проблем с сервером. По умолчанию там стоит адрес Если вы являетесь системным администратором, то здесь вы можете указать ваш адрес электронной почты. Третий элемент может быть самым важным - DocumentRoot. Он определяет, где будет размещаться контент для этого виртуального хоста, значением по умолчанию является директория /var/www. Мы предлагаем вам оставить все в том виде, в котором это было определено разработчиками.

Шаг 9. Порты

Наконец, мы можем перейти в файле apache2.conf еще ниже до строки #248 — «include port.conf». Эта директива просто сообщает Apache о необходимости перейти в файл port.conf, чтобы найти те порты, которые он должен прослушивать.

Теперь, если мы откроем файл port.conf, то увидим, что он настроен на прослушивание 80-го порта (строка #9). В следующем разделе, который начинается со строки 11, проверяется, включен ли модуль mod_ssl.c, и если он включен, то открывается 443-й порт (строка 17).

Понятия: конфигурирование, директивы. Конфигурационные файлы, директивы. Основные конфигурационные директивы. Серверные процессы. Контроль доступа к каталогам и файлам.

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

Директивы, ж. (от латин. directio - направление) . Общее руководящее указание, даваемое высшим органом подчиненному (сервером для рабочей станции и т.д.).

Конфигурационный файл- файл с достаточно простым форматом. Каждая строка представляет собой ключевое слово и один или более аргументов. Для простоты большинство строк содержат только один аргумент. Всё, что следует за символом # является комментарием и игнорируется.

Apache конфигурируется изменением служебных файлов в каталоге /etc/httpd/conf/. Главный конфигурационный файл веб-сервера -httpd.conf. Конфигурационные директивы могут размещаться в различных файлах, которые включают в основной конструкцией Include имя_файла.conf.

Eсли размещение какого-либо файла или каталога в конфигурационном файле указано неявно (явное размещение начинается с корня файловой системы - с символа "/") Apache использует каталог, заданный в директиве ServerRoot для определения реального местоположения цели.

Описание модулей и конфигурационных директив Apache

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

A уровень конфигурации сервера - директива может быть использована только в главном конфигурационном файле.

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

D уровень - для любого каталога директивой этого уровня можно установить свои настройки.

H уровень файлов.htaccess - директиву разрешено использовать в файлах.htaccess в местах, где они разрешены сервером.

В любой точке использование в директиве параметра filename обозначает абсолютный (начинается с "/") или относительный от каталогаServerRoot путь к файлу.

CORE - ядро веб-сервера (основной модуль Apache)

AccessConfig filename

Устанавливает расположение файла конфигурации. Системный файл конфигурации по умолчанию - conf/access.conf; для отмены чтения этого файла рекомендуется устанавливать /dev/null.

AccessFileName file file ...

Устанавливает имена файлов доступа, используемых для настройки конфигурации «на лету» по умолчанию - .htaccess.

AddModule module module ... [A]

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

AddModule module module ...

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

AllowOverride param param ...

Устанавливает правила, по которым Apache использует директивы внутренних файлов.htaccess;

None - игнорирует;

All - использует все директивы;

Options - разрешает использовать Options и XBitHack;

Indexes - директивы управления индексированием каталогов;

FileInfo - директивы управления типами файлов и их обработчиками;

AuthConfig - директивы доступа к каталогам Auth*;

Limit - директивы allow/deny/order.

AuthName realm

AuthType type

Используется для указания способа запроса и передачи имени пользователя и пароля для доступа к каталогам веб-сайтов. Чаще всего используют Basic, реже - Digest и другие.

BindAddress address [A]

Задаёт адрес, на котором Apache будет принимать соединения. Можно использовать имя хоста, IP-адрес или *.

ClearModuleList [A]

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

ContentDigest on|off

Включает или выключает пересылку MD5 хэша данных. Вычисляется для всех передаваемых страниц и не кешируется.

CoreDumpDirectory dirname [A]

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

DefaultType mimetype

Задаёт тип MIME, отправляемый клиентам, если Apache не может определить тип через файл mime.types или директивы AddType. По умолчанию установлен как text/plain.

...

Объединяет группу директив, задающих поведение Apache при обращениях к документам, расположенным в данной директории. Разрешено использовать маски имён - символы *, ? по правилам shell. В случае использования маски перед именем помещается знак тильда ~.

...

Определяет группу каталогов заданных регулярным выражением и устанавливает правила работы Apache с каталогами и файлами этой группы.

DocumentRoot dirname

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

ErrorDocument filename|string|URL

В случае ошибки делает редирект на указанные страницы. Также можно установить комментарий к возникшей ситуации, который должен начинаться с одной кавычки. Пример:

ErrorDocument 500 http://foo.example.com/cgi-bin/tester

ErrorDocument 404 /cgi-bin/bad_urls.pl

ErrorDocument 401 /subscription_info.html

ErrorDocument 403 "Sorry can"t allow you access today"

ErrorLog filename

Имя файла протокола ошибок. Если строка параметра начинается с (/), то путь к файлу нужно указывать от ServerRoot; если она начинается с (|), тогда сообщения ошибок передаются указанной команде на стандартный вход. В частности, таким образом, например, можно реализовать сохранение журнала сразу в SQL СУБД или сохранять их сразу сжатыми, передавая, для примера, на gzip. Apache версии 1.3 и выше по умолчанию выводит сообщения в syslog, если система поддерживает такую возможность; но это можно запретить используя syslog:facility.

...

Контроль доступа к файлу. Разделы обрабатываются в том же порядке, что и в файле конфигурации, после того, как прочитаны разделы директивы и файлы.htaccess, но перед тем, как прочитаны разделы директории . Аргумент должен содержать имя фала или маску, в которой "?" - любой символ, "*" - любая строка. С дополнительным символом ~ могут использоваться расширенные рег. выражения (см REGULAR EXPRESSIONS секцию в grep(1)) Например: будет соответствовать общеиспользуемым в Internet графическим файлам.

...

То же что и , но использует регулярные выражения.

Имеет отношение только к запуску Apache и отфоркиванию процессов в окружении и с правами соответствующему данному имени.

HostNameLookups on|off|double

Управляет возможностью определения имени хоста посетителя по реверсному ДНС. Работает медленно и по умолчанию считается отключённой. Double указывает, что имя хоста должно быть подвергнуто дополнительной проверке на соответствие этого имени IP адресу отправившего запрос хоста.

IdentityCheck on|off

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

...

и должны быть выполнены только если данный параметр определён во внутренних структурах Apache. Предшествующий параметру знак [!] указывает, что блок директив будет прочтён только если параметр не определён.

...

Указывает, что директивы, помещённые внутри блока, образованного парой директив и должны быть выполнены только если данный модуль откомпилирован в Apache. Предшествующий модулю знак [ !] указывает, что блок директив будет прочтён только если параметр не определён.

Include filename [A]

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

KeepAlive on|off [A]

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

KeepAliveTimeout sec [A]

Указывается время (в секундах) до разрыва TCP соединения, которое Apache будет ждать следующего запроса от клиента.

...

Позволяет указывать к какому HTTP методу (например GET или POST) относятся помещённые внутрь ... команды ограничения доступа.

Могут использоваться методы: GET, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK.

Listen port [A]

Заставляет Apache слушать указанные адреса и порты. Например, что бы заставить сервер слушать порты 80 и 8000, используйте:

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

Listen 192.170.2.1:80

Listen 192.170.2.5:8000

ListenBacklog length [A]

Максимальная длина очереди обработки подключений.

...

Подробности в apache-manual:)

...

Подробности в apache-manual

Lockfile filename [A]

Директива устанавливает путь к lockfile.

LogLevel emerg|alert|crit|error|warn|notice|info|debug

Устанавливает уровень информативности протокола (лог-файла работы сервера). Рекомендуется использование по крайней мере уровня crit.

MaxClients count [A]

Директива устанавливает предел на число одновременных запросов к серверу. На самом деле, это число не может превышать число дочерних процессов сервера, которых по умолчанию не может быть более 256. Что бы исправить ситуацию редактируйте HARD_SERVER_LIMIT в httpd.h и компилируйте его.

MaxKeepAliveRequest count [A]

Разрешает клиенту последовательно запрашивать указанное число файлов без разрыва TCP соединения, если включена KeepAlive. Если параметр установлен в 0, то Apache будет разрывать соединение только учитывая параметр KeepAliveTimeout.

MaxRequestsPerChild count [A]

Директива устанавливает предел на числе запросов которые может обработать индивидуальный дочерний процесс. Если MaxRequestsPerChild установлена в 0, число запросов не ограничено.

MaxSpareServers count [A]

Директива устанавливает желательное максимальное число неактивных процессов сервера. Директива бесполезна если используется версия Apache для Microsoft Windows.

MinSpareServers count [A]

Директива устанавливает желательное минимальное число неактивных процессов сервера. Директива бесполезна если используется версия Apache для Microsoft Windows.

NameVirtualHost port [A]

Указывает, что запросы к данному порту-имени следует разделять по имени хоста к которому производится обращение (заголовок "Host:" HTTP). Позволяет определять несколько виртуальных хостов для одного IP адреса.

Options param param ...

Определяет установки действий Apache для указанного контента. Подробно все возможные установки описаны в apache-manual. Часто применяемые: Indexes - включает показ содержимого каталога если в нем не найден индексный файл (директива DirectoryIndex); ExecCGI - включает возможность размещения в данном каталоге исполняемых файлов (cgi, perl скриптов); Includes - включает возможность размещения в каталоге SSI файлов. Каждая установка поддерживается соответствующим модулем её использующим и может не действовать если нужный модуль не подгружен. Каждая директива Options считается дополняющей уже известные Options определённые для родительских каталогов. Каждая установка может сопровождаться префиксом + или - для её "включения-выключения" в данном контексте.

PidFile filename [A]

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

Указывает Apache порт - число от 0 до 65535 (следует помнить, что некоторые порты могут использоваться другими протоколами, см. /etc/servises). Стандартный порт для http протокола - 80.

require userid|groupid|valid-user|file-owner|group-owner [A]

Определяет, какие пользователи имеют доступ к каталогу.

Require user userid - только эти пользователи имеют доступ

Require group имя-группы [имя-группы] - все пользователи этих групп

Require valid-user - все адекватные пользователи.

ResourceConfig filename [A]

Сервер читает из этого файла дальнейшие директивы после прочтения httpd.conf. Имя файла задаётся относительно ServerRoot.Может быть отключена: ResourceConfig /dev/null

RLimitCPU max|sec[ max|sec] [A]

RLimitMEM max|bytes[ max|bytes] [A]

RLimitNPROC max|count[ max|count] [A]

Satisfy any|all [A]

Определяет политику доступа, если одновременно используются Allow и Require. Используется в том случае, когда доступ к области ограничен именем/паролем и клиентским адресом. В этом случае по умолчанию ("all") требуется, чтобы клиент прошёл проверку по адресу и ввёл правильное имя и пароль. В случае параметра "any" клиент получит доступ если ввёл правильное имя и пароль или прошёл ограничение по хосту. Может использоваться, чтобы ограничить доступ через пароль, но пропустить клиентов с определённого адреса без пароля.

ScoreBoardFile filename [A]

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

SendBufferSize bytes [A]

Установит размер буфера TCP.

ServerAdmin email

Устанавливает email адрес, который сервер показывает клиенту в сообщения об ошибках.

ServerAlias hostname

Задаёт альтернативное виртуальное имя хоста.

ServerName hostname

Директива устанавливает имя сервера; используется в создании ссылок. Если имя не задано, сервер попытается получить его из собственного IP-адреса.

ServerPath path

Директива устанавливает унаследованное имя пути для хоста.

ServerRoot path [A]

Устанавливает каталог, в котором живёт сервер. Обычно содержит подкаталоги conf/ и logs/. Пути для других файлов конфигурации строится относительно этого каталога.

ServerSignature on|ff|mail

Конфигурирует строку внизу сгенерированного сервером документа. По умолчанию выключено, On - показывает версию сервера и ServerName виртуального хоста, Email добавляет ссылку mailto: на ServerAdmin

ServerTokens Minimal|OS|Full [A]

Контролирует заголовок, отсылаемый клиенту сервером с описанием ОС сервера и скомпилированных модулей.

ServerType standalone|inetd [A]

Определяет, как сервер запускается системой. inetd - запускается из системного процесса inetd. standalone - как daemon-процесс.

StartServers count [A]

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

Время, которое Apache будет ждать: получения запроса GET, получение пакетов TCP на запросах POST и PUT, пауза между ACK"ами при передаче пакетов TCP в ответах.

UseCanonicalName on|off

Заставляет Apache генерировать названия страниц которые он создаёт используя значения SERVER_NAME с SERVER_PORT.

User username

Устанавливает userid, по которому сервер будет отвечать на запросы. Чтобы использовать директиву, сервер должен быть запущен как root.

... [A]

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

mod_env - устанавливающий и передающий переменные для обработки в CGI/SSI файлы

PassEnv variable[ variable] ...

Передаёт переменную окружения (напр. HOME) обработчикам.

SetEnv variable value

Записывает заданное значение в указанную переменную окружения.

UnsetEnv variable[ variable] ...

Сбрасывает переменную, что делает невозможным её прочтение из обработчиков.

mod_setenvif - использующий условные выражения для установки переменных окружения

BrowserMatch regex env-variable[=value] ] ... [A]

Использует переданное регулярное выражение как фильтр для заголовка User-Agent от броузера клиента. При удачном попадании инициализирует переменную данным значением. Если указано только имя переменной - она инициализируется числом 1. Если указана переменная с предшествующим знаком "!" - переменная сбрасывается.

BrowserMatchNoCase regex env-variable[=value] ] ... [A]

Действует аналогично BrowserMatch допуская различия в регистре символов переданного значения User-Agent и используемого в качестве фильтра регулярного выражения.

SetEnvIf attribute regex env-variable[=value] ] ... [A]

Выполняемое директивой действие полностью аналогично BrowserMatch, но вместо User-Agent может быть использован любой другой заголовок: Remote_Host; Remote_Addr; Remote_User; Request_Method; Request_URI; Referer

SetEnvIfNoCase attribute regex env-variable[=value] ] ... [A]

Отличие от SetEnvIf такое же как у BrowserMatchNoCase от BrowserMatch выше.

mod_unique_id - генерирующий уникальную переменную окружения UNIQUE_ID

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

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

mod_mime - предназначенный для определения mime типа файла при передачи его клиенту

AddCharset charset extension ...

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

AddEncoding MIME-enc extension ...

Для указанных расширений файлов указывает Apache возможность передачи файла с использованием нужной кодировки MIME.

AddHandler handler-name extension ...

Указывает Apache, что файлы с данными расширениями должны быть переданы конкретному обработчику. Обработчик может как внутренним (cgi-sript и другие), так и внешним, описанным ранее директивой Action.

AddLanguage MIME-lang extension ...

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

AddType MIME-type extension ...

Дополняет таблицу MIME - типов новым соответствием расширений файлов и кода MIME для ответа клиенту.

DefaultLanguage MIME-lang

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

ForceType MIME-type

Форсирует ответ с данным MIME-типом в каталоге, к которому отнесена данная директива.

RemoveEncoding extension ...

Удаляет код MIME-кодировки в ответе для файлов с данными расширениями.

RemoveHandler extension ...

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

RemoveType extension ...

Сбрасывает MIME-тип в ответе клиенту на тип MIME по умолчанию

SetHandler handler

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

TypesConfig filename [A]

Указывает расположение таблицы соответствия MIME-типов. По умолчанию - conf.mime.types

mod_mime_magic - модуль использующий сложные правила для определения MIME-типа передаваемого в ответе файла

MimeMagicFile filename

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

mod_negotiation - обеспечивающий согласование передаваемых типов данных между клиентом и сервером

CacheNegotiatedDocs [A]

Разрешает кеширование документов с согласуемым содержимым на промежуточных прокси-серверах и компьютере клиента.

LanguagePriority MIME-lang ... [A]

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

mod_alias - позволяющий располагать документы в каталогах веб-сервера более произвольным образом

Alias URL-path filesystem-path

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

AliasMatch URL-regexp filesystem-path

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

Redirect URL-path URL

В ответ на запрос URL-path и "ниже" расположенных документов возвращает указанный код ответа (302 по умолчанию) и перенаправляет клиента на другой URL. Статус может задаваться как число или символически: permanent (301), temp (302), seeother (303), gone (410). Для кода ответа 410 URL ответа должен быть опущен.

RedirectMatch URL-regexp URL

Аналогично Redirect, с использованием для сравнения переданного URL не точного соответствия а заданного регулярного выражения.

RedirectTemp URL-path URL

Аналогично Redirect с использованием кода ответа 302.

RedirectPermanent URL-path URL

Аналогично Redirect с использованием кода ответа 301.

ScriptAlias URL-path filesystem-path

Действует аналогично Alias но автоматически задаёт запуск cgi-handler обработчика для всех файлов внутри целевой директории.

ScriptMatch URL-regexp filesystem-path

Аналогично ScriptAlias, с проверкой URL регулярным выражением.

mod_rewrite - управляющий расположением документов на сервере

В кратком собрании описания директив Apache сложно описать задачи решаемые этим сложным модулем. Как руководство к действию лучше всего использовать специальные разделы apache-manual "Module mod_rewrite URL Rewriting Engine" и "URL Rewriting Guide". Обучиться использованию данного модуля проще всего рассматривая конкретные задачи и их решения с его использованием.

Существует единственный основной (родительский) процесс, который ответственен за создание дочерних процессов, которые в свою очередь прислушиваются к связям и обрабатывают запросы клиента. Apache всегда пробует держать в запасе несколько неиспользуемых серверных процессов, которые готовы обработать поступающие запросы.Таким образом, клиенты не должны ждать создания новых дочерних процессов, которые будут разветвленны прежде, чем их запрос обслужится.Директивы StartServers, MinSpareServers, MaxSpareServers и MaxClients регулируют, как родительский процесс создает дочерние процессы, чтобы обслуживать запросы.

Вообще, Apache очень автономен, таким образом для большинство web-сайтов нет необходимости изменения этих дирректив от значений по умолчанию (default).

Для сайтов, которые должны обслуживать большее 256 одновременных запросов, возможно, следует увеличить MaxClients, а для сайтов, расположенных на серверах с ограниченной памятью, возможно, следует уменьшить значение MaxClients, чтобы не довести сервер до необходимости свапа памяти на диск (swapping memory to disk and back), что приведет к сильным замедлениям в работе.

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

httpd_core - Ядро Apache, требуется при каждой установке Apache.

mod_access - Контроль доступа к каталогам сервера в зависимости от IP-адреса или имени узла клиента.

mod_auth - Требуется, чтобы осуществлять авторизацию пользователей, используя текстовые файлы.

mod_dir - Требуется, чтобы искать индексные файлы: "index.html", "default.html", и т. д.

mod_log_config - Обеспечивает регистрацию запросов, направляемых серверу. mod_mime - Содержит директивы, способствующие организации на сервере различных типов MIME.

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

Также стоит обратить внимание, что два модуля Apache (mod_autoindex и mod_info) являются наиболее опасными. Первый модуль позволяет автоматически проиндексировать каталог и он включен по умолчанию. Чтобы посмотреть, как он работает, введите, например, http://server_name/icons/ и если в этом каталоге нет индексных файлов, то будет выведено содержание всего каталога. Второй модуль, mod_info, никогда не должен быть доступен через Интернет, потому что он показывает всю конфигурацию Web сервера Apache.

Следующий вопрос - как компилировать модули. Мне кажется, что статический метод - самый лучший (коды встраиваются в исполняемые файлы), нежели динамическая (коды собираются в момент запуска программы). Выбирая статический метод, мы также устраняем потребность в еще одном модуле - mod_so.

Самостоятельная работа: Работа с сервером баз данных MySQL. Создание таблиц. Вставка, извлечение и обновление данных в базе данных.

Лабораторная работа № 12. Установка и настройка web-сервера Apache.

Самостоятельная работа: Работа с сервером баз данных MySQL.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: