"ДБО BS-Client. Частный Клиент" v.2.5

Инструкция по настройке web-сервера Apache и сервера приложений Tomcat

Версия 2.5.0.0

СОДЕРЖАНИЕ:

Введение_ 3

Общее описание процесса настройки_ 4

Начальные условия, системные требования_ 4

Схема взаимодействия компонентов_ 5

Входные и выходные данные процесса настройки_ 6

Соглашения по заданию путей и по содержимому конфигурационных файлов_ 6

Последовательность настройки_ 8

Настройка модулей RTS и BSI 8

Конфигурирование Tomcat 8

Установка сервлета bsi. jar 8

Конфигурирование файла server. xml 9

Конфигурирование файла web. xml 9

Конфигурирование стартового скрипта Tomcat 10

Конфигурирование Apache_ 10

Установка статической части сайта 10

Установка сертификата SSL 10

Конфигурирование файла httpd. conf 10

Конфигурирование файла workers. properties 13

Настройка BS-Defender 13

Запуск серверов_ 13

Введение

Настоящий документ содержит информацию, актуальную на момент его составления. не гарантирует отсутствия ошибок в данном документе. оставляет за собой право вносить изменения в документ без предварительного уведомления.

Данный документ описывает этап процесса установки и настройки сервиса “Интернет-клиент” системы BS-Client, а именно последовательность настройки web-сервера, в случае, когда в качестве web-сервера выступает связка: web-сервер Apache и сервер приложений Tomcat.

Полный процесс установки системы ДБО BS-Client. «Частный Клиент» описан в документе «Руководство по установки системы. doc).

Общее описание процесса настройки

В данной главе приведено общее описание процесса настройки web-сервера Apache и сервера приложений Tomcat:

НЕ нашли? Не то? Что вы ищете?

·  Начальные условия, системные требования.

·  Схема взаимодействия компонентов.

·  Входные и выходные данные процесса настройки.

·  Соглашения по заданию путей и по содержимому конфигурационных файлов.

Начальные условия, системные требования

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

Применяемое ПО

Назначение

Приложение

Версия

Web-сервер

Apache

1.3 и выше

Сервер приложений

Tomcat 3 или 4

3.3.1a или 4.1.29

SSL-библиотека*

OpenSSL

0.9.8

SSL-модуль для web-сервера*

mod_ssl

штатный, из состава Apache

Модуль связи Apache-Tomcat

mod_jk

1.2.14.1

Виртуальная машина java

J2sdk

1.4.2_08

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

При использовании связки Apache-Tomcat возможно использование средств защиты канала SSL. Компоненты, отмеченные в таблице звездочками, необходимо устанавливать только в том случае, если планируется использовать SSL.

Каждое приложение должно быть установлено в соответствии с поставляемой с приложением документацией. Web-сервер должен быть «собран» с DSO-режимом подключения внешних модулей. Это необходимо для того, чтобы можно было организовать взаимодействие Apache и Tomcat с помощью модуля mod_jk.

В качестве операционной системы могут использоваться как ОС из семейства Unix, так и ОС из семейства Windows. Если сервер использует платформу FreeBSD, то в ядро должна быть включена поддержка Linux_base для обеспечения работоспособности Java.

Данный документ описывает процесс настройки независимо от операционной системы. Отличия касаются только написания путей в конфигурационных файлах (см. ниже).

Для настройки Apache и Tomcat необходимы следующие компоненты системы BS-Client, отвечающие за динамическое и статическое содержание пользовательского сайта сервиса “Интернет-клиент”:

Компоненты BS-Client

Компонент

Назначение

bsi. jar

Сервлет, осуществляющий связь с модулем RTS (при использовании web-сервера IIS данную функцию выполняет библиотека bsi. dll)

www. zip

Архив со статическим файловым содержимым пользовательского сайта

Данные компоненты входят в состав установочного диска.

Если для защиты канала планируется использовать SSL, то перед настройкой необходимо получить SSL-сертификат.

Описываемая конфигурация предъявляет минимальные требования к аппаратной части, однако необходимо наличие достаточного объема оперативной памяти (от 512 Мб) на машине, где установлена среда выполнения Java, и производительной дисковой подсистемы, если требуется активно использовать журнализацию работы компонентов.

Схема взаимодействия компонентов

В описываемой конфигурации основными узлами системы BS-Client, обеспечивающими функционирование сервиса “Интернет-клиент”, являются web-сервер Apache, сервер приложений Tomcat, модуль RTS и СУБД. Указанные узлы могут быть размещены на различных физических серверах, однако для обеспечения высокого быстродействия канал связи между Apache и Tomcat должен быть свободен. Остальные компоненты обеспечивают взаимодействие указанных узлов между собой в процессе обработки запросов пользователей. Параметры работы компонентов задаются конфигурационными файлами. Схема взаимодействия компонентов с указанием соответствующих конфигурационных файлов, приведена ниже:

Запрос от браузера пользователя поступает на web-сервер Apache по протоколу https (при использовании SSL). Запросы, обращающиеся к виртуальным каталогам s, sc, sd и sx, направляются на стандартный коннектор ajp13 модуля mod_jk. Остальные запросы обрабатываются непосредственно внутри сервера Apache (обращение к статическому файловому массиву сайта).

Запросы, направленные на коннектор ajp13, поступают на сервер приложений Tomcat и обрабатываются сервлетом bsi. jar. Сервлет осуществляет взаимодействие с модулем RTS, который, в свою очередь обращается к СУБД. Полученный от модуля RTS ответ обратно по той же цепочке поставляется браузеру пользователя.

Каждый компонент этот цепи, а также связи между компонентами, настраиваются с помощью соответствующих конфигурационных файлов:

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

Файл

Назначение

httpd. conf

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

workers.properties

Конфигурационный файл коннектора ajp13, содержит параметры соединения коннектора с сервером приложений Tomcat

server. xml

Конфигурационный файл Tomcat, в числе прочих параметров содержит параметры сокета ожидания запросов

web. xml

Конфигурационный файл Tomcat, содержит параметры отображения (mapping) запросов на сервлет bsi. jar

bsi. xml

Конфигурационный файл сервлета bsi. jar, содержит параметры соединения сервлета с модулем RTS

rts. cfg

Конфигурационный файл модуля RTS

Настройка файлов bsi. xml и rts. cfg в данной инструкции не рассматривается.

Входные и выходные данные процесса настройки

Основными входными данными для настройки конфигурационных файлов являются:

·  DNS-имя или IP-адрес и номер порта web-сервера Apache;

·  DNS-имя или IP-адрес и номер порта сервера приложений Tomcat;

·  имена и расположение файлов сертификата SSL (если используется способ защиты канала SSL);

·  каталог, куда установлен web-сервер Apache ($APACHE_HOME);

·  каталог, куда установлен сервер приложений Tomcat ($CATALINA_HOME);

·  каталог, куда установлена среда выполнения Java ($JAVA_HOME);

·  имя и расположение конфигурационного файла workers.properties коннектора ajp13 (по умолчанию $APACHE_HOME/conf/workers. properties);

·  имя и расположение стартового скрипта Tomcat (для ОС семейства Unix $CATALINA_HOME/BIN/catalina.sh).

Значения этих параметров необходимо представлять перед осуществлением процесса настройки.

Промежуточными результатами настройки являются:

·  расположение файла сервлета bsi. jar;

·  расположение конфигурационного файла bsi. xml;

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

Конечным результатом настройки являются настроенные и готовые к обработке запросов пользователей web-сервер Apache и сервер приложений Tomcat.

Соглашения по заданию путей и по содержимому конфигурационных файлов

Описываемые ниже действия по настройке в целом справедливы для ОС семейств Unix и Windows. Однако фрагменты конфигурационных файлов в документе приводятся для ОС семейства Unix. Различия в конфигурационных файлах при использовании различных ОС касаются правил написания каталогов:

·  для ОС семейства Unix при указании путей используются прямые слэши (“/”), а для ОС семейства Windows – обратные (“\”).

·  для обращения к переменным окружения в ОС семейства Unix используется символ “$” (например, $APACHE_HOME), в ОС семейства Windows – символы “%” (например, %APACHE_HOME%).

Поэтому для настройки конфигурационных файлов под Windows необходимо в путях заменить символы “/” на “\” и синтаксически корректно оформить обращение к переменным окружения.

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

Переменные окружения

Переменная

Назначение

Обычно используемые значения для ОС семейства Unix

$APACHE_HOME

Каталог, куда установлен web-сервер Apache

/usr/local/apache2/

$CATALINA_HOME

Каталог, куда установлен сервер приложений Tomcat

/usr/local/tomcat/

$JAVA_HOME

Каталог, куда установлена среда выполнения Java

/usr/local/java/

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

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

Последовательность настройки

В отличие от процесса настройки сервиса “Интернет-клиент” при использовании web-сервера IIS, в котором сначала идет настройка web-сервера, а затем настройка модулей RTS и BSI, при использовании связки Apache-Tomcat необходимо придерживаться другой последовательности действий. Настройка модуля BSI должна производиться перед настройкой сервера приложений Tomcat, так как получаемый в процессе настройки файл bsi. xml в дальнейшем упоминается в конфигурационных файлах Tomcat.

Примечание: В случае если сначала была произведена настройка сервера приложений Tomcat, а затем настройка модуля BSI, для того, чтобы изменения вступили в силу, необходимо перезапустить Tomcat (см. параграф Запуск серверов на стр. 13).

Вся последовательность настройки сервиса “Интернет-клиент” в описываемой конфигурации происходит в соответствии с приведенной выше схемой взаимодействия компонентов (в направлении, обратном направлению стрелок) и выглядит следующим образом:

·  Настройка модулей RTS и BSI.

·  Конфигурирование Tomcat.

·  Конфигурирование Apache.

·  Запуск серверов.

Этапы последовательности детально рассмотрены ниже.

Настройка модулей RTS и BSI

Установка и настройка RTS, BSI производится на одном или нескольких серверах под управлением ОС Windows.

Для настройки данных модулей:

F  Настройте RTS. В настройке RTS пропишите Host=[адрес Linux-машины]

F  Настройте bsi. xml. В процессе настройки необходимо запустить bsiset. exe выбрать библиотеку bsi. bll и настроить профиль с именем Default.

F  Нажать Edit:

F  Выбрать Default-конфигурацию и нажать Configuration

F  Выставить на закладке Autentification= SID(SSL), на закладке Added Params добавить(если нет) параметр ccAuthType=1

F  Полученный после настройки файл bsi. xml поместите в каталог $CATALINA_HOME/conf. Расположение данного файла далее необходимо будет прописать в стартовом скрипте Tomcat (см. ниже).

Конфигурирование Tomcat

Конфигурирование сервера приложений Tomcat состоит из следующих этапов:

·  Установка сервлета bsi. jar.

·  Конфигурирование файла server. xml.

·  Конфигурирование файла web. xml.

·  Конфигурирование стартового скрипта Tomcat.

Установка сервлета bsi. jar

Для установки сервлета bsi. jar:

F  Распакуйте архив bsi. jar. zip с инсталляционного диска системы.

F  Файл bsi.jar из распакованного архива поместите в каталог $CATALINA_HOME/webapps/ROOT/WEB-INF/lib. Это гарантирует автоматический запуск сервлета при старте Tomcat.

F  Назначьте файлу bsi. jar права на чтение, соответствующие тому пользователю, под которым запущен или будет запущен сервер приложений Tomcat.

Конфигурирование файла server. xml

Конфигурационный файл Tomcat server. xml в числе прочих параметров содержит параметры сокета ожидания запросов, а именно номер прослушиваемого порта (атрибут port тега Connector).

Внесите приведенные ниже изменения в файл с учетом номера порта:

<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->

<Connector port="8009"

enableLookups="false" redirectPort="8443" debug="0"

protocol="AJP/1.3" />

Объявления остальных сервисов, кроме сервиса на порту 8005, при желании можно закомментировать.

Конфигурирование файла web. xml

Конфигурационный файл Tomcat web. xml содержит параметры отображения (mapping) запросов на сервлет bsi. jar. Файл располагается в каталоге $CATALINA_HOME/webapps/ROOT/WEB-INF.

Внесите следующие изменения в текст файла:

<web-app>

<servlet>

<servlet-name>bsi. dll</servlet-name>

<servlet-class>com. bss. internet. bsi. BSIServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>bsi. dll</servlet-name>

<url-pattern>/v1/cgi/bsi. dll</url-pattern>

</servlet-mapping>

</web-app>

Конфигурирование стартового скрипта Tomcat

Конфигурационный файл bsi. xml должен быть сообщен сервлету bsi. jar через параметр окружения Tomcat. Допустимо выполнить объявление данного параметра непосредственно в стартовом скрипте Tomcat (для ОС семейства Unix $CATALINA_HOME/BIN/catalina.sh):

CATALINA_OPTS="-Dbscript. confFile=$CATALINA_HOME/conf/bsi. xml"

Конфигурирование Apache

Конфигурирование web-сервера Apache состоит из следующих этапов:

·  Установка статической части сайта.

·  Установка сертификата SSL.

·  Конфигурирование файла httpd. conf.

·  Конфигурирование файла workers. properties.

Установка статической части сайта

Для установки статической файловой части пользовательского сайта:

F  Создайте произвольный каталог для статической части, например, $APACHE_HOME/htdocs/.

F  Распакуйте архив www. zip с инсталляционного диска системы[1].

F  Скопируйте содержимое каталога bsi_sites/ из распакованного архива в каталог для статической части.

Расположение каталога статической части сайта далее необходимо будет прописать в конфигурационном файле httpd. conf.

Установка сертификата SSL

Если требуется использовать тип защиты канала SSL, разместите файлы сертификата SSL на жестком диске сервера, на котором установлен web-сервер Apache. Расположение файлов сертификата далее необходимо будет прописать в стартовом скрипте Apache (см. ниже).

Конфигурирование файла httpd. conf

Конфигурационный файл Apache httpd. conf в числе прочих параметров работы web-сервера содержит параметры пользовательского сайта и параметры соединения с модулем mod_jk.

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

#Задание общих параметров web-сервера

#В директиве Listen необходимо указать порт, прослушиваемый Apache

#При использовании протокола https (SSL) по умолчанию 443

#При использовании протокола http (BS-Defender) по умолчанию 80

SSLRandomSeed startup builtin

SSLRandomSeed connect builtin

Listen 443

AddType application/x-x509-ca-cert. crt

AddType application/x-pkcs7-crl. crl

SSLPassPhraseDialog builtin

SSLSessionCache dbm:$APACHE_HOME/logs/ssl_scache

SSLSessionCacheTimeout 300

SSLMutex file:$APACHE_HOME/logs/ssl_mutex

#Глобальное определение mod_jk и инструкции подключения

#и перехвата запросов

#В директиве JkWorkersFile необходимо указать имя и расположение

#конфигурационного файла workers. properties коннектора ajp13

LoadModule jk_module modules/mod_jk. so

JkWorkersFile $APACHE_HOME/conf/workers. properties

JkLogFile $APACHE_HOME/logs/mod_jk. log

JkLogLevel info

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

JkOptions +ForwardKeySize +ForwardURICompat - ForwardDirectories

JkRequestLogFormat "%w %V %T"

#Задание параметров пользовательского сайта

#сервиса “Интернет-клиент”

#В качестве значения атрибута _default_ необходимо указать номер

#прослушиваемого порта

#В директиве DocumentRoot необходимо указать каталог статической

#части сайта

<VirtualHost _default_:443>

AddDefaultCharset windows-1251

Alias /cab/ $APACHE_HOME/htdocs/cab/

DocumentRoot "$APACHE_HOME/htdocs/"

DirectoryIndex index. htm

ErrorLog $APACHE_HOME/logs/error_log_rt_ic

TransferLog $APACHE_HOME/logs/access_rt_ic_log

SetEnvIf User-Agent ".*MSIE.*" \

nokeepalive ssl-unclean-shutdown \

downgrade-1.0 force-response-1.0

CustomLog $APACHE_HOME/logs/ssl_request_log \

"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

#Данный фрагмент необходимо включать только при использовании SSL

#В директивах SSLCertificateFile и SSLCertificateKeyFile

#необходимо указать расположение файлов сертификата SSL

SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile $APACHE_HOME/conf/ssl. crt/server. crt

SSLCertificateKeyFile $APACHE_HOME/conf/ssl. key/server. key

#Настройка виртуальных директорий сайта

#Соответствует настройке директорий в IIS

<Location /v1>

ForceType None

ExpiresActive On

ExpiresDefault "access plus 60 days"

</Location>

<Files index. htm>

ExpiresActive Off

Header set Expires -1

Header set Cache-control no-store, proxy-revalidate, max-age=1

</Files>

<Location /v1/cgi>

ExpiresActive Off

Header set Expires -1

Header set Cache-control no-store, proxy-revalidate, max-age=1

</Location>

#Непосредственная привязка коннектора ajp13 к фрагментам URL

JkMount /v1/cgi/* ajp13

#Завершения блока <VirtualHost> с параметрами сайта

</VirtualHost>

Конфигурирование файла workers. properties

Конфигурационный файл коннектора ajp13 workers.properties содержит параметры соединения коннектора с сервером приложений Tomcat.

В файле необходимо задать значения следующих параметров:

·  каталог, куда установлен сервер приложений Tomcat (параметр workers.tomcat_home);

·  каталог, куда установлена среда выполнения Java (параметр workers. java_home);

·  DNS-имя или IP-адрес (параметр worker. ajp13.host) и номер порта (параметр worker. ajp13.port) сервера приложений Tomcat.

Примечание: Использование IP-адреса предпочтительнее, так как в этом случае работоспособность описываемой конфигурации не зависит от работоспособности DNS-сервера.

Внесите приведенные ниже изменения в файл с учетом значений перечисленных параметров:

workers. tomcat_home=$CATALINA_HOME

workers. java_home=$JAVA_HOME

ps=/

worker. list=ajp13

worker. ajp13.port=8009

worker. ajp13.host=localhost

worker. ajp13.type=ajp13

worker. ajp13.lbfactor=1

Запуск серверов

После того, как конфигурирование Apache и Tomcat выполнено, необходимо запустить сервера или перезапустить их, если они уже запущены.

При использовании ОС семейства Unix перезапуск Tomcat осуществляется с помощью стартового скрипта catalina. sh:

root# cd $CATALINA_HOME/bin

root# sh./catalina. sh stop

root# killall -9 java

root# sh./catalina. sh start

Примечание: Команда killall -9 java гарантирует уничтожение процесса java, что необходимо при перезапуске Tomcat.

После выполнения всех указанных действий web-сервер Apache и сервер приложений Tomcat будут настроены и готовы к обработке запросов пользователей сервиса “Интернет-клиент”.

[1] Необходимо использовать архиватор, поддерживающий длинные имена файлов.