web-dev-qa-db-ja.com

Apacheロード前のサーバー変数の設定

CentOSでApacheを実行しています。基本的に、私は/ etc/environmentにいくつかの変数があり、それらはPassEnvを使用してApache構成に渡されます。問題は、Apacheが/ etc/environmentの前にあるため、変数が見つからないことです。

Apache(httpd)の前に実行されるグローバル環境変数を追加できる同様の/ etc/environmentファイルはありますか、それともランレベルの編集を開始する必要がありますか?

敬具、

スティーブ

7
Steve Griff

「/ etc/sysconfig/httpd」を使用して、Apache環境を設定します。

11
alvosu

これらがシステム上のすべてのユーザーに適用される変数である場合、それらは/ etc/enviornmentに追加する必要がありますが、IIRCこのファイルはinitスクリプトによって明示的に解析されません。

したがって、/ 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

ただし、これらの変数のみをWebサーバーで利用できるようにする場合は、/ etc/sysconfig/httpdで宣言する必要があります。

# Configuration file for the httpd service.

export MYSQL_USER = mydbuser

(明示的なエクスポートなしで機能する場合があります)。

5
symcbean