Предыдущие части:
В этой части я собрал инструкции по настройке AEM Dispatcher на Windows. Я AEM разработчик, а значит Java разработчик, а значит установка и конфигурирование Apache - это не то что я делаю регулярно. Инструкции, собранные в этой серии публикаций, сберегли бы мне значительное количество времени, имей я их еще при при первой настройке на локальном окружении.
В целях демонстрации в нашем руководстве для новичков рассматривается установка только локальной рабочей среды. Подразумевается, что у вас уже установлены авторский (http://localhost:4502) и публичный (http://localhost:4503) AEM-сервера. Далее надо установить всего пару вещей для рабочей среды диспетчера.
Следует выбрать один из трех поддерживаемых статических веб-серверов и установить его:
- Apache HTTP Server (httpd);
- Microsoft IIS;
- Oracle IPlanet.
Затем надо установить и подключить модуль (плагин) AEM диспетчера для этого статического веб-сервера.
Установка статического веб-сервера
В качестве демонстрации рассматриваем установку Apache HTTP сервера (httpd). Далее считаем, что ваша локальная среда основана на одной из операционных систем семейства Windows. Если у вас другая операционная система, то этапы установки будут очень похожи.
Будем считать, что у нас уже установлена следующая рабочая среда:
- операционная система Windows 7 Professional SP1 x64;
- авторский сервер AEM 6.1 (http://localhost:4502);
- публичный сервер AEM 6.1 (http://localhost:4503).
Важное замечание: перед скачиванием дистрибутивов статического сервера httpd сперва следует проверить, существует ли соответствующий модуль диспетчера для вашего будущего httpd сервера. Всевозможные версии модуля диспетчера были созданы компанией Adobe и доступны на этой странице.
Как видно на вышеуказанной странице, для операционных систем семейства Windows существуют модули диспетчера только для httpd сервера версии 2.2. Можете выбрать один из двух архивов: dispatcher-apache2.2-windows-x86-4.2.0.zip или dispatcher-apache2.2-windows-x86-ssl-4.2.0.zip.
Одним из этих архивов мы будем пользоваться в следующем параграфе, в котором будет показано, как подключить модуль диспетчера к статическому веб-серверу.

Поэтому нам надо установить httpd версии 2.2 для платформы x86, ведь наша рабочая среда настроена в операционной системе семейства Windows, и только парочка модулей диспетчера есть в наличии как раз для нашего случая. Затем на странице загрузки httpd-сервера https://httpd.apache.org/download.cgi вы можете обнаружить, что дистрибутивы httpd для Microsoft Windows доступны только от других разработчиков.

Это значит, что на сайте httpd веб-сервера нет бинарных файлов для операционных систем семейства Windows, но вы можете выбрать одного из других разработчиков, которые создали такие бинарные файлы из исходного кода и выложили их для свободного скачивания на своих сайтах.
https://httpd.apache.org/docs/current/platform/windows.html#down

Давайте выберем первый из списка: ApacheHaus. http://www.apachehaus.com/cgi-bin/download.plx Эти бинарные файлы созданы с помощью программы Visual Studio.

На этой странице можно найти бинарные файлы сервера httpd 2.2 и узнать, что эта версии httpd-сервера была создана с помощью программы Visual Studio 2008 (VC9).

Поэтому вам также потребуется соответствующая программа Microsoft Visual C++ Redistributable Package (x86):

В итоге мы скачали все необходимые дистрибутивы для установки httpd-сервера:
- “vcredist_x86.exe” - Microsoft Visual C++ 2008 SP1 Redistributable Package (x86);
- “httpd-2.2.31-x86-r4.zip” - httpd сервер.
Сперва устанавливаем программу Microsoft Visual C++ 2008 SP1 Redistributable Package (x86). Её установка элементарна с помощью помощника для установки и состоит в основном из простого нажатия на кнопку "Далее" и принятия лицензионного соглашения.
Затем распакуйте архив httpd-сервера и скопируйте из него папку Apache22 в корневую папку логического диска C. Папка вашего httpd-сервера будет C:\Apache22.
Откройте cmd-консоль и в ней перейдите в папку C:\Apache22\bin.

Введите команду "httpd" для запуска httpd сервера.

Сервер httpd запустился. Можно проверить его работоспособность в браузере по адресу http://localhost. Если все хорошо, то появится домашняя страница:

Чтобы остановить httpd сервер, в cmd-консоли можете нажать ctrl+c.
В итоге вы установили ваш собственный локальный apache httpd статический веб-сервер.
Установка и подключение модуля AEM диспетчера.
Скачайте соответствующий модуль диспетчера с этой страницы.

Далее считаем, что мы скачали архив dispatcher-apache2.2-windows-x86-4.2.0.zip.
Распакуйте архив и скопируйте disp_apache2.2.dll из него в папку C:\Apache22\modules.
Добавьте следующие настройки в конец файла конфигурации httpd-сервера C:\Apache22\conf\httpd.conf:
LoadModule dispatcher_module modules\disp_apache2.2.dll
<IfModule disp_apache2.c>
DispatcherConfig conf/dispatcher.any
DispatcherLog logs/dispatcher.log
DispatcherLogLevel 3
DispatcherNoServerHeader 0
DispatcherDeclineRoot 0
DispatcherUseProcessedURL 1
DispatcherPassError 0
</IfModule>
<Directory />
<IfModule disp_apache2.c>
SetHandler dispatcher-handler
ModMimeUsePathInfo On
</IfModule>
Options FollowSymLinks
AllowOverride None
</Directory>
Первая строка включает модуль диспетчера. Важно указать правильное имя dll-файла вашего диспетчера, например, в нашем случае modules\disp_apache2.2.dll.
Следующий 2-ой "ifmodule" блок настраивает некоторые начальные параметры диспетчера:
- DispatcherConfig - устанавливает полное имя файла настроек диспетчера. В нашем случае это conf/dispatcher.any. Вы можете скопировать настройки по умолчанию из файла dispatcher.any, лежащего внутри ранее распакованного архива диспетчера.
- DispatcherLog - задает полное имя файла логирования диспетчера. В нашем случае это logs/dispatcher.log.
- DispatcherLogLevel - степень подробности информации в файле логирования, начиная от самой краткой 0 (записывать только ошибки) до наиболее полной 3 (отладочная информация). В нашей примере установлен уровень подробности для отладки.
- DispatcherUseProcessedURL - определяет, использовать или нет предварительную обработку адресов URL перед последующей обработкой диспетчером:
- 0 - использовать исходные адреса URL, переданные веб-серверу.
- 1 - диспетчер использует адреса URL, прошедшие предварительную обработку различными обработчиками до диспетчера (например, обработка модулем mod_rewrite) вместо того, чтобы использовать исходные адреса URL, переданные веб-серверу.
Следующий 3-ий блок "directory" настраивает обработку входящих запросов с помощью диспетчера для полного дерева сайта.
Наконец-то установка httpd-сервера и диспетчера завершена. Перезапустите ваш httpd-сервер, потому что изменения настроек не действуют в процессе работы httpd-сервера и активируются только при запуске сервера. Если вы видите, что появился файл logs/dispatcher.log, значит у вас httpd-сервер работает правильно, и модуль диспетчера подключен тоже должным образом.
Резюме
Для установки рабочей среды для диспетчера вам потребуется следующий софт:
- Один из трех поддерживаемых статических веб-серверов;
- Для выбранного установленного статического веб-сервера надо подключить модуль диспетчера.
Подробная и полезная документация доступна на следующих страницах:
- https://docs.adobe.com/docs/en/dispatcher/disp-install.html
- https://docs.adobe.com/docs/en/aem/6-0/deploy/technical-requirements.html#par_title_15
Автор: Виталий Киселев, AEM Разработчик