У меня есть сервер Ubuntu 12.04 LTS с установкой vanilla apache. В моей конфигурации Apache я использую PassEnv для передачи переменной среды:
PassEnv MY_VARIABLE
MY_VARIABLE определяется в / etc / environment:
MY_VARIABLE=true
Если я останавливаюсь и запускаю apache, переменная подбирается и все в порядке. Однако после перезагрузки apache не забирает MY_VARIABLE.
Запускается ли Apache до того, как будут установлены переменные в / etc / environment? Есть ли другой способ выполнить то, что я пытаюсь сделать?
Это странно ! Вы можете попробовать чит, указав источник / etc / environment в / etc / init / d / httpd (не рекомендуется во всех случаях)
1) Прямым решением будет специальный сценарий для запуска вашего apache с вашей собственной конфигурацией, вы можете выполнять все служебные задачи в сценарии, используйте -f, чтобы указать свой собственный файл httpd.conf.
2) Альтернатива: используйте setEnv для установки необходимой переменной среды из самого httpd.conf.
3) В качестве альтернативы попробуйте экспортировать необходимые переменные из .bashrc.