¿Cómo configuro las variables de entorno?

90

Estoy tratando de configurar Apache Tomcat en mi PC, y quiere que configure una variable de entorno para CATALINA_HOME. ¿Alguien sabe cómo hacer esto?

jumpnett
fuente

Respuestas:

100

En bash puedes establecer variables como esta:

export CATALINA_HOME=/opt/catalina

la mayoría de los otros proyectiles siguen esta convención, pero no todos. Puede configurarlo permanentemente ~/.profilepara bash (y como antes, otros shells tienen otras ubicaciones)

Ressu
fuente
66
para variables de toda la sesión, help.ubuntu.com recomienda ~/.profilecomo probablemente el mejor archivo para colocar asignaciones de variables de entorno, ya que el DisplayManager lo ejecuta automáticamente durante la sesión de escritorio del proceso de inicio, así como el shell de inicio de sesión cuando se inicia sesión desde la consola textual.
McDowell
Se actualizó la respuesta. La razón por la que usé .bashrc en su lugar fue que en algún momento .profile no se obtuvo automáticamente. Pero si funciona ahora, es mejor usarlo.
Ressu
66
Configurarlo ~/.profileno funciona para mí. Funciona en ~/.bashrcsin embargo.
jumpnett
Ponerlo en ~/.bash_profileobras también.
jumpnett
También hay un archivo de todo el sistema en / etc. Esto funciona pero es por usuario.
Wheredidthatnamecomerom del
26

Las variables de entorno ya deberían funcionar

Si está utilizando el paquete tomcat6 de los repositorios de Ubuntu, CATALINA_HOME y otras variables de entorno ya están configuradas en el /etc/init.d/tomcat6script de inicio.

Si está instalando Tomcat fuera del administrador de paquetes (con suerte en / opt o en otro lugar fuera del sistema de archivos administrado), la ejecución de TOMCAT/bin/startup.shdebería usar la ubicación relativa para definir CATALINA_HOME.

Establecer la variable de entorno

Si por alguna razón aún necesita establecer una variable de entorno, puede abrir una ventana de terminal y escribir el comando:

export CATALINA_HOME=/path/to/the/root/folder/of/tomcat

Esta variable de entorno ahora funcionará dentro de esa ventana de terminal, pero si abre otra ventana o cierra sesión / inicia sesión, perderá esa configuración.

Hacer que la variable de entorno sea permanente

Para hacer que la configuración de la variable de entorno sea permanente, hay varios lugares donde puede definir la configuración.

Para estar realmente seguro de que la configuración se está recogiendo, agregue la configuración anterior a uno de los scripts de inicio para tomcat:

yourtomcatfolder/bin/startup.sh

yourtomcatfolder/bin/catalina.sh

Nota: startup.sh llama a catalina.sh. Debe agregar la configuración al comienzo de uno de estos archivos (después de cualquier comentario inicial)

La forma estándar para las variables de entorno global sería agregar una entrada /etc/environment(no utiliza el comando exportar en este archivo, ya que no es un script bash normal)

CATALINA_HOME=/path/to/the/root/folder/of/tomcat

No recomendado

Puede establecer las variables de entorno en los archivos de configuración bash (shell de línea de comandos), pero no se recomiendan, ya que no siempre se seleccionan (por ejemplo, si está ejecutando un servidor en el que no inicia sesión para ejecutar tomcat): ~ / .bashrc | ~ / .profile | /etc.bash.bashrc | / etc / profile

jr0cket
fuente
55
No deberían ser los scripts startupo catalina, sino el script setenv.sho setenv.bat, creándolo si es necesario: "Aparte de CATALINA_HOME y CATALINA_BASE, todas las variables de entorno se pueden especificar en el script" setenv ". El script se coloca en CATALINA_BASE / bin o en CATALINA_HOME / bin y se llama setenv.bat (en Windows) o setenv.sh (en * nix). El archivo debe ser legible ". ( Ejecución del Servlet Apache Tomcat 7.0 / Contenedor JSP , Sección 3.4)
Olathe
23

Para establecer variables de entorno permanentes en las últimas versiones de Ubuntu (desde 14.04 y superior) agregue las variables a /etc/environment. Para eso siga las instrucciones a continuación,

Abre la terminal y ejecuta

sudo -H gedit /etc/environment

proporcione su contraseña, luego en el archivo de texto solicitado

luego agregue las variables como

ANT_HOME="/opt/ANT/"

Muestra de la /etc/environmentes la siguiente

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
AXIS2_HOME="/opt/axis2-1.7.4/"
ANT_HOME="/opt/apache-ant-1.9.7/"

no olvide cerrar sesión e iniciar sesión nuevamente para habilitar las variables de entorno.

Kasun Siyambalapitiya
fuente
6

El mejor lugar para esto depende de cómo y dónde haya instalado Tomcat, qué aplicaciones desea elegir esta configuración y qué tan global desea que sea el alcance.

La documentación de Ubuntu sobre variables de entorno analiza los pros y los contras de las diversas opciones.

McDowell
fuente
¿A qué te refieres cuando dices "el mejor lugar para esto"?
jumpnett
@jumpnett: me refiero a dónde hacer que la configuración sea persistente para que siempre esté disponible para las aplicaciones que dependen de ella. A menos que estés contento escribiendo la configuración cada vez o quieras escribir tu propio guión.
McDowell el
3
nano ~/.bashrc

Lo más probable es que ya contenga bastante información. La mayoría de las definiciones aquí son para establecer opciones de bash, que no están relacionadas con las variables ambientales. Puede establecer variables ambientales como lo haría desde la línea de comando:

export VARNAME=value

ENLAZAR

Lo probé en Ubuntu 16.04. Funciona genial.

Soleado127
fuente
1

Después de revisar la documentación de Ubuntu sobre variables de entorno, se me ocurrió la siguiente solución:

##Save & run the following in a shell script,

export ENVIRON_VAR_NAME = Value
# any other initializations like
export PATH=$PWD:$PATH
bash

La última línea crea un shell hijo, que hereda los valores de la variable de entorno del shell padre (que acaba de establecerse).

Ashish Sadhwani
fuente