아파치 환경변수 mod_env 설정

PHP에서 환경변수를 관리하는 문제에 맞닥뜨렸다. 각 서버 환경마다 불러오는 환경변수가 다르고 코드를 git으로 관리하기에 해당 파일에 변동 사항이 생길 때마다 별도의 과정을 거치는 것에 불편함을 느꼈다.


어떻게 하면 보다 효율적으로 환경변수를 관리할 수 있을까 알아보던 중에 아파치에서 환경변수를 설정할 수 있는 것을 알게 되었다.


아파치 설정 파일(/etc/httpd/config/httpd.conf)로 접속하여 해당 부분을 추가해 준다. 만일 아파치 관련 모듈이 없다면 mod_env를 설치해 줘야 한다.


아파치 설정에서 정적으로 설정 방법 외에도 쉘에서 환경 변수를 가져오는 방법도 있다.

<IfModule mod_env.c>  
    # 환경변수 선언 
    SetEnv CONFIG "http://localhost" 

    # 쉘을 환경변수를 가져와 웹에 전달한다 
    PassEnv CONFIG_ENV "LD_LIBRARY_PATH"
</IfModule>

 

PHP의 경우에는 다음 방식으로 환경변수를 호출한다.

<?php
echo $_SERVER["환경변수명"];
?>


이는 소규모의 서버에는 적합하지만 큰 규모라면 관리하는 것이 불편할 것이라는 생각이 든다.
Ref

https://httpd.apache.org/docs/2.4/mod/mod_env.html