Python, Apache · 2 min read · Nov 12, 2025
Apache2에 mod_python을 사용하여 Python 임베딩하기 (Debian Etch)
Apache2에 mod_python을 사용하여 Python 임베딩하기 (Debian Etch)
버전 1.0
저자: Falko Timme
이 튜토리얼은 Debian Etch 서버에서 Apache2와 함께 mod_python을 설치하고 사용하는 방법을 보여줍니다. mod_python은 서버 내에 Python 인터프리터를 임베딩하는 Apache 모듈입니다. 이를 통해 전통적인 CGI보다 훨씬 빠르게 실행되는 Python 기반 웹 애플리케이션을 작성할 수 있으며, 데이터베이스 연결 및 기타 데이터를 유지하는 기능과 Apache 내부에 대한 접근과 같은 고급 기능을 사용할 수 있습니다.
이것이 여러분에게 작동할 것이라는 보장은 하지 않습니다!
1 사전 참고
저는 Apache2가 이미 설치된 IP 주소 192.168.0.100의 Debian Etch 서버에서 이것을 테스트했습니다.
이 예제에서는 문서 루트가 /var/www인 가상 호스트를 사용하고 있습니다.
2 mod_python 설치
mod_python을 설치하려면 다음과 같이 실행합니다:
apt-get install libapache2-mod-python3 Apache 구성
이제 Apache가 Python 파일을 처리할 수 있도록 구성해야 합니다. 이를 수행하는 방법은 두 가지가 있습니다. 첫 번째(및 기본) 방법은 Publisher Handler를 사용하는 것입니다. 이는 Apache에 의해 해석될 .py 확장자를 가진 순수 Python 스크립트를 작성할 수 있게 해줍니다. 두 번째 방법은 PSP Handler입니다. PSP는 Python Server Pages의 약자입니다. 이는 PHP와 유사하게 HTML 코드에 Python 코드를 직접 임베딩할 수 있게 해줍니다. PSP 파일은 .psp 확장자를 가집니다.
3.1 Publisher Handler
Publisher Handler를 활성화하려면, vhost 구성을 열어야 합니다(저는 문서 루트가 /var/www인 Debian의 기본 vhost를 사용하고 있으며, 이 vhost의 구성은 /etc/apache2/sites-available/default에 위치해 있습니다) 그리고 다음 줄을 추가합니다: AddHandler mod_python .py, PythonHandler mod_python.publisher, PythonDebug On:
vi /etc/apache2/sites-available/default| [...] |
그 후 Apache를 재시작합니다:
/etc/init.d/apache2 restart이제 순수 Python 코드가 포함된 작은 Python 테스트 스크립트(예: /var/www/test.py)를 생성합니다…
vi /var/www/test.py| def index(req): return "Test successful"; |
… 그리고 브라우저에서 호출합니다(예: http://192.168.0.100/test.py). 모든 것이 잘 진행된다면, 브라우저에 “Test successful”이 표시되어야 합니다.
3.2 PSP Handler
PSP Handler를 활성화하려면, vhost 구성을 열어야 합니다(저는 문서 루트가 /var/www인 Debian의 기본 vhost를 사용하고 있으며, 이 vhost의 구성은 /etc/apache2/sites-available/default에 위치해 있습니다) 그리고 다음 줄을 추가합니다: AddHandler mod_python .psp, PythonHandler mod_python.psp, PythonDebug On:
vi /etc/apache2/sites-available/default| [...] |
그 후 Apache를 재시작합니다:
/etc/init.d/apache2 restart이제 HTML과 Python 코드가 포함된 작은 PSP 테스트 스크립트(예: /var/www/test.psp)를 생성합니다…
vi /var/www/test.psp| |<% req.write("Hello!") %>
… 그리고 브라우저에서 호출합니다(예: http://192.168.0.100/test.psp). 모든 것이 잘 진행된다면, 브라우저에 “Hello!”가 표시되어야 합니다.
4 Python 모듈
추가 Python 모듈이 필요하다면, 다음과 같이 검색할 수 있습니다:
apt-cache search python필요한 모듈을 선택하고 다음과 같이 설치합니다:
apt-get install python-mysqldb python-xml그 후 Apache를 재시작합니다:
/etc/init.d/apache2 restart5 링크
- mod_python: http://www.modpython.org
- Python: http://www.python.org
- Apache: http://httpd.apache.org
- Debian: http://www.debian.org
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.