Конфигурирование apache. Установка и конфигурация веб сервера Apache с поддержкой PHP, JSP и MySQL на Windows XP. Профессиональная среда разработчика

Linux-сервер своими руками Колисниченко Денис Николаевич

12.2.2. Конфигурирование Apache с помощью netconf

Практически все параметры Web-сервера Apache можно установить, используя конфигуратор netconf (или linuxconf). Для этого запустите netconf и перейдите на вкладку Server Tasks, а затем нажмите на кнопку «Apache Webserver» (см. рис. 12.2).

Рис. 12.2. Конфигурирование Apache с помощью netconf

С помощью netconf вы легко можете установить основные параметры Apache (см. рис. 12.3), определить виртуальные хосты, установить параметры подкаталогов, определить спецификацию каталогов и модулей, а также установить параметры модуля mod_ssl (см. рис. 12.4), конфигурирование которого рассмотрено ниже в этой главе.

Рис. 12.3. Основные параметры Apache

Рис. 12.4. Конфигурирование модуля mod_ssl

Из книги Разгони свой сайт автора Мациевский Николай

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

Конфигурируем Apache 2 Для Apache 2 описанные действия выглядят гораздо проще.# добавляем Content-Type для всех файлов с расширением.gzAddEncoding gzip .gz# включаем сжатие для HTML- и XML-файловAddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xml# и для иконок (об этом чуть ниже)AddOutputFilterByType DEFLATE image/x-icon#

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

Конфигурируем Apache Тесты под Konqueror показали, что этот браузер не понимает архивированных файлов (CSS и JavaScript), поэтому чтобы уберечь десятую долю процента посетителей от сердечного приступа (когда они увидят сайт без соответствующих стилей), стоит добавить его в этот набор

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

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

Конфигурация Apache 2 # выставляем заголовок Content-Encoding: gzipAddEncoding gzip .gz# с самого начала включаем gzip для текстовых файловAddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xml# и для favicon.icoAddOutputFilterByType DEFLATE image/x-icon# также для CSS- и JavaScript-файловAddOutputFilterByType DEFLATE text/cssAddOutputFilterByType DEFLATE

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

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

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

12 Сервер Apache Эта глава посвящена популярному WWW-серверу Apache. Сервер Apache разработан и поддерживается организацией Apache Project. Первоначально, сервер Apache был разновидностью сервера Web-сервера NCSA, разработанного в Национальном центре разработок суперкомпьютеров Иллинойского

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

12.1. Установка Apache Для установки сервера Apache необходимо установить пакеты apache и apache-docs. В первом из них находится сам сервер, а во втором - документация. Желательно устанавливать самую новую версию. В последних версиях вам нужно установить еще и пакет apache-common, содержащий

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

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

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

12.5.2. Подключение SSL к Apache Теперь осталось подключить mod_ssl к Apache. При этом следует учитывать, что вам нужна версия mod_ssl, которая совместима с вашей версией Apache. Иначе модуль mod_ssl будет некорректно работать или вообще откажется что-либо делать. Последние цифры в названии

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

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

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

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

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

16.10.2. Подключение SSL к Apache Версия mod_ssl, которую вам нужно установить, должна быть совместима с вашей версией Apache, иначе модуль mod_ssl будет некорректно работать или вообще откажется что-либо делать. Последние цифры в названии модуля указывают на совместимость с определенной

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

16.13. Защита сервера Apache По окончании настройки сервера запретим изменение и удаление файла конфигурации:# chattr +i /etc/httpd/conf/httpd.confПосле этого вы (и никто другой) не сможете изменить этот файл даже с помощью конфигуратора.Желательно также установить права 511 для

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

26.2.1. Установка Apache и PHP Запустите менеджер Synaptic. В поле Быстрый поиск введите apache. Щелкните правой кнопкой мыши на пакете apache2 и выберите команду Отметить для установки. Менеджер пакетов сообщит вам, что нужно установить дополнительные пакеты (рис. 26.1). Нажмите кнопку

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

5.1.1. netconf Эта команда запускает конфигуратор сети (рис. 5.1). Программа netconf имеет удобный графический интерфейс и позволяет настраивать сетевые параметры, не задумываясь о конфигурационных файлах. Рис. 5.1. Окно программы

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

По умолчанию настройки Apache расположены в файле "httpd.conf " в каталоге "conf ".

Следует обратить особое внимание на путь к файлам в конфигурационных файлах Apache и РНР. Вам часто придется указывать пути к различным каталогов и файлов. В операционных системах UNIX и Windows применяются различные разделители каталогов. В UNIX используется прямая косая черта (/) в Windows - обратная (\). В некоторых директивах Apache и РНР работают оба вида разделителей каталогов. Но поскольку Apache и РНР изначально разрабатывались под UNIX, то, применяя их "родной" формат, вы сможете избежать ряда проблем. Поэтому пути в конфигурационных файлах "httpd.conf " и "php.ini " рекомендуется писать через слеш в формате UNIX - "/".

К примеру:
ScriptAlias "/php_dir/" "c:/php/" Директивы файла httpd.conf :

Port - задает порт TCP, который используется Apache для установления соединения. По умолчанию указывается порт 80. Также порт можно указать в директиве ServerName .
Port 80 Единственная причина установления нестандартного порта - это отсутствие прав на использование стандартного порта. При использовании нестандартного порта, например, 8080, номер порта следует указывать в адресе "http://localhost:8080/ ".

ServerAdmin - содержит заданный адрес электронной почты администратора Web-сервера. Именно этот адрес будет отображаться при ошибках работы сервера.
ServerAdmin [email protected] ServerName - содержит заданное имя компьютера для сервера.
ServerName localhost:80 ServerRoot - указывает на каталог, содержащий файлы Web-сервера Apache.
ServerRoot "C:/web_server/apache" DocumentRoot - определяет каталог, в котором расположены файлы Web-сайта.
DocumentRoot "C:/web_server/apache/htdocs" Контейнер

Сфера действия директив внутри этого контейнера распространяется на все файлы и подкаталоги внутри каталога, заданного в директиве DocumentRoot .

Options FollowSymLinks Includes Indexes
AllowOverride All
Директива AllowOverride установлена ​​в значение ALL , позволяет переопределять значение главного конфигурационного файла "httpd.conf " в файлах ".htaccess ".

Директива Options FollowSymLinks позволяет Apache следовать символическим ссылке.

Директива Options Includes позволяет выполнение директив SSI (Server Side Includes, включения на стороне сервера) в коде страниц Web-сайта.

Директива Options indexes указывает, что нужно возвращать содержимое каталога, если отсутствует индексный файл.

DirectoryIndex - содержит заданный список индексных файлов, которые следует отображать при обращении в каталог без указания имени файла.
DirectoryIndex index.html index.htm index.php Директива ScriptAlias ​​используется для создания псевдонима каталога "/cgi-bin/ ", в котором располагаются программы и сценарии CGI.
ScriptAlias /cgi-bin/ "C:/web_server/apache/cgi-bin/" Далее необходимо настроить права и ограничения на каталог cgi-bin .

AllowOverride None
Options ExecCGI
Order allow, deny
Allow from all
Данное действие необходимо для гарантии, что опции каталога не будут изменены, так как это может создать проблемы безопасности.

Директива AllowOverride None говорит о том, что опции этого каталога не могут быть переопределены файлами ".htaccess ".

Директива Options ExecCGI позволяет выполнение CGI-сценариев.

Директивы order allow , deny и Allow from all разрешают доступ к каталогу.

AddHandler - заставляет Apache рассматривать файлы с расширениями "ехе " и "bat ", как CGI - скрипты.
AddHandler cgi-script .bat .exe DefaultType устанавливает заголовок файлов, тип которых не может быть определен по расширению. В данном случае все неизвестные файлы воспринимаются как обычные текстовые файлы. Для того чтобы все неизвестные расширения файлов обрабатывать, как HTML, измените директиву следующим образом:
DefaultType text/html AddDefaultCharset - устанавливает кодировку по умолчанию, если кодировка не задана в заголовке HTML-документа.
AddDefaultCharset windows-1251

Apache - это целое семейство различных проектов, первым из которых был Web-сервер. Web-сервер представлен демоном httpd, поэтому проект Apache по разработке Web-сервера называется httpd.

Конфигурационные файлы Web-сервера httpd в GNU/Linux в различных дист- рибутивах размещаются в разных каталогах: /etc/httpd/conf/, или /etc/apache2, или ином. Главный конфигурационный файл называется httpd.conf, причем часто выделенные для каких-либо групп настроек индивидуальные конфигура- ционные файлы подключаются к httpd.conf с помощью директивы include.

В целом, настройки httpd можно разделить на три основные категории:

r секция глобальных настроек;

r настройки для главного сервера;

r настройки для виртуальных узлов.

Кроме этих секций можно выделить настройки для обработки заданных ти- пов файлов, MIME-расширений и спецификаций обработки национальных языков.

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

r ServerRoot - базовый каталог установки, относительно которого в фай- ловой системе GNU/Linux размещаются конфигурационные файлы Apache, а также некоторые файлы, необходимые в его работе;


r PidFile - файл, в который при запуске сервера Apache заносится PID

главного процесса сервера;

r LoadModule - команда загрузить модуль расширения Apache, скомпили- рованный в виде разделяемой библиотеки;

r Timeout - количество секунд перед посылкой сигнала о потере соединения;

r KeepAlive - разрешение или запрет поддержки долгоживущих соедине- ний, доступных в рамках протокола HTTP/1.1, позволяющих оставлять со- единение в неразорванном состоянии после отправки сервером требуемой информации;

r KeepAliveTimeOut - количество секунд ожидания следующего запроса, по прошествии которого долгоживущее соединение будет разорвано;

r MaxKeepAliveRequests - максимально возможное количество запросов, разрешенное для долгоживущих соединений;

r StartServers - количество дочерних процессов httpd, которые стартуют при запуске сервера Apache;

r MinSpareServers - минимальное количество ждущих соединения дочер- них процессов httpd (при появлении соединений запускается столько ко- пий httpd, чтобы количество ожидающих соединения дочерних процессов было не меньше этой величины);

r MaxSpareServers - максимальное количество ждущих соединения до- черних процессов httpd (лишние процессы останавливаются);

r MaxClients - ограничение на максимальное количество дочерних про- цессов httpd, определяющее возможное количество соединений;

r MaxRequestsPerChild - максимальное количество запросов, которое раз- решено обслуживать одному дочернему процессу httpd, при достижении которого он гарантированно останавливается для исключения возможных утечек памяти.

ServerRoot "/etc/httpd" PidFile run/httpd.pid Timeout 120

KeepAlive Off MaxKeepAliveRequests 100


KeepAliveTimeout 15

StartServers
MinSpareServers
MaxSpareServers
ServerLimit
MaxClients

MaxRequestsPerChild 4000

Listen 80

LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_alias_module modules/mod_authn_alias.so LoadModule authn_anon_module modules/mod_authn_anon.so

User apache Group apache

Следует отметить, что модули могут быть не только подключены с помощью директивы LoadModule, но и установлены непосредственно в код Apache на стадии его компиляции и сборки. Для определения, какие модули были уста- новлены в код на стадии компиляции, выполните команду httpd –l (при- мер 28.2).

$ /usr/sbin/httpd -l Compiled in modules:

core.c prefork.c http_core.c mod_so.c

Обратите внимание на модуль prefork.c - это один из нескольких различ- ных модулей MPM (Multi-Processing Modules), имеющихся для Apache v2. Эти модули ориентированы на разные операционные системы или на раз- личные модели многозадачной обработки. Например, модуль prefork.c ори- ентирован на традиционную для UNIX модель порождения дочерних про- цессов, а worker.c - на работу с потоками.


Среди настроек главного сервера наиболее важны следующие:

r Listen - заставляет Apache слушать только указанный порт;

r User - пользователь, от имени которого будут запущены процессы httpd;

r Group - группа, от имени которой будут запущены дочерние процессы

r DocumentRoot - каталог размещения файлов Web-сайта;

r UserDir - имя каталога для размещения личных Web-страниц пользова- телей;

r DirectoryIndex - список имен файлов, который будет просмотрен при попытке доступа к корневому документу каталога;

r AccessFileName - имя файла, содержащего директивы управлением до- ступом к каталогу;

r TypesConfig - задает местонахождение файла конфигурации MIME;

r DefaultType - задает MIME-тип документа по умолчанию;

r MimeMagicFile - задает местонахождение файла магических чисел для определения MIME-типа документа;

r HostnameLookups - задает тип занесения информации о запросах клиен- тов либо по IP-адресу, либо по имени узла;

r ErrorLog - файл журнала, в который будут записываться любые ошибки

(сообщения), встретившиеся в процессе работы Apache;

r LogLevel - уровень информативности журналирования;

r LogFormat - директива, определяющая формат вывода информации в жур- нал;

r CustomLog - указывает местонахождение файла журнала;

r ServerSignature - разрешает выводить в страницах, сгенерированных сервером Apache, информацию о версии, виртуальном узле и т. п.;

r Alias - устанавливает псевдонимы для путей доступа к каталогам серве- ра (длина строки псевдонима меньше, чем длина строки пути доступа);

r ScriptAlias - делает то же, что и Alias, но для каталогов с CGI-

сценариями;

r IndexOptions - определяет тип индексирования каталогов;

r AddIcon - указывает файл значка для отображения в конкретных ситуа- циях, например, при выводе страницы с содержимым каталога разным ти- пам файлов сопоставляются разные значки;

r AddIconByEncoding - задает значки для конкретных MIME-кодировок;


r AddIconByType - задает значки для определенных MIME-видов документов;

r DefaultIcon - значок по умолчанию;

r AddDescription - добавляет строку комментария к определенным типам документов (например, .gz - gzipped document);

r ReadmeName - задает имя файла README, добавляемого в конец списка файлов в каталоге (directory index);

r HeaderName - задает имя файла HEADER, добавляемого в начало списка файлов в каталоге (directory index);

r IndexIgnore - имена файлов, которые будут игнорироваться при индек- сации;

r AddEncoding - позволяет браузерам заданным образом обрабатывать ин- формацию на лету (например, отображать содержимое сжатых gzip- файлов);

r AddLanguage - отображает заданные расширения имен файлов на опреде- ленный язык документа (например, AddLanguage ru .ru);

r AddCharset - задает отображение определенного расширения имен фай- лов на конкретную кодировку;

r LanguagePriority - порядок следования языков;

r AddType - задает отображение расширения имен файлов на тип MIME;

r AddHandler - задает тип обработки по расширению имен файлов;

r ErrorDocument - позволяет настраивать сообщения об ошибках;

r BrowserMatch - задает особенности вывода информации для браузеров.

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

Alias /doc /usr/share/doc

В этом примере установлен псевдоним doc для каталога /usr/share/doc. Одна- ко такой псевдоним будет установлен только в случае наличия модуля mod_alias.c. Имея такой псевдоним (при наличии соответствующих разреше- ний), можно будет обращаться с помощью Web-браузера к содержимому ка- талога /usr/share/doc, используя URL http://localhost/doc .


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

Часто Apache поставляется с весьма обширной документацией в HTML- формате. Например, в дистрибутивах Fedora традиционно документация на Apache доступна после запуска Apache по URL http://localhost/manual .

Apache – это веб-сервер.

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

По умолчанию все конфигурационные файлы хранятся в папке " conf ".

httpd.conf – это основной конфигурационный файл сервера apache. Для вступления в силу изменений, внесённых в этот файл, требуется перезапуск сервера apache.

В папке " extra " (внутри папки " conf ") находятся дополнительные конфигурационные файлы . При необходимости их можно подключить внутри основного конфигурационного файла.

Синтаксис конфигурационных файлов

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

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

Директивы не чувствительны к регистру символов, а вот аргументы наоборот – чувствительны.

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

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

Модули

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

Модули позволяют использовать директивы, которые не входят в состав ядра веб-сервера Apache.

.htaccess

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

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

Изменения, вносимые в файл.htaccess, не требуют перезапуска сервера.

Если в файле.htaccess была допущена какая-либо ошибка, например неправильно написана директива или значение директивы, то сервер вернёт ошибку: Error 500 .

Файл.htaccess использует тот же синтаксис, что и конфигурационные файлы Apache.

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