맥 데포 아파치에서 파이썬 CGI 호출

여러분, 안녕하세요
Mac에 기본적으로 들어있는 Apache를 사용하여 python CGI를 호출하고 싶습니다.

먼저 default의 Apache 위치를 확인합니다.
$ which httpd
/usr/sbin/httpd

$ which apachectl
/usr/sbin/apachectl

Apache를 시작합니다 (중지는 stop, 재부팅 restart도 있습니다)
$ sudo /usr/sbin/apachectl start

아파치 설정 파일 httpd.conf의 위치는
/etc/apache2/httpd.conf

httpd.conf에 작성된 콘텐츠를 저장하는 DocumentRoot를 살펴 보겠습니다.
$ sudo vi /etc/apache2/httpd.conf

아무래도/Library/WebServer/Documents에 컨텐츠를 저장하는 것 같습니다.

httpd.conf
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/Library/WebServer/Documents"

계속해서 httpd.conf에서 CGI를 설정합니다.

[From]

httpd.conf
165 #LoadModule cgi_module libexec/apache2/mod_cgi.so↲
174 #LoadModule userdir_module libexec/apache2/mod_userdir.so↲
176 #LoadModule rewrite_module libexec/apache2/mod_rewrite.so↲
259     Options FollowSymLinks Multiviews↲
437     #AddHandler cgi-script .cgi↲

[To]

httpd.conf
165 LoadModule cgi_module libexec/apache2/mod_cgi.so↲
174 LoadModule userdir_module libexec/apache2/mod_userdir.so
176 LoadModule rewrite_module libexec/apache2/mod_rewrite.so
259     Options FollowSymLinks Multiviews ExecCGI
437     AddHandler cgi-script .cgi .py↲

이것으로 설정 완료

만약을 위해, 아파치 재부팅
$ sudo apachectl restart

오, py 파일을 만드는 것을 잊었습니다.
$ sudo vi /Library/WebServer/Documents/hello.py

hello.py
#!/usr/bin/python

print ("Content-type:text/html\r\n\r\n")
print ('<html>')
print ('<head>')
print ('<title>Hello Word - First CGI Program</title>')
print ('</head>')
print ('<body>')
print ('<h2>Good morning! This is my first python CGI</h2>')
print ('</body>')
print ('</html>')

좋아, 브라우저에서 localhost/hello.py를 부릅시다.


왔다!
수고하셨습니다.

좋은 웹페이지 즐겨찾기