Настройка Apache для работы с СУБД Caché на Linux
Вообще говоря, в поставку InterSystems Caché входит встроенный веб-сервер Apache. Встроенный сервер предназначен для разработки и администрирования инстанса Caché и собран с некоторыми ограничениями. Существуют рецепты по устранению этих ограничений, но более общий подход — использовать для продакшена полноценный веб-сервер. В статье рассмотрена настройка Apache для работы с Caché и организация https доступа. Все действия выполнялись на Ubuntu, но настройка на других Linux дистрибутивах ничем принципиально не отличается.Выбираем Apache
Считаем, что Caché у вас уже установлена в каталог /InterSystems/Cache (как установить Caché на Linux читаем здесь).Caché поставляется вместе с модулем для Apache, идём в папку /InterSystems/Cache/csp/bin и находим там один из файлов модулей: CSPa22.so (Apache Version 2.2.x)
CSPa24.so (Apache Version 2.4.x)
CSPa20.so (Apache Version 2.0.x)
CSPa.so (Apache Version 1.3.x)
Теперь нужно установить Apache. Ищем подходящий репозиторий на сайте, например для CSPa24.so нужна любая версия 2.4.x, а репозиторий http://ru.archive.ubuntu.com/ubuntu/ saucy main содержит Apache версии 2.4.6. Добавляем его в лист репозиториев:
nano /etc/apt/sources.list
deb http://ru.archive.ubuntu.com/ubuntu/ saucy main
Обновляем список пакетов:
apt-get update
Установка Apache
Устанавливаем Apache, для этого добавляем необходимые пакеты:
apt-get install apache2 zlib1g-dev
После установки убедитесь, что установленная версия Apache соответствует ожиданиям:
apache2 -v
Также надо убедиться, что в списке модулей Apache есть mod_so, список модулей выводится с помощью:
apache2 -l
Итак, Apache установлен и работает. Для проверки наберите в адресной строке браузера ip сервера — должна появиться страница, выглядящая примерно так:
Соединяем Caché и Apache
Для это нам нужно изменить конфигурацию Apache. Редактируем файлы:/etc/apache2/envvars — содержит переменные окружения. Устанавливаем значения переменных APACHE_RUN_USER и APACHE_RUN_GROUP равными cacheusr
/etc/apache2/apache2.conf — основной файл конфигурации. Добавляем строчки в разделе конфигурации модулей (module configuration)
CSPModulePath /InterSystems/Cache/csp/bin/
LoadModule csp_module_sa /InterSystems/Cache/csp/bin/CSPa24.so
AddHandler csp-handler-sa csp cls cxw zen
/etc/apache2/sites-enabled/000-default.conf — конфигурация сайта.
SSL
Далее добавим возможность подключаться используя ssl. Для этого сгенерируем сертификат сервера, подпишем его сами (не рекомендуется) или у CA. Очень подробный гайд здесь или здесьВ итоге, у нас есть 3 файла: приватный ключ сервера, сертификат сервера и сертификат CA.Добавляем модуль ssl в Apache:
a2enmod ssl
Создаем файл с конфигурацией сайта: etc/apache2/sites-enabled/001-ssl.conf и добавляем в него:
SSLEngine on
SSLCertificateKeyFile /InterSystems/Cache/mgr/SSLcert/server_key.pem
SSLCertificateFile /InterSystems/Cache/mgr/SSLcert/server_crt.crt
SSLCACertificateFile /InterSystems/Cache/mgr/SSLcert/cacert.crt
SSLVerifyDepth 10
SSLCipherSuite TLSv1: SSLv3:! ADH:! LOW:! EXP:@STRENGTH
SSLOptions +StdEnvVars
DirectoryIndex index.csp index.php index.html index.htm
Server Name должно соответствовать параметру commonName в сертификате сервера, также нужно указать корректные пути файлов ключа сервера, сертификата сервера и сертификата CA — SSLCertificateKeyFile, SSLCertificateFile, SSLCACertificateFile соответственно.Перезапускаем Apache:
service apache2 restart
Теперь по адресу https:///csp/sys/UtilHome.csp должен открываться портал управления системой:
Полезные ссылки
Файлы конфигурации ApacheДокументация CachéCaché и ApacheCaché и SSL
