[python] python-dotenv를 사용하여 Apache 설정하기

이 블로그 포스트에서는 Python 프로젝트에서 python-dotenv 라이브러리를 사용하여 Apache 웹 서버의 환경 변수를 설정하는 방법에 대해 알아보겠습니다.

1. python-dotenv란?

python-dotenv는 Python 프로젝트에서 .env 파일에 정의된 환경 변수를 읽어오는 라이브러리입니다. .env 파일은 프로젝트의 루트 디렉토리에 위치하며, 각각의 환경 변수는 KEY=VALUE 형식으로 정의됩니다.

2. Apache 설정

먼저, Python 프로젝트에 python-dotenv를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다:

pip install python-dotenv

설치가 완료되었다면, 아래와 같이 .env 파일을 생성하고 환경 변수를 정의합니다:

DB_HOST=localhost
DB_PORT=3306
DB_USER=myuser
DB_PASSWORD=mypassword

이제 Apache 설정 파일인 httpd.conf에 다음과 같이 환경 변수를 포함시킵니다:

SetEnv DB_HOST ${DB_HOST}
SetEnv DB_PORT ${DB_PORT}
SetEnv DB_USER ${DB_USER}
SetEnv DB_PASSWORD ${DB_PASSWORD}

위 코드에서 ${DB_HOST}와 같은 형태로 작성된 부분은 python-dotenv 라이브러리가 .env 파일에서 해당 변수 값을 읽어와 자동으로 채워줍니다.

3. Python 프로젝트에서 환경 변수 사용

이제 Python 프로젝트에서 python-dotenv를 사용하여 환경 변수 값을 사용할 수 있습니다. 아래와 같이 코드를 작성해보겠습니다:

import os
from dotenv import load_dotenv

# .env 파일 로드
load_dotenv()

# 환경 변수 사용
db_host = os.getenv("DB_HOST")
db_port = os.getenv("DB_PORT")
db_user = os.getenv("DB_USER")
db_password = os.getenv("DB_PASSWORD")

# 환경 변수 출력
print(f"Database Host: {db_host}")
print(f"Database Port: {db_port}")
print(f"Database User: {db_user}")
print(f"Database Password: {db_password}")

위 코드에서 load_dotenv()를 호출하여 .env 파일을 로드하고, os.getenv()를 사용하여 환경 변수 값을 가져옵니다. 이렇게 가져온 환경 변수 값을 사용하여 프로젝트 내에서 필요한 작업을 수행할 수 있습니다.

4. 마무리

이제 python-dotenv를 사용하여 Apache 웹 서버의 환경 변수를 설정하고, Python 프로젝트에서 해당 환경 변수 값을 가져오는 방법을 알아보았습니다. 이를 통해 보안성을 강화하고, 프로젝트의 설정을 유연하게 관리할 수 있습니다.

python-dotenv에 대한 자세한 내용은 공식 문서를 참조하시기 바랍니다.