Интеграция приложений JIRA с IIS

На этой странице описано, как настроить веб-сервер и JIRA Microsoft IIS таким образом, чтобы IIS отправлял запросы JIRA и ответы обратно пользователю. Это полезно, если у вас уже есть службы IIS для обслуживания веб-страниц (например, http://mycompany.com) и хотите интегрировать JIRA как еще один URL-адрес (например, http://mycompany.com/jira).

JIRA написана на Java и для запуска требуется сервер приложений Java (контейнер сервлетов). Поскольку IIS не предоставляет услуги  серверу приложений Java, невозможно развернуть JIRA непосредственно в IIS. Тем не менее, можно настроить IIS на запросы прокси для JIRA на сервер приложений, на котором развернута JIRA. Поэтому, если ваш основной сайт работает в IIS, можно интегрировать JIRA на этот сайт.

Если вам необходимо интегрировать JIRA с IIS, JIRA необходимо развернуть на сервер приложений Java (например, Apache Tomcat), который обеспечивает возможность интеграции IIS.

 

Если вы используете JIRA на сервере приложений, отличном от Apache Tomcat, обратитесь к документации этого сервера приложений, чтобы определить, возможно ли (и как) интегрировать сервер приложений с IIS.

Чтобы интегрировать JIRA с IIS, вам необходимо:

  1. Настройте JIRA и проверьте, что она работает сама по себе
  2. Настройте Tomcat для принятия прокси-запросов от IIS
  3. Настройте IIS для перенаправления запросов JIRA на Tomcat

1. Настройка JIRA

  1. Следуйте руководству по установке JIRA для установки и настройки JIRA. Обратите внимание, что JIRA можно установить на том же компьютере, что и IIS, но это необязательно.
  2. Измените путь контекста веб-приложения JIRA:

Чтобы разрешить IIS прокси-запросы(requests) JIRA, веб-приложение JIRA должно быть развернуто с помощью контекстного пути (например, / jira в http: // localhost: 8080 / jira (http: // localhost: 8080 * / jira *)) в Tomcat.

Контекстный путь должен быть установлен в путь в URL-адресе, который IIS будет использовать для запросов прокси(requests). Например, если ваш сайт работает с адресом www.example.com в IIS, и вы хотели бы сделать JIRA доступным по адресу www.example.com/jira, вам нужно будет установить контекст JIRA для «/ jira» в Tomcat.

Для этого отредактируйте файл conf / server.xml. Измените атрибут пути элемента Context на «/ jira».

 

  1. Перезапустите JIRA после изменения контекстного пути.
  2. Установите «базовый URL» для включения контекстного пути (см. «Настройка параметров JIRA»).
  3. Выключите сжатие JIRA GZip (так как не будет никакой выгоды от сжатия GZip, как только осуществлено представление (proxying) )
  4. Проверьте, работает ли JIRA правильно, указав свой веб-браузер непосредственно на Tomcat (например, http: // localhost: 8080 / jira) и пройдя мастер установки JIRA. Если вы уже закончили Мастер установки, попробуйте создать задачу или изменить ее.Не допускайте ошибок.

2. Настройка Tomcat для принятия прокси-запросов

  1. Включить коннектор AJP / 1.3 в Tomcat: чтобы Tomcat мог принимать запросы (requests) JIRA из IIS, отредактируйте файл conf / server.xml и убедитесь, что AJP / 1.3 Connector включен (т. е. не закомментирован). Чтобы включить соединитель AJP / 1.3 в JIRA, удалите символы комментария в следующем разделе в файле conf / server.xml:

<Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

В приведенном выше примере конфигурируется Tomcat для прослушивания проксированных запросов IIS на порту 8009. Если этот порт уже используется на компьютере, на котором работает JIRA, перейдите на другой порт.

  1. Перезапустите Tomcat и убедитесь, что в журналах или в консоли Tomcat не появилось никаких ошибок относительно используемых портов.
  2. Убедитесь, что разъем AJP прослушивает указанный порт (по умолчанию 8009). Один из способов сделать это - использовать команду «netstat -na» в окне команд и просмотреть, указан ли порт 8009 в выводе:

3. Настройте IIS для пересылки запросов в JIRA

На машине, где развернут IIS:

  1. Загрузите ISAPI Redirect DLL с сайта Apache. При загрузке выберите версию Windows, на которой работает IIS (либо win32, либо win64), а затем выберите последнюю доступную версию jk.
  1. Поместите DLL и связанные с ним файлы свойств в каталог установки. Для целей этого документа мы предположим, что каталог - это C: \ tomcat_iis_connector. Поместите isapi_redirect.dll в этот каталог. Затем загрузите файл isapi_redirect.properties и поместите его в тот же каталог, что и файл isapi_redirect.dll.
  2. Создайте в каталоге установки каталог «conf» (C: \ tomcat_iis_connector \ conf). Загрузите файлы uriworkermap.properties и employees.properties.minimal и поместите их в каталог C: \ tomcat_iis_connector \ conf.
  3. Создайте каталог с именем «logs» (C: \ tomcat_iis_connector \ logs). Здесь будут размещены журналы, связанные с исполнением isapi_redirect.dll.
  4. В каталоге «C: \ tomcat_iis_connector» вам может потребоваться изменить файл isapi_redirect.properties. Файл isapi_redirect.properties указывает соединителю, где можно найти файлы конфигурации и где DLL может быть найдена в отношении сервера IIS. В этом файле 5 объектов:
  • extension_uri - путь к виртуальному каталогу, который содержит isapi_redirect.dll
  • log_file - путь для записи файла журнала в
  • log_level - уровень, на котором должны быть созданы журналы
  • worker_file - путь к вашему файлу employee.properties.minimal в вашей установке
  • worker_mount_file - путь к вашему файлу uriworkermap.propertiesl в вашей установке.

Если вы устанавливаете разъем в C: \ tomcat_iis_connector и следуете приведенным ниже инструкциям о настройке виртуального каталога для файла isapi_redirect.dll, вам не придется изменять какие-либо свойства в предоставленном файле.

  1. В каталоге «C: \ tomcat_iis_connector \ conf» вам может потребоваться изменить uriworkermap.properties и employee.properties.minimalfiles.

Файл workers.properties.minimal сообщает IIS, где работает (IP-адрес и порт) Tomcat. uriworkermap.properties сообщает IIS, какие запросы (requests) на прокси-сервер для Tomcat.

Чтобы отредактировать эти файлы:

  • Отредактируйте uriworkermap.properties и убедитесь, что он содержит следующее отображение для JIRA. Вам не нужны никакие другие сопоставления.

/jira/*=worker1

  • Отредактируйте файл worker.properties.minimal и измените свойство worker.ajp13w.host, если это необходимо. Это свойство должно быть установлено на имя хоста или IP-адрес машины, на которой запущен Tomcat (с JIRA). Если Tomcat работает на том же компьютере, что и IIS, вы можете оставить свойство установленное к localhost. Если вы указали имя хоста в качестве значения этого свойства, убедитесь, что машина IIS может правильно разрешить его на соответствующий IP-адрес.
  • Если вы изменили порт для AJP Connector, вам нужно будет изменить файл worker.ajp13w.portproperty. Ниже приведен пример файла с Tomcat, работающего на том же компьютере, что и IIS, и используя порт по умолчанию (8009) для AJP:

worker.list = worker1
#
# Определение рабочего с именем worker1 и типа ajp13.
# Обратите внимание, что имя и тип не должны совпадать.
#
worker.worker1.type = ajp13
worker.worker1.host = localhost
worker.worker1.port = 8009

  1. Откройте панель управления, затем «Администрирование» и откройте «Информационные службы Интернета».
  2. Только IIS 7.0: если вы используете IIS 7.0, вам необходимо установить две требуемые служебные роли, расширения ISAPI и фильтры ISAPI:
  • Перейдите в меню «Пуск»> «Все программы»> «Служебные»> «Сервис-менеджер».
  • Выберите «Веб-сервер (IIS)» в «Диспетчер серверов»> «Роли».
  • Нажмите «Добавить службы ролей» и следуйте инструкциям мастера.
  1. Добавьте ISAPI Filterto IIS, как описано ниже:
  • IIS 6.0 или ранее:
    • Щелкните правой кнопкой мыши веб-сайт по умолчанию (или веб-сайт, на который должен отвечать запрос проксирования на JIRA), и нажмите «Свойства».
    • Перейдите на вкладку «Фильтры ISAPI».
    • Проверьте, есть ли фильтр, который указывает на файл isapi_redirect.dll и что он находится в правильном месте. Если нет, нажмите «Добавить» и создайте его. Введите tomcat в качестве имени фильтра и введите местоположение файла isapi_redirect.dll для исполняемого файла.
    • Нажмите «Применить», а затем «ОК».
  • IIS 7.0:
    • Нажмите веб-сайт по умолчанию (или веб-сайт, на который должен отвечать запрос проксирования на JIRA), и нажмите на фильтры ISAPI.
    • Щелкните значок ISAPI Filters.
    • Проверьте, есть ли фильтр, который указывает на файл isapi_redirect.dll и что он находится в правильном месте. Если нет, нажмите «Добавить» и создайте его. Введите tomcat в качестве имени фильтра и введите местоположение файла isapi_redirect.dll.
    • Нажмите «ОК».
  1. Создайте виртуальный каталог для JIRA в IIS.
  • Щелкните правой кнопкой мыши веб-сайт по умолчанию (или веб-сайт, на который должен отвечать запрос проксирования на JIRA), выберите «Создать», а затем «Виртуальный каталог».
  • Пройдите мастер создания. Задайте псевдоним как значение Контекстного пути (без косой черты), который был установлен в разделе «Настройка JIRA» этого документа (см. выше). В нашем примере это
  • Это может указывать на любой каталог.
  • Завершите работу мастера.
  1. Создайте виртуальный каталог для доступа к IIS isapi_redirect.dllin, как описано ниже:
  • IIS 6.0 или ранее:
    • Щелкните правой кнопкой мыши веб-сайт по умолчанию (или веб-сайт, на который должен отвечать запрос проксирования на JIRA), выберите «Создать», а затем «Виртуальный каталог».
    • Пройдите мастер создания. Установите псевдоним jakarta.
    • Это должно указывать на каталог, в котором установлен isapi_redirect.dll. В нашем примере это C: \ tomcat_iis_connector.
    • Завершите работу мастера, убедившись, что вы предоставили разрешение «Выполнить» для виртуального каталога, установив флажок «Выполнить».
  • IIS 7.0:
    • Щелкните правой кнопкой мыши веб-сайт по умолчанию (или веб-сайт, на который должен отвечать запрос проксирования на JIRA), и выберите «Добавить виртуальный каталог».
    • Установите псевдоним jakarta.
    • Физический путь должен указывать на каталог, в котором установлен isapi_redirect.dll. В нашем примере это C: \ tomcat_iis_connector.
    • Нажмите «Виртуальный каталог jakarta» и дважды щелкните «Отображения обработчиков».
    • Нажмите «Редактировать права доступа» на панели действий справа.
    • Установите флажок «Выполнить».
  1. Если вы используете IIS 6.0 или 7.0, вам необходимо добавить DLL в качестве расширения веб-службы, как описано ниже.
  • IIS 6.0:
  • Щелкните правой кнопкой мыши расширение веб-службы и выберите Добавить новое расширение веб-службы ...
  • Введите tomcat для имени расширения, а затем добавьте файл isapi_redirect.dll в нужные файлы.
  • Установите флажок «Установить расширение» на «Разрешено», затем нажмите «ОК».
  • IIS 7.0:
  • Перейдите к серверам и выделите свой сервер.
  • Перейдите к 'ISAPI и ограничениям CGI'.
  • Добавьте и разрешите расширение isapi_redirect.dll.
  1. Вам необходимо перезапустить службу IIS. Для этого откройте «Панель управления», «Администрирование», «Службы», найдите «Служба IIS Admin» и нажмите «Перезапустить».
  2. Вы сделали! Чтобы проверить конфигурацию, укажите свой веб-браузер в IIS и добавьте контекстный путь JIRA к URL-адресу. Например, если ваш сайт работает по адресу http://www.example.com, и вы развернули JIRA с помощью контекстного пути jira, укажите ваш браузер на странице http://www.example.com/jira.

Исправление проблем

  • Всякий раз, когда я иду в JIRA в своем браузере, появляется панель входа в систему. Я вводил правильное имя пользователя и пароль для JIRA, но панель всплывает снова. Убедитесь, что у вас установлен анонимный доступ в виртуальном каталоге jira в IIS. Будет установлено, что если вы следовали вышеуказанным инструкциям. Чтобы проверить это:
  1. В разделе «Информационные службы Интернета» щелкните правой кнопкой мыши виртуальный каталог jira и выберите «Свойства».
  2. Перейдите на вкладку «Безопасность каталога».
  3. Нажмите кнопку «Изменить ...» в разделе «Анонимный доступ и проверка подлинности».
  4. Убедитесь, что выбрано поле «Анонимный доступ» и убедитесь, что в разделе «Аутентифицированный доступ» ничего не выбрано. Не выбирайте «Обычная проверка подлинности». Не выбирайте «Интегрированная проверка подлинности Windows».
  • Всякий раз, когда я иду в JIRA в Internet Explorer, появляется панель входа в систему. Я вводил правильное имя пользователя и пароль для JIRA, но панель снова появляется. Однако этого не происходит в другом браузере, таком как Firefox или Safari. Я могу успешно войти в JIRA в этих браузерах. Убедитесь, что у вас установлена аутентификация пользователя Internet Explorer на анонимный вход. Чтобы проверить это:
  1. В Internet Explorer выберите «Инструменты» и выберите «Свойства обозревателя».
  2. Перейдите на вкладку «Безопасность».
  3. Выберите зону безопасности, в которой находится сервер JIRA.
  4. Нажмите кнопку «Пользовательский уровень ...».
  5. Прокрутите страницу вниз до нижней части раздела «Аутентификация пользователя».
  6. Выберите «Анонимный вход в систему» (если он еще не выбран).
  7. Нажмите кнопку «ОК» на этом экране и снова на следующем экране.
  8. Перезапустите Internet Explorer.
  • Когда я пытаюсь перейти к экземпляру JIRA в http: // localhost / jira в своем браузере, он предлагает мне загрузить файл с бессмысленной информацией, а не показывает мне мой экземпляр JIRA. Убедитесь, что вы предоставили разрешение «Execute(Выполнить)», на использование вашего виртуального каталога для JIRA в IIS. См. Шаг 11 раздела «3. Настройте IIS для пересылки запросов в раздел JIRA в этом документе для получения подробных инструкций.

Известные проблемы

  • 64-разрядный IIS: если вы используете 64-разрядную ОС, используйте 64-разрядную версию коннектора Tomcat IIS.
  • Решение, предоставленное заказчиком: если вы должны использовать 32-разрядный коннектор IIS, вы можете сделать это, нажав «Пулы приложений»> «Дополнительные параметры»> «Разрешить 32-разрядные приложения».
  • Решение, предоставленное заказчиком: вам необходимо установить расширение ISAPI на веб-сайте.