Apache HTTP-сервер в RedHat-подобных дистрибутивах называется сервисом httpd и по умолчанию поставляется версия httpd 2.2. Рекомендуется перед установкой настроить виртуальный дисплей xvfb.
Чтобы установить и настроить службы httpd для работы с BI-сервером, выполните следующие действия:
Для установки httpd в терминале выполните следующую команду:
sudo yum install httpd
Если установка не удалась с сообщением «conflicts with file from package httpd-2.2.15-9.el6.x86_64», удалите пакет httpd-2.2.15-9.el6.x86_64, выполнив следующую команду:
sudo yum remove httpd
Примечание. Номер версии httpd, который будет фигурировать в сообщении, зависит от уже установленной версии httpd и может отличаться от указанного в примере.
После этого снова установите httpd:
sudo yum install httpd
Определите параметры запуска httpd, для этого откройте файл httpd, выполнив в терминале следующую команду:
sudo nano /etc/sysconfig/httpd
В конце файла добавьте следующие строки:
export LD_LIBRARY_PATH=:/opt/foresight/9.0/bin:/opt/Qt-4.8.7/lib:$LD_LIBRARY_PATH
export WSFCPP_HOME=/opt/foresight/9.0/bin
export TNS_ADMIN=/opt/foresight/9.0/bin
export HTTPD_LANG=en_US.UTF-8
export DISPLAY=:987
export LD_PRELOAD=/opt/Qt-4.8.7/lib/libQtGui.so.4
#Uncomment line below to export extended log
#export PP_LOG=1
Примечание. В указанном примере версия Qt - 4.8.7. Если в ОС установлена другая версия, то скорректируйте указанные строки, указав соответствующую версию Qt. Например, если Qt устанавливался из пакета QtSdk-offline-linux-x86_64-v1.2.1.run, то замените путь «/opt/Qt-4.8.7/lib» на «/opt/QtSDK/Desktop/Qt/4.8.1/gcc/lib». В переменной окружения DISPLAY указывается номер дисплейного сервера, на котором будет отрисовываться графика. Рекомендуется использовать виртуальный дисплей xvfb под номером 987, но если используется физический X-сервер, то укажите его номер DISPLAY=:0.0.
Включите сервис httpd, выполнив команду главного меню Система > Администратор > Службы. В открывшемся окне в списке служб выберите httpd и нажмите кнопку «Включить»:
Измените настройки в конфигурационном файле. Откройте файл httpd.conf, выполнив в терминале следующую команду:
sudo nano /etc/httpd/conf/httpd.conf
Удалите из файла теги <IfModule prefork.c> и <IfModule worker.c> с их содержимым. В конец файла добавьте:
<IfModule prefork.c>
StartServers 1
MinSpareServers 1
MaxSpareServers 1
ServerLimit 1
MaxClients 1
MaxRequestsPerChild 10000
</IfModule>
<IfModule worker.c>
ServerLimit 1
StartServers 1
MaxClients 64
MinSpareThreads 32
MaxSpareThreads 64
ThreadsPerChild 64
MaxRequestsPerChild 0
</IfModule>
CoreDumpDirectory /tmp
# Foresight Analytics Platform
LoadModule axis2_module "/opt/foresight/9.0/bin/libmod_axis2_[версия].so"
Axis2RepoPath "/opt/foresight/9.0/bin"
Axis2LogFile "/opt/foresight/9.0/bin/logs/axis2.log"
Axis2LogLevel information
Axis2ServiceURLPrefix services
Axis2MaxLogFileSize 100
<Location /axis2>
SetHandler axis2_module
</Location>
Примечание. В качестве значения [версия] необходимо указать версию установленного Apache. Поддерживаются версии 2.2 и 2.4, в наименовании файла указываются значения 2_2 или 2_4 соответственно. По умолчанию если версия не указана, то путь libmod_axis2.so будет ссылаться на libmod_axis2_2_2.so.
Сделаем владельцем каталога /opt/foresight/9.0 пользователя Apache, выполнив в терминале команду:
sudo chown -R apache:apache /opt/foresight/9.0
Отключите систему контроля доступа SELinux. Для этого откройте файл selinux, выполнив в терминале команду:
sudo nano /etc/sysconfig/selinux
В открывшемся файле установите для параметра SELINUX значение disabled. Перезагрузите компьютер.
Включите модуль MPR worker в файле httpd. Для этого откройте файл, выполнив в терминале команду:
sudo nano /etc/sysconfig/httpd
Раскомментируйте строку HTTPD=/usr/sbin/httpd.worker
Примечание. Если предварительно был настроен виртуальный дисплей xvfb, то продолжите настройку с пункта 10.
Разрешите доступ к DISPLAY 0.0. Для этого откройте файл X0.hosts, выполнив в терминале команду:
sudo nano /etc/X0.hosts
В открывшемся файле добавьте строку:
localhost
Примечание. Если у вас физический дисплей настроен на другой номер, то после X необходимо указать соответствующую цифру.
Разрешите соединение по сети к X-серверу. Для этого откройте файл custom.conf, выполнив в терминале команду:
sudo nano /etc/gdm/custom.conf
В открывшемся файле добавьте строки:
[security]
DisallowTCP=false
Если используется графическое окружение KDE, то откройте файл /etc/kde/kdm/kdmrc, выполнив в терминале команду:
sudo nano /etc/kde/kdm/kdmrc
В открывшемся файле найдите параметр ServerArgsLocal= в разделе [X-:*-Core] и удалите из его значения аргументы -nolisten tcp.
Выполните команду:
sudo ln -s /home/foresight/.Xauthority /opt/foresight/9.0/bin/.Xauthority
Запустите службы httpd, выполнив в терминале команду:
sudo chkconfig httpd on
sudo service httpd restart
Если после выполнения команды будет выведено сообщение об ошибке с текстом «Syntax error on line 1 of /etc/httpd/conf.d/mod_dnssd.conf», в терминале выполните:
sudo rm -f /etc/httpd/conf.d/mod_dnssd.conf
sudo service httpd restart
Проверьте работу BI-сервера, запущенного под httpd, для этого в браузере перейдите по ссылке http://localhost:80/axis2/services/. Должна открыться страница со списком операций BI-сервера (см. раздел «Проверка работы BI-сервера»).