www-dataの環境変数を設定するには?

www-dataの環境変数を設定するには?

私は尋ねた質問dba.seでクエリに必要なMySQLデータベースにアクセスするために必要なパスワードを含むPerl CGIスクリプトを提供する方法を学びます。答えは1つだけ受け取りましたが、その答えはパスワードを環境変数として保存することを提案しました。

さて、あなたの指示に従ってapache2実行してください:www-data/etc/passwd$HOME/var/www

$ grep www /etc/passwd
www-data:x:33:33:www-data:/var/www:/bin/sh

/var/www/.profileこの行にしようとしています。

export db_pass="password"

その後、Perlスクリプトの印刷に$ENV{"db_pass"}失敗し、変数が空でした。確認してみると$ENV{PATH}予想通り印刷されました。

では、このユーザーに対して任意の環境変数をどのように設定しますか?

サーバーは、VM上で実行されているUbuntuサーバーです(私が選択していないWindowsで実行されている、尋ねないでください)。

$ apache2 -version
Server version: Apache/2.2.14 (Ubuntu)
Server built:   Feb 14 2012 16:42:25

答え1

あなたはApacheを使用します環境変数の操作

たとえば、

SetEnv db_pass swordfish

これはhttpd.confまたは.htaccessで行うことができます。環境変数を設定することもできますルールの書き換えこのように:

RewriteRule someurl - [E=dbpass:swordfish]

関連情報