Apache 서버는 기본 설정 상태에서는 Python 스크립트를 실행할 수 없습니다. Python CGI 스크립트가 정상적으로 동작하도록 만들려면 Apache의 핵심 설정 파일인 httpd.conf를 직접 수정해야 합니다. 아래 단계별 가이드를 따라 하면 누구나 쉽게 설정을 완료할 수 있습니다.
1단계: httpd.conf 파일 열기
먼저 Apache가 설치된 디렉터리로 이동하여 httpd.conf 파일을 찾습니다. 일반적인 위치는 다음과 같습니다.
- Linux(Apache 2.x):
/etc/httpd/conf/httpd.conf또는/etc/apache2/apache2.conf - Windows(XAMPP, Apache 기본 설치):
C:\Apache24\conf\httpd.conf
파일을 찾았다면 vi, nano, 메모장 등 사용 중인 텍스트 편집기로 엽니다.
2단계: AddHandler 항목에 .py 추가
설정 파일 안에서 AddHandler라는 지시어를 검색합니다. 이 항목에는 이미 .php, .asp 등의 확장자가 핸들러로 등록되어 있는 경우가 많습니다. 해당 줄에 다음과 같이 .py 확장자를 추가합니다.
AddHandler cgi-script .cgi .pl .asp .php .py만약 cgi-script 관련 핸들러가 없다면 새로 한 줄을 추가하면 됩니다. 이 설정은 Apache에게 확장자가 .py인 파일을 CGI 프로그램으로 처리하라고 알려주는 역할을 합니다.
추가 권장 설정
CGI 스크립트를 특정 디렉터리에서만 실행하도록 제한하려면 ScriptAlias 지시어를 함께 사용하는 것이 좋습니다.
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"<br><Directory "/var/www/cgi-bin"><br> Options +ExecCGI<br> AllowOverride None<br></Directory>3단계: 설정 저장 후 Apache 재시작
수정한 내용을 저장한 뒤, 변경 사항을 적용하기 위해 반드시 Apache 서버를 재시작해야 합니다.
- Linux:
sudo systemctl restart httpd또는sudo systemctl restart apache2 - Windows: Apache Service Monitor 또는 명령 프롬프트에서
httpd -k restart
4단계: Python CGI 스크립트 실행 확인
이제 브라우저에서 Python CGI 스크립트에 접속하면 정상적으로 실행되는 것을 확인할 수 있습니다. 이때 다음 두 가지 사항을 꼭 점검하세요.
- Shebang 라인 확인: 스크립트 첫 줄에
#!/usr/bin/python3처럼 Python 인터프리터 경로가 올바르게 지정되어 있어야 합니다. - 실행 권한 부여: Linux 환경이라면
chmod 755 script.py명령으로 파일에 실행 권한을 부여해야 합니다.
마무리
정리하면, Apache에서 Python CGI 스크립트를 실행하는 핵심 절차는 ① httpd.conf의 AddHandler에 .py를 추가하고, ② 파일을 저장한 뒤 서버를 재시작하는 것입니다. 여기에 Shebang 라인과 실행 권한 설정까지 갖추면 어떤 환경에서도 Python CGI 스크립트를 안정적으로 구동할 수 있습니다.