У нас есть CentOS с запущенным Apache. По сути, у меня есть несколько переменных в / etc / environment, и они передаются в наши конфигурации Apache с помощью PassEnv. Проблема в том, что поскольку Apache находится до / etc / environment, переменные не найдены.
Есть ли аналогичный файл / etc / environment, в который я могу добавить свои глобальные переменные среды, который выполняется перед apache (httpd), или мне нужно начинать редактировать уровни запуска?
С уважением,
Стив
Используйте "/ etc / sysconfig / httpd" для установки среды Apache.
Если это переменные, которые применяются к каждому пользователю в системе, то они должны быть добавлены в / etc / enviornment, но IIRC этот файл явно не анализируется сценариями инициализации.
Поэтому вам нужно добавить строку в /etc/rc.d/init.d/functions, например
# -*-Shell-script-*-
#
# functions This file contains functions to be used by most or all
# shell scripts in the /etc/init.d directory.
#
# amended to set env vars
TEXTDOMAIN=initscripts
. /etc/environment
Однако, если вы хотите, чтобы эти переменные были доступны только веб-серверу, их следует объявить в / etc / sysconfig / httpd, например.
# Configuration file for the httpd service.
export MYSQL_USER = mydbuser
(может работать без явного экспорта).