Criando novas variáveis em / etc / apache2 / envvars?

1

No Ubuntu Oneiric 11.10, eu pensei que seria inteligente e adicione

export RAILS_ENV=production

para /etc/apache2/envvars , para que eu possa DRY up minhas configurações do Apache. Mas não parece ser acessível a partir do httpd.conf. Indo mais longe, comecei a usar ErrorLog como teste e agora estou confuso. Dadas as seguintes linhas em envvars :

export APACHE_RUN_USER=www-data
export APACHE_RUN_NEWVAR=www-newvar

quando faço isso:

ErrorLog ${APACHE_LOG_DIR}/${APACHE_RUN_USER}-error.log

Eu recebo um arquivo chamado /var/log/apache2/www-data-error.log como esperado. Mas quando faço isso:

ErrorLog ${APACHE_LOG_DIR}/${APACHE_RUN_NEWVAR}-error.log

Em vez disso, obtenho /var/log/apache2/${APACHE_RUN_NEWVAR}-error.log .

Eu usei a fonte do pacote e APACHE_LOG_DIR não está codificado em nenhum lugar; não deveria ser especial. Então, o que me impede de usar variáveis recém-criadas?

    
por Jay Levitt 13.12.2011 / 04:34

1 resposta

3

Isso não está diretamente respondendo à pergunta, mas de acordo com a documentação do passageiro , produção é o ambiente padrão, então você não deveria precisar dessa linha. (Eu estou supondo que você está usando passageiro)

Editar: Eu tentei colocar PassEnv APACHE_RUN_NEWVAR no meu arquivo de configuração vhost e funcionou. Não estava funcionando antes.

Veja o doc :

Specifies one or more native system environment variables to make available as internal environment variables

Edit2: Parece que PassEnv não tem nada a ver com isso. Quando eu recarregar a configuração com apache2ctl restart as novas variáveis não estão definidas, mas se eu fizer apache2ctl stop then apache2ctl start ele funciona bem ...

    
por 13.12.2011 / 04:47