Назад | Перейти на главную страницу

Установка переменных сервера перед загрузкой Apache

У нас есть 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

(может работать без явного экспорта).