Definindo as variáveis do servidor antes das cargas do Apache

6

Temos o CentOS com o Apache rodando nele. Basicamente, eu tenho algumas variáveis em / etc / environment e elas são passadas para as nossas configurações do Apache usando o PassEnv. A questão é que, como o Apache é antes do / etc / environment, as variáveis não são encontradas.

Existe um tipo similar de arquivo / etc / environment que eu possa adicionar minhas variáveis ambientais globais em que é executado antes do apache (httpd) ou eu tenho que iniciar a edição de runlevels?

Atenciosamente,

Steve

    
por Steve Griff 09.02.2011 / 11:30

2 respostas

9

Use "/ etc / sysconfig / httpd" para definir o ambiente do Apache.

    
por 09.02.2011 / 11:35
5

Se estas são variáveis que se aplicam a todo e qualquer usuário no sistema, elas devem ser adicionadas em / etc / enviornment - mas o IIRC não é explicitamente analisado pelos scripts init.

Então você precisa adicionar uma linha em /etc/rc.d/init.d/functions, por exemplo.

# -*-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

No entanto, se você quiser que essas vars estejam disponíveis para o servidor da web, elas devem ser declaradas em / etc / sysconfig / httpd, por exemplo.

# Configuration file for the httpd service.

export MYSQL_USER = mydbuser

(pode funcionar sem a exportação explícita).

    
por 09.02.2011 / 12:37