www-data에 대한 환경 변수를 설정하는 방법은 무엇입니까?

www-data에 대한 환경 변수를 설정하는 방법은 무엇입니까?

나는 물었다질문dba.se에서 쿼리하는 데 필요한 MySQL 데이터베이스에 액세스하는 데 필요한 비밀번호와 함께 Perl CGI 스크립트를 제공하는 방법을 알아보세요. 답변은 하나만 받았는데 그 답변에서는 비밀번호를 환경 변수로 저장하라고 제안했습니다.

좋아요, 사용자의 지시 에 따라 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

당신은 아파치를 사용합니다환경변수 조작.

예를 들어:

SetEnv db_pass swordfish

이는 httpd.conf 또는 .htaccess에서 수행할 수 있습니다. 환경 변수를 설정할 수도 있습니다규칙 재작성이와 같이:

RewriteRule someurl - [E=dbpass:swordfish]

관련 정보