Apache의 환경설정을 수정해 파이썬 확장자로 요청이 전달된 경우에 파이썬에서 처리하도록 한다.
개발환경 : Apache 2.4.6 / Python 3.6.8
아파치가 CGI를 이용해 요청을 처리할 수 있도록
Document root(웹서버가 요청한 파일을 찾는 최상위 디렉토리)에
하단 구문을 추가한다.
<Files "*.py">
Options ExecCGI
AddHandler cgi-script .py
</Files>
- Options +ExecCGI : 아파치가 요청을 CGI를 이용해 처리할 수 있도록 설정
- AddHandler cgi-script .py : 웹페이지 요청 중 .py 확장자를 가지는 요청은 CGI를 이용해 처리
$ sudo service httpd restart
#!/usr/bin/python3.6
# -*- coding: UTF-8 -*-
import cgi
import cgitb
def main():
print("Content-type:text/html;charset=UTF-8;\n")
print('')
html = """
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<h1>test</h1>
</body>
</html>
""";
print(html)
if __name__ == "__main__":
main()
에러가 났다면 /var/log/httpd/error_log를 확인해본다.
$ tail -f error_log