Configurando variáveis de ambiente no Ubuntu

0

Estou tentando configurar minha variável de ambiente na minha máquina Ubuntu. Agora eu fiz algumas pesquisas e tentei o método sobre esta questão Definir a variável de ambiente no Ubuntu

Questão semelhante, mas a coisa é que eu já escrevi o "etc / enviroment" o "etc / profile" e o arquivo "etc / bash.bashrc" para incluir minhas variáveis:

JAVA_HOME=/home/glv/information/jdk1.6.0_25/
export JAVA_HOME
BASEDIR=/home/glv/apache-tomcat-6.0.29/  
export BASEDIR

No entanto, o problema é quando eu executo o startup.sh no apache ele ainda diz que a variável de ambiente BASEDIR não está configurada corretamente e para todos eu sei que o JAVA_HOME pode não estar correto também. Eu estou usando o mais recente Ubuntu não tenho certeza se isso é um problema ou não, ou se eu tenho que ir outra maneira de contornar isso. Qualquer ajuda seria apreciada.

    
por Gilbert V 16.10.2012 / 15:09

1 resposta

4

O Apache é controlado no Ubuntu usando o script de inicialização do Apache, em /etc/init.d/apache2 . Este script é executado quando você inicia e para o Apache com comandos como: -

> sudo service apache2 [start|stop|restart|graceful|etc...]

Se você observar este script de inicialização, verá que o ambiente é definido e modificado aqui, lendo primeiro as variáveis de ambiente do arquivo /etc/apache2/envvars . Esse ambiente separado é importante porque o processo do servidor do Apache é um executável seteuid, o que significa que pode ser executado com um "ID do usuário efetivo". Na minha máquina Ubuntu, os processos do Apache são executados com um nome de usuário 'www-data', mesmo que o usuário root inicie o processo. Como essa é uma "conta do sistema", ela não possui um shell padrão ou um ambiente bash e não usa nenhum desses arquivos que definem seu ambiente de usuário.

Então, o que eu acho que você quer fazer é colocar essas variáveis de ambiente em /etc/apache2/envvars .

Atualização:

O Apache no Ubuntu possui vários arquivos .conf (em / etc / apache2 / e subdirs) que também podem ser usados para modificar o ambiente do Apache em execução. Os arquivos de configuração são analisados sequencialmente e estão incluídos no arquivo de configuração principal: /etc/apache2/apache2.conf .

Nestes arquivos conf, você pode usar SetEnv para modificar o ambiente. Então você saberá com certeza que o ambiente é o que você quer. Por exemplo, você pode adicionar isso a /etc/apache2/httpd.conf : -

 SetEnv JAVA_HOME /home/glv/information/jdk1.6.0_25/
    
por 16.10.2012 / 18:17