Интернет Windows Android

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

Конфигурационные файлы 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 меню редактора конфигурации ядра. Все эти

andew

2016-07-23T17:54:43+00:00

2017-08-25T04:44:37+00:00

7613

В статье представлен обзор конфигурации web сервера Apache в Ubuntu server при стандартном варианте инсталляции LAMP в Ubuntu. Приведена логика и структура организации конфигурационных файлов веб сервера. Описаны назначения основных конфигов сервера. Даны базовые Linux Ubuntu команды для манипуляции конфигурацией, настройки и управления веб сервером Apache. Рассмотрен сайт по умолчанию, который создается в процессе установки Apache. Статья вам будет полезна при настройке и администрировании своего LAMP сервера.

Как добавить поддержку PHP как обработчика сценариев в Apache на Ubuntu или Windows детально описано в статье Установка PHP7 на Windows в разделе Настройка .

Apache Default WEB Page

В процессе выполнения стандартной инсталляции web сервера Apache в Ubuntu server создается тестовый сайт, который служит для проверки работоспособности веб сервера после его установки. Этот сайт, по умолчанию, сконфигурирован так, что разрешает обращения из браузера только к файлам и каталогам внутри /var/www директории Ubuntu server. Если, по завершению инсталляции Apache , вы откроете в браузере веб страницу по адресу IP вашего web сервера, то увидите стартовую страницу сервера - Apache2 Ubuntu Default Page . Это будет, в первую очередь, говорить о том, что Apache удачно установился и работает. Эта страница физически располагается на сервере в файле /var/www/html/index.html и за ее настройку и вывод в браузере отвечает конфиг виртуального хоста по умолчанию (/etc/apache2/sites-available/000-default.conf ), который определяет виртуальный хост(сайт) для каталога /var/www/html и создается в ходе инсталляции сервера Apache . Соответственно, если вы разместите ваши файлы в этой папке, то они будут обрабатываться web сервером. Также на этой Default Page в секции Configuration Overview вы увидите схематическое представление структуры конфигурационных файлов сервера. Здесь нужно понимать, что структура, названия и расположения конфигов Apache в Ubuntu отличаются от общепринятой схемы, что сделано для удобства управления сервером. Но тут есть один нюанс, который заключается в том, что если вы ранее не были знакомы с организацией каталогов в домашней директории Apache на Ubuntu , то эта схема может вас только запутать, т.к. в ней представлены не все папки, а только каталоги, в которых располагаются символьные ссылки на активированные файлы конфигурации. Поэтому, для более правильного понимания, смотрите полную схему каталогов и фалов домашней директории web сервера Apache расположенную ниже в этой статье. Из ценного в секции веб страницы Apache - это ссылки на man Debian для команд a2enmod , a2dismod , a2ensite , a2dissite , a2enconf , a2disconf , которые используется для активации и деактивации тех или иных видов файлов конфигурации и будут детально описаны . Так же здесь сказано, что для передачи команд web серверу ( started/stopped etc. ) нужно обращаться к /etc/init.d/apache2 или к apache2ctl , что так же является особенностью сервера в Ubuntu. На сервере Ubuntu в файле /usr/share/doc/apache2/README.Debian.gz вы сможете найти полную документацию по Apache .

Домашний каталог Apache в Ubuntu

По умолчанию, домашний каталог web сервера Apache в Ubuntu находиться по /etc/apache2/ пути в файловой системе. В этом каталоге и его подкаталогах располагаются все конфигурационные файлы Apache . Изменить значение пути домашней директории web сервера можно директивой ServerRoot "/etc/apache2" в главном конфиге apache2.conf . Там, по умолчанию, директива ServerRoot закомментирована, что равносильно ее значению как "/etc/apache2" (завершающего слеша не должно быть в этой директиве! ). Значение пути домашней директории Apache (ServerRoot ) необходимо серверу, что бы он знал, в каком месте файловой системы ему следует искать свои конфигурационный файлы. Так же значение ServerRoot может подставляться сервером в некоторых директивах, ожидающих в качестве аргумента путь в файловой системе Ubuntu . Поэтому, в таких случаях, если путь указать без начального слеша, то Apache воспримет это как относительный путь по отношению к своей домашней директории. Так, например, если указать директиву AuthUserFile .htpasswd , то в таком варианте Apache будет интерпретировать указанный путь как относительный и превратит его в /etc/apache2/.htpasswd , подставив спереди значение пути своей домашней директории.

Структура домашней директории Apache в Ubuntu

В процессе стандартной установки WEB сервера Apache в Ubuntu создается следующая структура файлов и каталогов домашней директории веб сервера:

/etc/apache2/ ...............................Домашняя директория Apache в Ubuntu - ServerRoot |-- conf-available ......................директория, содержит разные конфиги | `-- charset.conf ...................файл для указания кодировок | `-- localized-error-pages.conf .....файл для задания страниц ошибок | `-- other-vhosts-access-log.conf ...файл для задания логов виртуальных хостов | `-- security.conf ..................файл для директив безопасности | `-- serve-cgi-bin.conf .............файл для директив конфигурации CGI |-- conf-enabled активированные конфиги из conf-available | `-- @ ..............................ССЫЛКИ на активированные конфиги из conf-available |-- mods-available ......................директория, содержит конфиги установленных модулей Apache | `-- ... ........................доступные конфиги модулей Apache |-- mods-enabled ........................директория, содержит ССЫЛКИ на активированные конфиги модулей из mods-available | `-- @ ..............................ССЫЛКИ на активированные конфиги модулей Apache |-- sites-available .....................директория содержит доступные конфиги виртуальных хостов | `-- 000-default.conf ...............файл виртуального хоста по умолчанию для 80 порта, создан при инсталляции Apache | `-- default-ssl.conf ...............файл виртуального хоста по умолчанию для порта 443, создан при инсталляции Apache |-- sites-enabled .......................директория, содержит ССЫЛКИ на активированные конфиги виртуальных хостов из sites-enabled | `-- @000-default.conf ..............ссылка на активированный конфиг виртуального хоста |-- apache2.conf ........................ГЛАВНЫЙ конфиг web сервера Apache в Ubuntu |-- envvars .............................файл с настройками путей для окружения Apache |-- magic ...............................Файл скриптов для модуля mime_magic (этот модуль не активен по умолчанию) |-- ports.conf ..........................файл для задания портов на которых будет принимать подключения Apache

Приведенные примеры представлены из OS Ubuntu server 16.04 LTS, однако тоже самое будет и в других версиях и дистрибутивах Ubuntu как в сервером варианте, так и в desktop варианте.

Логика организации конфигурации Apache

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

Во-первых , в Ubuntu , конфигурация Apache разбита на множество разных конфигов по их функциональному назначению. Например, директивы, задающие порт для сервера, вынесены в отдельный файл ports.conf . Директивы, ответственные за те или иные параметры безопасности сервера, вынесены в файл security.conf . Тем самым, директивы как бы сгруппированы по своему смыслу в отдельные конфигурационные файлы. Это достаточно логично и удобно при чтении, правке, активации и деактивации конфигов. При таком подходе каждый, отдельно взятый файл, становиться меньше и является узкоспециализированной частью конфигурации. Однако, нужно понимать, что такое дробление сделано исключительно для удобства и автоматизации настройки и технически, если вы захотите, вы можете записать все директивы и настройки в один файл, просто работать с таким файлом будет не так удобно.

Во-вторых : центром всей конфигурации выступает главный конфиг Apache веб сервера - apache2.conf файл. Именно этот файл в первую очередь ищет и читает web сервер Apache при старте или перезагрузке. А уже в этом файле при помощи директив Include , в месте их указания, выполняется подключение и загрузка всех остальных заданных конфигов. Таким образом, все конфигурационные файлы объединяются в единую конфигурацию web сервера и происходит это, когда Apache читает файлы по порядку их подключения, начиная с главного конфига. Из этого следует важное замечание - порядок следования директив в конфигурации Apache и, соответственно, порядок подключения файлов конфигов имеет значение, так как директивы, прочитанные сервером позднее могут переопределять директивы прочитанные им ранее. Об этом нужно помнить при настройке сервера.

В-третьих : если вы посмотрите на структуру каталогов домашней директории Apache , то увидите три пары директорий с названиями вида: префикс_каталога -available/enabled . Такая логическая структура призвана для распределения ваших конфигов на три группы , исходя из префикса названия каталога, где conf-* это каталоги для ваши прочих конфигов, mods-* это каталоги для конфигов модулей Apache и sites-* это каталоги для конфигов ваших виртуальных хостов. Вторая часть имени этих каталогов -available/-enabled логически указывает на доступные вообще и только активные в настоящий момент момент конфиги. Так в директориях *-available хранятся все доступные для использования файлы конфигурации, а уже в директориях вида *-enabled расположены символьные ссылки (ярлыки ) только на те конфиги из *-available директории, которые должны быть прочитаны web сервером при загрузке конфигурации. Apache читает только каталоги вида *-enabled , поэтому применяться только те конфиги, на которые в этих каталогах есть ссылки . Такой подход дает еще дополнительный уровень удобства тем, что позволяет вам хранить все ваши конфиги в каталогах домашней директории сервера, а задействовать только необходимые в текущий монет.

В-четвертых : директивы конфигурации web сервера Apache имеют контекст (), в котором они действуют. Понятие контекст директивы указывает на то, где, на каком уровне и в каком конфиге данная директива может использоваться. Одна и та же директива может быть разрешена к использованию как только в одном виде контекста, так и в нескольких видах контекста. Если директива будет использована/записана в недопустимом для нее виде контекста, то будет ошибка web сервера Apache при загрузке конфигурации, которая приведет к его остановке. Поэтому, при написании ваших директив, всегда обращайте внимание на контекст их применения, который всегда указывается в документации к директиве на сайте Apache.

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

Виды контекста директив:

  • server config - глобальный уровень директивы для применения в файлах общей конфигурации сервера вне и вне контейнеров и вне файла .htaccess ;
  • virtual host - уровень виртуального хоста для применения директивы в контейнере;
  • directory - уровень каталога , директива должна использоваться внутри контейнеров , , , ;
  • .htaccess - уровень локального каталога сайта, директива может применяться в файле .

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

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

Команды включения/выключения конфигурации

Для активации и деактивации тех или иных конфигов в Ubuntu предоставляются команды помощники созвучные с available /enabled и префиксом каталога. Например, команда a2enconf , которую можно расшифровать как apache2-enable-conf , выполняет активацию указанного в ее аргументе конфигурационного файла из conf-available каталога путем создания на него символьной ссылки в каталоге conf-enabled . Команда a2disconf выполняет обратное действие, т.е. удаляет эту ссылку. Подобная логика применима и к остальным командам: a2enconf /a2disconf , a2enmod /a2dismod , a2ensite /a2dissite . Но вы так же можете и вручную создать/удалить символьные ссылки на нужные вам конфиги в директориях вида *-enabled .

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

a2enconf/a2disconf

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

Включить конфиг :

sudo a2enconf

Выключить конфиг :

sudo a2disconf

a2enmod/a2dismod

Для активации установленного модуля Apache из каталога mods-available

Включить модуль Apache

sudo a2enmod

Выключить модуль Apache

sudo a2dismod

a2ensite/a2dissite

Для активации конфигурации виртуального хоста из каталога sites-available и деактивации его используйте команды:

Включить виртуальный хост в Apache

sudo a2ensite

Выключить виртуальный хост в Apache

sudo a2dissite

Команды управления Apache

В Ubuntu , благодаря использованию переменных среды, для обращения к демону httpd web сервера можно применять вызовы вида: /etc/init.d/apache2 или apache2ctl или apache2 :

sudo /etc/init.d/apache2 sudo apache2ctl sudo apache2

httpd.conf - конфигурация сервера Apache

Apache настраивается путем размещения директив в обычные текстовые файлы конфигурации. Основной конфигурационный файл сервера Apache - httpd.conf .
С помощью директивы Include могут быть добавлены другие конфигурационные файлы. Любая директива может быть установлена в любом из этих файлов конфигурации.
Apache 2.4 конфигурируется файлами находящимися в подкаталоге (по умолчанию) - conf (C:\Program Files\Apache Software Foundation\Apache2.4\conf\). Это - те же самые файлы, что и для конфигурирования на OS Unix, но есть несколько директив специально предназначенных для Windows.

Главный файл конфигурации сервера Apache HTTP 2.4 обычно называется - httpd.conf .

Он содержит директивы и параметры, управляющие работой Web-сервера, виртуальных серверов, а также всех программных модулей Apache 2.4. . Apache - модульный сервер. Это означает, что только самые основные функциональные возможности включены в основной сервер. Расширение функций, доступно при помощи динамически загружаемых модулей. Файлы конфигурации содержат одну директиву в строке. Наклонная черта влево "\" может использоваться как последний символ в строке, для указания того, что директива продолжается на следующую строку. Не должно быть никаких других символов или пробелов между наклонной чертой влево и концом строки. Директивы в файлах конфигурации нечувствительны к регистру, но аргументы директив - часто чувствительны. Строки, которые начинаются с символа "#", считают комментариями, и игнорируется. Комментарии не могут быть включены в строку после директивы конфигурации. Пустые строки и пробелы, перед директивой игнорируются.

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

Для проверки файлов конфигурации на синтаксические ошибки, используется команда httpd.exe -t .

При установке Apache 2.4 были введены:

В Network Domain (Сетевой Домен) - server-apache24.ru
в Server Name (Имя сервера) - www.server-apache24.ru
в Administrator"s Email Adress (Почтовый Адрес Администратора) - [email protected]

Следовательно, server-apache24.ru - будет именем главного сайта сервера Apache.

Главный сайт сервера Apache конфигурируется в файле - httpd.conf .

Внесение изменений в файл конфигурации сервера Apache - httpd.conf

Для обращения к главному сайту сервера Apache по доменному имени - server-apache24.ru , создайте на диске каталог - C:\server-apache24.ru

server-apache24.ru

  • C:\server-apache24.ru
    • logs
      • access.log
      • error.log
    • www
      • index.html

каталог server-apache24.ru

В корне диска C: нужно создать каталог server-apache24.ru
В нём обязательно должны быть папки:
logs с "пустыми" файлами access.log и error.log
и
www с файлом index.html

См. в файле httpd.conf строки -
209 ServerAdmin [email protected]
218 ServerName www.server-apache24.ru:80
243 DocumentRoot "C:/server-apache24.ru/www"
245

httpd.conf - конфигурирование сервера Apache 2.4

httpd.conf .
Действие директив главного файла конфигурации распространяется на весь сервер

Все записи, за исключением выделенных красным цветом, должны быть закомментированы. Строки начинающиеся с символа "#" - это комментарии.

# # This is the main Apache HTTP server configuration file. It contains the # configuration directives that give the server its instructions. # See for detailed information. # In particular, see # # for a discussion of each configuration directive. # # Do NOT simply read the instructions in here without understanding # what they do. They"re here only as hints or reminders. If you are unsure # consult the online docs. You have been warned. # # Configuration and logfile names: If the filenames you specify for many # of the server"s control files begin with "/" (or "drive:/" for Win32), the # server will use that explicit path. If the filenames do *not* begin # with "/", the value of ServerRoot is prepended -- so "logs/access_log" # with ServerRoot set to "/usr/local/apache2" will be interpreted by the # server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log" # will be interpreted as "/logs/access_log". # # NOTE: Where filenames are specified, you must use forward slashes # instead of backslashes (e.g., "c:/apache" instead of "c:\apache"). # If a drive letter is omitted, the drive on which httpd.exe is located # will be used by default. It is recommended that you always supply # an explicit drive letter in absolute paths to avoid confusion. # # ServerRoot: The top of the directory tree under which the server"s # configuration, error, and log files are kept. # # Do not add a slash at the end of the directory path. If you point # ServerRoot at a non-local disk, be sure to specify a local disk on the # Mutex directive, if file-based mutexes are used. If you wish to share the # same ServerRoot for multiple httpd daemons, you will need to change at # least PidFile. # ServerRoot "C:/Program Files/Apache Software Foundation/Apache2.4" # # Mutex: Allows you to set the mutex mechanism and mutex file directory # for individual mutexes, or change the global defaults # # Uncomment and change the directory if mutexes are file-based and the default # mutex file directory is not on a local disk or is not appropriate for some # other reason. # # Mutex default:logs # # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 Listen 80 # # Dynamic Shared Object (DSO) Support # # To be able to use the functionality of a module which was built as a DSO you # have to place corresponding `LoadModule" lines at this location so the # directives contained in it are actually available _before_ they are used. # Statically compiled modules (those listed by `httpd -l") do not need # to be loaded here. # # Example: # LoadModule foo_module modules/mod_foo.so # LoadModule access_compat_module modules/mod_access_compat.so LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule allowmethods_module modules/mod_allowmethods.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic.so #LoadModule auth_digest_module modules/mod_auth_digest.so #LoadModule authn_anon_module modules/mod_authn_anon.so LoadModule authn_core_module modules/mod_authn_core.so #LoadModule authn_dbd_module modules/mod_authn_dbd.so #LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_file_module modules/mod_authn_file.so #LoadModule authn_socache_module modules/mod_authn_socache.so #LoadModule authnz_ldap_module modules/mod_authnz_ldap.so LoadModule authz_core_module modules/mod_authz_core.so #LoadModule authz_dbd_module modules/mod_authz_dbd.so #LoadModule authz_dbm_module modules/mod_authz_dbm.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so #LoadModule authz_owner_module modules/mod_authz_owner.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so #LoadModule buffer_module modules/mod_buffer.so #LoadModule cache_module modules/mod_cache.so #LoadModule cache_disk_module modules/mod_cache_disk.so #LoadModule cern_meta_module modules/mod_cern_meta.so LoadModule cgi_module modules/mod_cgi.so #LoadModule charset_lite_module modules/mod_charset_lite.so #LoadModule data_module modules/mod_data.so #LoadModule dav_module modules/mod_dav.so #LoadModule dav_fs_module modules/mod_dav_fs.so #LoadModule dav_lock_module modules/mod_dav_lock.so #LoadModule dbd_module modules/mod_dbd.so #LoadModule deflate_module modules/mod_deflate.so LoadModule dir_module modules/mod_dir.so #LoadModule dumpio_module modules/mod_dumpio.so LoadModule env_module modules/mod_env.so #LoadModule expires_module modules/mod_expires.so #LoadModule ext_filter_module modules/mod_ext_filter.so #LoadModule file_cache_module modules/mod_file_cache.so #LoadModule filter_module modules/mod_filter.so #LoadModule headers_module modules/mod_headers.so #LoadModule heartbeat_module modules/mod_heartbeat.so #LoadModule heartmonitor_module modules/mod_heartmonitor.so #LoadModule ident_module modules/mod_ident.so LoadModule imagemap_module modules/mod_imagemap.so LoadModule include_module modules/mod_include.so #LoadModule info_module modules/mod_info.so LoadModule isapi_module modules/mod_isapi.so #LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so #LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so #LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so #LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so #LoadModule ldap_module modules/mod_ldap.so #LoadModule logio_module modules/mod_logio.so LoadModule log_config_module modules/mod_log_config.so #LoadModule log_debug_module modules/mod_log_debug.so #LoadModule log_forensic_module modules/mod_log_forensic.so #LoadModule lua_module modules/mod_lua.so LoadModule mime_module modules/mod_mime.so #LoadModule mime_magic_module modules/mod_mime_magic.so LoadModule negotiation_module modules/mod_negotiation.so #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so #LoadModule proxy_connect_module modules/mod_proxy_connect.so #LoadModule proxy_express_module modules/mod_proxy_express.so #LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so #LoadModule proxy_html_module modules/mod_proxy_html.so #LoadModule proxy_http_module modules/mod_proxy_http.so #LoadModule proxy_scgi_module modules/mod_proxy_scgi.so #LoadModule ratelimit_module modules/mod_ratelimit.so #LoadModule reflector_module modules/mod_reflector.so #LoadModule remoteip_module modules/mod_remoteip.so #LoadModule request_module modules/mod_request.so #LoadModule reqtimeout_module modules/mod_reqtimeout.so #LoadModule rewrite_module modules/mod_rewrite.so #LoadModule sed_module modules/mod_sed.so #LoadModule session_module modules/mod_session.so #LoadModule session_cookie_module modules/mod_session_cookie.so #LoadModule session_crypto_module modules/mod_session_crypto.so #LoadModule session_dbd_module modules/mod_session_dbd.so LoadModule setenvif_module modules/mod_setenvif.so #LoadModule slotmem_plain_module modules/mod_slotmem_plain.so #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so #LoadModule socache_dbm_module modules/mod_socache_dbm.so #LoadModule socache_memcache_module modules/mod_socache_memcache.so #LoadModule socache_shmcb_module modules/mod_socache_shmcb.so #LoadModule speling_module modules/mod_speling.so #LoadModule ssl_module modules/mod_ssl.so #LoadModule status_module modules/mod_status.so #LoadModule substitute_module modules/mod_substitute.so #LoadModule unique_id_module modules/mod_unique_id.so LoadModule userdir_module modules/mod_userdir.so #LoadModule usertrack_module modules/mod_usertrack.so #LoadModule version_module modules/mod_version.so #LoadModule vhost_alias_module modules/mod_vhost_alias.so #LoadModule watchdog_module modules/mod_watchdog.so #LoadModule xml2enc_module modules/mod_xml2enc.so # После установки PHP уберите комментарии со строк Load, Add, PHP #LoadModule php7_module "c:/php7/php7apache2_4.dll" #AddHandler application/x-httpd-php .php # configure the path to php.ini #PHPIniDir "c:/php7" # # If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # User daemon Group daemon # "Main" server configuration # # The directives in this section set up the values used by the "main" # server, which responds to any requests that aren"t handled by a # definition. These values also provide defaults for # any containers you may define later in the file. # # All of these directives may appear inside containers, # in which case these default settings will be overridden for the # virtual host being defined. # # # ServerAdmin: Your address, where problems with the server should be # e-mailed. This address appears on some server-generated pages, such # as error documents. e.g. [email protected] # ServerAdmin [email protected] # # ServerName gives the name and port that the server uses to identify itself. # This can often be determined automatically, but we recommend you specify # it explicitly to prevent problems during startup. # # If your host doesn"t have a registered DNS name, enter its IP address here. # ServerName www.server-apache24.ru:80 # # Deny access to the entirety of your server"s filesystem. You must # explicitly permit access to web content directories in other # blocks below. # AllowOverride none Require all denied # # Note that from this point forward you must specifically allow # particular features to be enabled - so if something"s not working as # you might expect, make sure that you have specifically enabled it # below. # # # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # # DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.4/htdocs" было DocumentRoot "C:/server-apache24.ru/www" # было # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn"t give it to you. # # The Options directive is both complicated and important. Please see # //httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # # Options Indexes FollowSymLinks было Options Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # # AllowOverride None было AllowOverride All # # Controls who can get stuff from this server. # Require all granted AddHandler server-parsed .shtml .shtm .html .htm # # DirectoryIndex: sets the file that Apache will serve if a directory # is requested. # DirectoryIndex index.html # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. # Require all denied # # ErrorLog: The location of the error log file. # If you do not specify an ErrorLog directive within a # container, error messages relating to that virtual host will be # logged here. If you *do* define an error logfile for a # container, that host"s errors will be logged there and not here. # # ErrorLog "logs/error.log" было ErrorLog c:/server-apache24.ru/logs/error.log # # LogLevel: Control the number of messages logged to the error_log. # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn # # The following directives define some format nicknames for use with # a CustomLog directive (see below). # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common # You need to enable mod_logio.c to use %I and %O LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio # # The location and format of the access logfile (Common Logfile Format). # If you do not define any access logfiles within a # container, they will be logged here. Contrariwise, if you *do* # define per- access logfiles, transactions will be # logged therein and *not* in this file. # # CustomLog "logs/access.log" common было CustomLog c:/server-apache24.ru/logs/access.log common # # If you prefer a logfile with access, agent, and referer information # (Combined Logfile Format) you can use the following directive. # #CustomLog "logs/access.log" combined # # Redirect: Allows you to tell clients about documents that used to # exist in your server"s namespace, but do not anymore. The client # will make a new request for the document at its new location. # Example: # Redirect permanent /foo //www.server-apache24.ru/bar # # Alias: Maps web paths into filesystem paths and is used to # access content that does not live under the DocumentRoot. # Example: # Alias /webpath /full/filesystem/path # # If you include a trailing / on /webpath then the server will # require it to be present in the URL. You will also likely # need to provide a section to allow access to # the filesystem path. # # ScriptAlias: This controls which directories contain server scripts. # ScriptAliases are essentially the same as Aliases, except that # documents in the target directory are treated as applications and # run by the server when requested rather than as documents sent to the # client. The same rules about trailing "/" apply to ScriptAlias # directives as to Alias. # # ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.4/cgi-bin/" было ScriptAlias /cgi-bin/ "C:/server-apache24.ru/cgi-bin/" # # ScriptSock: On threaded servers, designate the path to the UNIX # socket used to communicate with the CGI daemon of mod_cgid. # #Scriptsock cgisock # # "C:/Program Files/Apache Software Foundation/Apache2.4/cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # # AllowOverride None Options None Require all granted # # TypesConfig points to the file containing the list of mappings from # filename extension to MIME-type. # TypesConfig conf/mime.types # # AddType allows you to add to or override the MIME configuration # file specified in TypesConfig for specific file types. # #AddType application/x-gzip .tgz # # AddEncoding allows you to have certain browsers uncompress # information on the fly. Note: Not all browsers support this. # #AddEncoding x-compress .Z #AddEncoding x-gzip .gz .tgz # # If the AddEncoding directives above are commented-out, then you # probably should define those extensions to indicate media types: # AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType application/x-httpd-php .php # # AddHandler allows you to map certain file extensions to "handlers": # actions unrelated to filetype. These can be either built into the server # or added with the Action directive (see below) # # To use CGI scripts outside of ScriptAliased directories: # (You will also need to add "ExecCGI" to the "Options" directive.) # #AddHandler cgi-script .cgi AddHandler cgi-script .cgi .pl # For type maps (negotiated resources): #AddHandler type-map var # # Filters allow you to process content before it is sent to the client. # # To parse .shtml files for server-side includes (SSI): # (You will also need to add "Includes" to the "Options" directive.) # AddType text/html .shtml AddOutputFilter INCLUDES .shtml # # The mod_mime_magic module allows the server to use various hints from the # contents of the file itself to determine its type. The MIMEMagicFile # directive tells the module where the hint definitions are located. # #MIMEMagicFile conf/magic # # Customizable error responses come in three flavors: # 1) plain text 2) local redirects 3) external redirects # # Some examples: #ErrorDocument 500 "The server made a boo boo." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 //www.server-apache24.ru/subscription_info.html ErrorDocument 404 C:/server-apache24.ru/www/404error.html ErrorDocument 500 C:/server-apache24.ru/www/500error.html # # MaxRanges: Maximum number of Ranges in a request before # returning the entire resource, or one of the special # values "default", "none" or "unlimited". # Default setting is to accept 200 Ranges. #MaxRanges unlimited # # EnableMMAP and EnableSendfile: On systems that support it, # memory-mapping or the sendfile syscall may be used to deliver # files. This usually improves server performance, but must # be turned off when serving from networked-mounted # filesystems or if support for these functions is otherwise # broken on your system. # Defaults: EnableMMAP On, EnableSendfile Off # #EnableMMAP off #EnableSendfile on # Supplemental configuration # # The configuration files in the conf/extra/ directory can be # included to add extra features or to modify the default configuration of # the server, or you may simply copy their contents here and change as # necessary. # Server-pool management (MPM specific) #Include conf/extra/httpd-mpm.conf # Multi-language error messages Include conf/extra/httpd-multilang-errordoc.conf # Fancy directory listings Include conf/extra/httpd-autoindex.conf # Language settings Include conf/extra/httpd-languages.conf # User home directories Include conf/extra/httpd-userdir.conf # Real-time info on requests and configuration #Include conf/extra/httpd-info.conf # Virtual hosts Include conf/extra/httpd-vhosts.conf # Local access to the Apache HTTP Server Manual #Include conf/extra/httpd-manual.conf # Distributed authoring and versioning (WebDAV) #Include conf/extra/httpd-dav.conf # Various default settings Include conf/extra/httpd-default.conf # Configure mod_proxy_html to understand HTML4/XHTML1 Include conf/extra/proxy-html.conf # Secure (SSL/TLS) connections #Include conf/extra/httpd-ssl.conf # # Note: The following must must be present to support # starting without SSL on platforms with no /dev/random equivalent # but a statically compiled-in mod_ssl. # SSLRandomSeed startup builtin SSLRandomSeed connect builtin # # uncomment out the below to deal with user agents that deliberately # violate open standards by misusing DNT (DNT *must* be a specific # end-user choice) # # #BrowserMatch "MSIE 10.0;" bad_DNT # # #RequestHeader unset DNT env=bad_DNT #


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


Поиск и устранение ошибок при установке сервера Apache

Apache поставляется с утилитой под названием Apache Service Monitor. С её помощью вы можете увидеть и управлять состоянием всех установленных служб Apache на любом компьютере в сети.

Перезапуск Apache 2.4

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

ApacheMonitor

Значок ApacheMonitor можно увидеть нажав на кнопку - отображать скрытые значки

Дважды щелкните левой кнопкой мыши на значке Apache Service Monitor .

Пезапустить сервер Apache можно нажав на кнопку Restart
в окне программы Apache Service Monitor.
Или - Stop и затем - Start .

Если вы внесли изменения только в файл httpd.conf,

то введя в адресную строку браузера - localhost или - 127.0.0.1 ,
вы увидите страницу - Ошибка 403 (Error 403) .

Access forbidden!

You don"t have permission to access the requested directory. There is either no index document or the directory is read-protected.
If you think this is a server error, please contact the webmaster.

Error 403

127.0.0.1
Apache/2.4.4 (Win64)

Доступ запрещен!

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

Ошибка 403

Войдите с правами администратора в командную строку - Администратор - Командная строка
и введите:
"C:\Program Files\Apache Software Foundation\Apache2.4\bin\httpd.exe" 2> C:\errapache.txt

Microsoft Windows (c) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены. C:\Windows\system32>"C:\Program Files\Apache Software Foundation\Apache2.4\bin\httpd.exe" 2> C:\errapache.txt C:\Windows\system32>

На диске C:/ будет создан файл errapache.txt


AH00112: Warning: DocumentRoot does not exist AH00112: Warning: DocumentRoot does not exist (OS 10048) Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт). : AH00072: make_sock: could not bind to address [::]:80 (OS 10048) Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт). : AH00072: make_sock: could not bind to address 0.0.0.0:80 AH00451: no listening sockets available, shutting down AH00015: Unable to open logs

AH00112: Предупреждение (Warning):
C:/Program Files/Apache Software Foundation/Apache2.4/docs/dummy-host.server-apache24.ru
C:/Program Files/Apache Software Foundation/Apache2.4/docs/dummy-host2.server-apache24.ru
Они не существуют (does not exist) .

Но главное - это ошибки OS 10048:

не удалось привязать к адресу [::]:80 (could not bind to address [::]:80)
не удалось привязать к адресу 0.0.0.0:80 (could not bind to address 0.0.0.0:80)

Войдите в командную строку и введите:
netstat -aon

Администратор: Командная строка

Microsoft Windows (c) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены. C:\Windows\system32>netstat -aon Активные подключения Имя Локальный адрес Внешний адрес Состояние PID TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1612 TCP [::]:80 [::]:0 LISTENING 1612 TCP 127.0.0.1:49693 127.0.0.1:49694 ESTABLISHED 5612 TCP 127.0.0.1:49694 127.0.0.1:49693 ESTABLISHED 5612 TCP 127.0.0.1:51341 0.0.0.0:0 LISTENING 3920 TCP 127.0.0.1:52006 0.0.0.0:0 LISTENING 3708 TCP 192.168.0.100:139 0.0.0.0:0 LISTENING 4 TCP 192.168.0.100:51330 34.226.135.28:443 ESTABLISHED 1232 TCP 192.168.0.100:51345 52.196.85.70:443 ESTABLISHED 1232 TCP 192.168.0.100:52796 88.212.253.127:21 ESTABLISHED 1128 TCP 192.168.0.100:53160 151.101.112.134:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53161 151.101.112.134:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53162 151.101.128.134:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53176 151.101.112.134:443 ESTABLISHED 3712 TCP 192.168.0.100:53179 151.101.128.233:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53192 151.101.112.64:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53223 23.61.217.175:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53230 185.29.133.52:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53246 2.18.74.149:443 CLOSE_WAIT 3712 TCP 192.168.0.100:53271 52.205.235.141:443 ESTABLISHED 5236 C:\Windows\system32>

Идентификатор процесса, более известный как идентификатор PID - это уникальный номер. Каждый процесс, запущенный в системе имеет уникальный идентификатор.
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1612
TCP [::]:80 [::]:0 LISTENING 1612

Откройте Диспетчер задач

Только служба Apache2.4 имеет идентификатор PID - 1612

В каталоге C:/Program Files/Apache Software Foundation/Apache2.4/conf/extra/
откройте в Блокноте файл - httpd-vhosts.conf

Прежде чем вносить какие-либо изменения, сделайте резервную копию файла - httpd-vhosts.conf .

Замените в секциях VirtualHost
на

httpd-vhosts.conf - содержание файла конфигурации сервера Apache 2.4

# Virtual Hosts # # Required modules: mod_log_config # If you want to maintain multiple domains/hostnames on your # machine you can setup VirtualHost containers for them. Most configurations # use only name-based virtual hosts so the server doesn"t need to worry about # IP addresses. This is indicated by the asterisks in the directives below. # # Please see the documentation at #

В каталоге C:\Windows\System32\drivers\etc\
откройте в Блокноте файл - hosts
И добавьте в него строку:

127.0.0.1 localhost www.server-apache24.ru server-apache24.ru

Пезапустите сервер Apache, нажав на кнопку Restart
в Apache Service Monitor.

Введите в адресную строку браузера - server-apache24.ru
и увидите, созданную вами, индексную страницу главного сайта сервера Apache2.4

Индексная страница сайта должна находиться в подкаталоге www (C:\server-apache24.ru\www\)

После установки сервера Apache 2.4 войдите в командную строку и введите команды:

httpd.exe -t

Будет получено два предупреждения.

Администратор: Командная строка

Microsoft Windows (c) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены. C:\Windows\system32>cd C:\Program Files\Apache Software Foundation\Apache2.4\bin\ C:\Program Files\Apache Software Foundation\Apache2.4\bin>httpd.exe -t AH00112: Warning: DocumentRoot does not exist AH00112: Warning: DocumentRoot does not exist Syntax OK C:\Program Files\Apache Software Foundation\Apache2.4\bin>

В ходе данной инструкции мы подробно рассмотрим установку веб сервера Apache, PHP, Tomcat (для поддержки JSP) и их привязку для совместной работы. Рассмотрим примерный файл конфигурации Apache. Затем мы произведем установку MySQL сервера и рассмотрим примеры доступа к нему из PHP и JSP. Установим PHPMyAdmin для работы с MySQL.

Необходимые компоненты

Мною были использованы следующие версии, по возможности самые последние.
Apache 2.0.52
PHP 4.3.9
Tomcat 5.5.4
mod_jk 1.2.6
J2SDK 1.5.0
MySQL 4.1.7
Connector/J 3.1.6
PHPMyAdmin 2.6.0
Где взять необходимые компоненты?
Apache Web Server
http://httpd.apache.org/
PHP
http://www.php.net/
JSP

* Tomcat
http://jakarta.apache.org
* mod_jk
http://www.javaportal.ru/downloads/downloads.html
* Java
http://java.sun.com/

* MySQL Database

* Connector/J
http://dev.mysql.com/downloads/
* PHPMyAdmin
http://www.phpmyadmin.net/

Установка Apache

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

Запускаем apache_2.0.52-win32-x86-no_ssl и видим окно приветствия:

Жмем «Next».

Появляется окошко, где нам предлагают ознакомиться с лицензией на использование данного продукта, выбираем «I accept….» и жмем «Next».

Немного истории, и снова «Next».

В окошко информации о сервере вводим данные, как показано выше на картинке:
Network Domain: localhost
Server name: localhost
Administrator`s Email Address: localhost»@localhost

Так же выберем «For All Users, on 80 port, as a Service — Recommended». И далее «Next»

Выбираем Custom для выбора всех компонентов для установки.

Выбираем все для полной установки, меняем путь инсталляции на C:ServerApache2

Опять жмем «Next».

Наблюдаем ход установки.

Установка завершена. В правом нижнем углу появился заначек?

Если да то наш веб-сервер установился. Щелкаем на значке левой кнопкой мыши и открываем панель управления:

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

Теперь протестируем наш сервер. Открываем браузер и в строке адреса, вводим http://localhost. Если вы увидите следующей результат:

Значит сервер установлен удачно.

Установка PHP

Извлекаем содержимое php-4.3.9-Win32.zip в папочку C:Server и переименовываем получившеюся папку «php-4.3.9-Win32» в «php4».

Теперь нам надо дать понять серверу что у нас есть PHP интерпретатор.

Добавляем в конец конфигурационного файл нашего сервера C:ServerApache2confhttpd.conf следующею запись:

# Даём знать серверу что у нас есть PHP интерпретатор ScriptAlias /php4/ "C:/Server/php4/" Action application/x-httpd-php4 "/php4/php.exe" # Устанавливаем расширения для PHP скриптов AddType application/x-httpd-php4 .php .php3 .php4 .phtm .phtml

Сохраняем файл. Перезапускаем наш сервер (кнопочка restart в панели управления сервером), еще не забыли как?

Теперь нам надо проверить работает ли эта связка. В папочке C:ServerApache2htdocs (эта папка по умолчанию стои корневой, доступной с http://localhost) создаем файл phpinfo.php следующего содержания:

Сохраняем. Открываем в браузере http://localhost/phpinfo.php, если все прошло удачно должны увидеть следующие:

Устанавливаем поддержку JSP

Для этого нам необходимо установить JDK версии 1.5, так как мы будем устанавливать Tomcat 5, а он на версии ниже 1.5 не работает.

Запускаем jdk-1_5_0-windows-i586.exe

Соглашаемся с лицензионным соглашением.

Оставляем все как есть

Также оставляем все как есть.

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

JDK установлен!!!

Приступаем к установке Tomcat 5.

Запускаем jakarta-tomcat-5.5.4

Принимаем приветствие и лицензионное соглашение

Выбираем полную установку, помечая все компоненты галочками.

Устанавливаем все в туже папочку “Server”

Конфигурацию оставляем по умолчанию.

Проверяем путь до JRE.

Ход инсталляции

Ок. все готово. Но пока Tomcat работает сам по себе и не связан с Apache.

Проверяем работоспособность Tomcat. Открываем в браузере http://localhost:8080/, так как Tomcat по умолчанию слушает порт 8080. При положительном результате мы должны увидеть следующее:

Теперь наша задача состоит в том чтобы прикрутить Tomcat на localhost:

Для этого нам необходимо скопировать коннектор mod_jk.dll в папочку C:ServerApache2modules и в конфигурационном файле httpd.conf Apache2 добавить следующую запись:

########################################################### ## JSP Support ## Copied from Tomcat auto-configuration file ## + added JkMount /*.jsp ajp13 ## + removed Virtual Host IfModule !mod_jk.c> JkWorkersFile "C:/Server/Tomcat 5.5/conf/workers.properties" JkLogFile "C:/Server/Tomcat 5.5/logs/mod_jk.log" JkLogLevel info JkMount /manager ajp13 JkMount /manager/ * ajp13 JkMount /servlets-examples ajp13 JkMount /servlets-examples/ * ajp13 JkMount /jsp-examples ajp13 JkMount /jsp-examples/ * ajp13 JkMount /tomcat-docs ajp13 JkMount /tomcat-docs/ * ajp13 JkMount /webdav ajp13 JkMount /webdav/ * ajp13 JkMount / ajp13 JkMount / *. jsp ajp13

После чего необходимо перезагрузить сервер Apache2.

Давайте теперь проверим, работает ли? Открываем в браузере http://localhost/jsp-examples/. И если видим следующее, то все работает!

Конфигурация сервера

Теперь нам необходимо привести в порядок наш сервер, настроим его под себя. Открываем файл httpd.conf, все оттуда удаляем и вставляем туда текст:

# Папка куда установлен наш веб сервер ServerRoot "C:/Server/Apache2" # Порт, который слушает наш веб сервер Listen 80 # Устанавливаем SSI, для файлов с расширением shtm, shtml html AddType text/html .shtm .shtml .html AddOutputFilter INCLUDES .shtm .shtml .html # E-mail адрес админа веб сервера (поменяйте на свой) ServerAdmin localhost@localhost # Наш сервер:порт ServerName localhost:80 UseCanonicalName Off # Индексные файлы, через пробел DirectoryIndex index.htm index.html index.shtm index.shtml index.php index.php3 index.php4 index.jsp # Имя встроенного конфигурационного файла AccessFileName .htaccess # Даём знать веб серверу, что у нас есть PHP интерпретатор ScriptAlias /php4/ "C:/Server/php4/" Action application/x-httpd-php4 "/php4/php.exe" # Устанавливаем расширения для PHP скриптов AddType application/x-httpd-php4 .php .php3 .php4 .phtm .phtml # Папка куда будем складывать все наши html и прочие файлы. DocumentRoot "C:/Server/www" PidFile logs/httpd.pid Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 HostnameLookups Off # Модули LoadModule access_module modules/mod_access.so LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule asis_module modules/mod_asis.so LoadModule auth_module modules/mod_auth.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule cgi_module modules/mod_cgi.so LoadModule dir_module modules/mod_dir.so LoadModule env_module modules/mod_env.so LoadModule imap_module modules/mod_imap.so LoadModule include_module modules/mod_include.so LoadModule isapi_module modules/mod_isapi.so LoadModule log_config_module modules/mod_log_config.so LoadModule mime_module modules/mod_mime.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule userdir_module modules/mod_userdir.so # Закрываем доступ к файлам конфигурации (.htaccess) и паролей (.htpasswd) Order allow,deny Deny from all # База с типами файлов TypesConfig conf/mime.types # Тип всех документов - текстовый DefaultType text/plain MIMEMagicFile conf/magic # Файл отчёта с ошибками ErrorLog logs/error.log # Что записывать в файл отчёта, может принимать следующие значения: # debug, info, notice, warn, error, crit, alert, emerg. LogLevel warn # Шаблон записи строки в файл отчёта LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined LogFormat "%h %l %u %t "%r" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent # Файл отчёта со списком всех доступов к веб серверу CustomLog logs/access.log common ServerTokens Full # Подпись веб сервера (On - включена, Off - отключена, # EMail - показывать e-mail админа сервера) ServerSignature On # Виртуальные папки # Например: # Alias /icons/ "C:/Server/Apache2/icons/" # Зайдя на http://localhost/icons/ # мы увидем содержимое папки C:/Server/Apache2/icons/ Alias /icons/ "C:/Server/Apache2/icons/" AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip AddIconByType (TXT,/icons/text.gif) text/ * AddIconByType (IMG,/icons/image2.gif) image/ * AddIconByType (SND,/icons/sound2.gif) audio/ * AddIconByType (VID,/icons/movie.gif) video/ * # Выбираем иконки для различных форматов AddIcon /icons/binary.gif .bin .exe AddIcon /icons/binhex.gif .hqx AddIcon /icons/tar.gif .tar AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip AddIcon /icons/a.gif .ps .ai .eps AddIcon /icons/layout.gif .html .shtml .htm .pdf AddIcon /icons/text.gif .txt AddIcon /icons/c.gif .c AddIcon /icons/p.gif .pl .py AddIcon /icons/f.gif .for AddIcon /icons/dvi.gif .dvi AddIcon /icons/uuencoded.gif .uu AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl AddIcon /icons/tex.gif .tex AddIcon /icons/bomb.gif core AddIcon /icons/back.gif .. AddIcon /icons/hand.right.gif README AddIcon /icons/folder.gif ^^DIRECTORY^^ AddIcon /icons/blank.gif ^^BLANKICON^^ # Иконка для неизвестных форматов DefaultIcon /icons/unknown.gif # Если выводится содержимое какой-либо папки, cчитываются файлы описания: ReadmeName README.html HeaderName HEADER.html # Файлы для игнорирования, при выводе листинга директории IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t AddEncoding x-compress Z AddEncoding x-gzip gz tgz # Наша кодировка AddDefaultCharset WINDOWS-1251 # "C:/Server/Apache2/cgi-bin" директория CGI-скриптов AllowOverride None Options None Order allow,deny Allow from all ########################################################### ## JSP Support ## Copied from Tomcat auto-configuration file ## + added JkMount / *.jsp ajp13 ## + removed Virtual Host LoadModule jk_module C:/Server/Apache2/modules/mod_jk.dll JkWorkersFile "C:/Server/Tomcat 5.5/conf/workers.properties" JkLogFile "C:/Server/Tomcat 5.5/logs/mod_jk.log" JkLogLevel info JkMount /manager ajp13 JkMount /manager/ * ajp13 JkMount /servlets-examples ajp13 JkMount /servlets-examples/ * ajp13 JkMount /jsp-examples ajp13 JkMount /jsp-examples/ * ajp13 JkMount /tomcat-docs ajp13 JkMount /tomcat-docs/ * ajp13 JkMount /webdav ajp13 JkMount /webdav/ * ajp13 JkMount / ajp13 JkMount / *.jsp ajp13

Сохраняем. Перезагружаем сервер.

Устанавливаем MySQL сервер

Распаковываем файл mysql-4.1.7-win.zip и запускаем файл Setup.exe

Приветствие, жмем Next

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

Выбираем все компоненты для установки, и указываем путь для инсталляции C:ServerMySQL Server 4.1. Идем далее.

Готовы к началу процесса инсталляции? Жмем Install.

Наблюдаем процесс инсталляции.

Пропускаем шаг регистрации на MySQL.com.

Ставим галочку на опции «Конфигурировать MySQL сервер». И завершаем процесс установки приступая к конфигурации.

Опять приветствие.

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

Указываем, что MySQL сервер будет запускаться как служба Windows.

Указываем пароль для администратора, допустим это будет «password».

Execute и все готово! После чего мы наблюдаем следующую картинку в нижнем правом углу:

Теперь тестируем наш MySQL сервер. Создадим в папке www файл index.php следующего содержания:

Сохраняем.

Открываем в браузере http://localhost/index.php и….

Не тут то было! Вылезет ошибка «Client does not support authentication protocol requested by server; consider upgrading MySQL client»

Ну что же это небольшая не совместимость. . . В MySQL 4.1 применяется новый способ хранения паролей и из-за этого вылезает несовместимость всех старых клиентов с MySQL. Что же делать?

Для конфигурации Apache есть 4 основных подхода:

  1. Компиляция / инсталляция: сборка из исходников позволяет выбрать необходимые модули, установить нужные флаги, пути и т. д.
  2. Параметры командной строки: позволяют конфигурировать Apache при запуске.
  3. Глобальные конфигурационные файлы: главный файл по умолчанию называется httpd.conf.
  4. Локальные конфигурационные файлы: использование.htaccess.

Конфигурационные директивы в файле httpd.conf можно разбить на 3 категории:

  1. Директивы, контролирующие общий процесс работы.
  2. Директивы виртуальных хостов.
  3. Настройки виртуальных хостов.

К директивам первой группы относятся , , , , , .

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

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

Содержимое основного конфига httpd.conf можно разделить на 5 секций:

  1. Глобальные директивы.
  2. - применимы к выиртуальным серверам.
  3. , - применимы к каталогам.
  4. , - применимы к файлам.
  5. , - применимы к URL.

Директива может иметь несколько параметров, тип параметров может различаться.

Каждая директива обрабатывается определенным модулем.

Например, директива

Следующая директива будет обработана модулем mod_env, будет установлена переменная окружения:



Содержимое локального файла.htaccess можно разделить также на 5 секций:

  1. AuthConfig - контроль авторизации.
  2. Limits - контроль доступа.
  3. Options - конкретные настройки каталогов.
  4. FileInfo - установка атрибутов для документов.
  5. Indexes - индексация каталогов.

В Ubuntu apache находится по адресу /etc/apache2 и, помимо конфигурационных файлов, содержит директории "sites-available" и "sites-enabled". В первой директории находится список сайтов, которые доступны на сервере, а во второй - те, которые обслуживаются сервером. Это дает возможность быстро добавлять и удалять сайты, которые будут обслуживаться сервером, без необходимости физически удалять их из DocumentRoot. В дополнение к этому другие файлы настроек могут быть добавлены с использованием инструкции Include, а символы группировок могут использоваться для включения множества файлов настроек. Любая инструкция может быть добавлена в любой из этих файлов настроек. Сервер также читает файлы, содержащие типы mime документов; имя файла задается инструкцией TypesConfig, обычно через /etc/apache2/mods-available/mime.conf, который также может включать дополнения и переопределения, а по умолчанию используется /etc/mime.types.