В данной статье приведен пример установки и настройки HTTP-сервера Apache на OC Astra Linux. Если в ОС уже настроен виртуальный дисплей xvfb, то подготовка системы не требуется и можно перейти сразу к установке Apache2.
Выполните следующие действия:
sudo nano /etc/X0.hosts
В открывшемся файле добавьте строку:
localhost
Примечание. Если у вас физический дисплей настроен на другой номер, то после X необходимо указать соответствующую цифру.
sudo nano /etc/X11/xinit/xserverrc
Замените строку:
exec /usr/bin/X -nolisten tcp "$@"
на:
exec /usr/bin/X "$@"
sudo nano /etc/X11/fly-dm/fly-dmrc
Замените строку:
ServerArgsLocal=-nolisten tcp
на:
ServerArgsLocal=
sudo service fly-dm restart
После перезагрузки X-сервера запустите его заново командой startx и авторизуйтесь. Для корректной работы сервисов должен быть произведён вход пользователем в графическое окружение системы из физической консоли.
В стандартной поставке Astra Linux, Apache2 доступен только в конфигурации prefork. В связи с этим, для Astra Linux используется Apache2 собственной сборки, собранный с модулем coworker. Apache HTTP Server поставляется с архивом платформы и распаковывается в каталог /opt/prognoz/R81/bin/apache/2.2.
Примечание. При смене каталога расположения Apache HTTP Server надо изменить в файле conf/httpd.conf значения параметров ServerRoot, DocumentRoot, Directory и ScriptAlias, где указан путь до /opt/prognoz/R81/bin/apache/2.2, на соответствующий новому расположению веб-сервера.
sudo cp /opt/prognoz/R81/bin/apache/2.2/apache2prognoz /etc/init.d/
sudo chmod +x /etc/init.d/apache2prognoz
init-файл запуска Apache2 можно создать вручную, вставив листинг скрипта ниже в файл /etc/init.d/apache2prognoz. Откройте файл для редактирования:
sudo juffed /etc/init.d/apache2prognoz
Вставьте текст скрипта и сохраните файл apache2prognoz:
Скрипт
Выполните команду для разрешения запуска скрипта:
sudo chmod +x /etc/init.d/apache2prognoz
sudo touch /opt/prognoz/R81/bin/apache/2.2/conf/extra/prognoz.conf
Откройте конфигурационный файл prognoz.conf:
sudo juffed /opt/prognoz/R81/bin/apache/2.2/conf/extra/prognoz.conf
Добавьте строки:
# Prognoz Platform
LoadModule axis2_module "/opt/prognoz/<версия Prognoz Platform>/bin/libmod_axis2_2_2.so"
Axis2RepoPath "/opt/prognoz/<версия Prognoz Platform>/bin"
Axis2LogFile "/opt/prognoz/<версия Prognoz Platform>/bin/logs/axis2.log"
Axis2LogLevel info
Axis2ServiceURLPrefix services
Axis2MaxLogFileSize 100
<Location /axis2>
SetHandler axis2_module
</Location>
sudo juffed /opt/prognoz/R81/bin/apache/2.2/conf/extra/httpd-mpm.conf
В конец файла добавьте строки:
<IfModule mpm_coworker_module>
ServerLimit 1
StartServers 1
MaxClients 64
MinSpareThreads 32
MaxSpareThreads 64
ThreadsPerChild 64
MaxRequestsPerChild 0
</IfModule>
sudo juffed /opt/prognoz/R81/bin/apache/2.2/conf/httpd.conf
Исправьте строки:
Listen 80
User daemon
Group daemon
на:
Listen 81
User www-data
Group www-data
В конец файла добавьте строки, указав собственное значение параметра ServerName, совпадающее с сетевым именем компьютера:
ServerName astralinux
Include conf/extra/httpd-mpm.conf
Include conf/extra/prognoz.conf
sudo ln -s /home/prognoz/.Xauthority /opt/prognoz/<версия Prognoz Platform>/bin/.Xauthority
sudo juffed /opt/prognoz/R81/bin/apache/2.2/bin/envvars
В конец файла добавить строки:
export TNS_ADMIN=/opt/prognoz/<версия Prognoz Platform>/bin
export DISPLAY=:987
export XAUTHORITY=/opt/prognoz/<версия Prognoz Platform>/bin/.Xauthority
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/prognoz/<версия Prognoz Platform>/bin
Примечание. В переменной окружения DISPLAY указывается номер дисплейного сервера, на котором будет отрисовываться графика. Рекомендуется использовать виртуальный дисплей xvfb под номером 987, но если используется физический X-сервер, то укажите его номер DISPLAY=:0.0.
sudo chown -R www-data:www-data /opt/prognoz
sudo /etc/init.d/apache2prognoz start
sudo update-rc.d apache2prognoz defaults