De link :
Os valores das variáveis de ambiente shell podem ser usados nas linhas do arquivo de configuração usando a sintaxe $ {ENVVAR}. Se "ENVVAR" for o nome de uma variável de ambiente válida, o valor dessa variável será substituído nesse ponto na linha do arquivo de configuração, e o processamento continuará como se esse texto fosse encontrado diretamente no arquivo de configuração. (Se a variável ENVVAR não for encontrada, os caracteres "$ {ENVVAR}" serão deixados inalterados para uso pelos estágios posteriores no processamento do arquivo de configuração.)
Portanto, a variável é de fato recuperada do ambiente conforme o esperado. Agora, onde isso acontece?
Em /etc/init.d/apache2
, APACHE_ENVVARS
é definido como o caminho do arquivo envvars
, que é baseado no caminho do initscript. Geralmente, resulta em APACHE_ENVVARS=/etc/apache2/envvars
sendo definido. Agora, como esse valor é igual aos valores padrão definidos em apache2ctl
, ele não é exportado.
De /usr/sbin/apache2ctl
:
# the path to the environment variable file
test -z "$APACHE_ENVVARS" && APACHE_ENVVARS="$APACHE_CONFDIR/envvars"
# pick up any necessary environment variables
if test -f $APACHE_ENVVARS; then
. $APACHE_ENVVARS
fi
Explicação: se APACHE_ENVVARS
estiver vazio, use o caminho padrão que é /etc/apache2/envvars
. Se este arquivo existe, "source" ele (executa os comandos daquele arquivo no ambiente atual).
Certifique-se de que o arquivo envvars
não contenha nenhum erro de sintaxe. Para realizar essa verificação, use:
sh -n /etc/apache2/envvars && echo Syntax OK || echo FAIL
Erros são impressos, se houver.