cgi를 처음 설치하고
테스트에 들어갈때..
많은 분들이 소스가 그대로 보인다고 하셔서..
허접한 제가 간단하게(?) 정리해봅니다..^^;
이하. 존칭은 생략합니다..
참고로 고수님들은 그냥 읽지마시길 바라며..(허접혀서요 -,-;)
1. httpd.conf 설정을 제대로 했는가?
ex>
cgi 실행파일 위치 : /usr/local/apache/cgi-bin 일때.
httpd.conf편집
------------------------------------------------------
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
<Directory "/usr/local/apache/cgi-bin">
...
Options ExecCGI
...
</Directory>
AddHandler cgi-script .cgi .pl
^^^^^ ^^^^
(cgi파일 또는 perl파일 을 cgi로 다룬다)
------------------------------------------------------
위와 같이 제대로 설정이 되있는가 확인하고
안되어 있다면 위처럼 설정하도록 한다.
그리고 나서
# ./bin/apachectl restart
(아파치데몬이 떠 있을경우는 restart한다. 이부분은 자신의
설정에 맞게 실행하면 됨)
2. cgi-bin 디렉토리의 .cgi 이외의 파일이 깨져보인다?
이 경우는 위와 같고
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
이 부분을 아래와 같이 수정한다.
Alias /cgi-bin/ "/usr/local/apache/cgi-bin/"
(시력 좋은 분은 어디가 다른지 금방 알아차릴 것임^^;)
3. 가끔 책에 보면 테스트용으로 나와있는 스크립트를
브라우저에서 보려하지만 자꾸 소스가 그대로 출력될때
ex>
/usr/local/apache/cgi-bin/ 에는 아래 2개의 스크립트가 있다.
printenv (이거는 perl로 작성된것임)
test-cgi (요거는 bash로 작성된것이고)
일단 이것들을 브라우저에서 실행하기 위해 권한변경.
#chmod 755 printenv
#chmod 755 test-cgi
다음으로, 각각 파일을 열어서 맨 꼭대기(?)를 본다.
#!/usr/bin/perl
#!/bin/sh
이런식으로 되어있을것이다... 이부분이 자신의 설정과 맞는지
확인한다.
#which perl
#which sh
여기까지 하면 일단 설정은 됐구..
자..그런데 제대로 설정했음에도 불구하고 브라우저에서
불러오면 소스가 그대로 보일까?
http://localhost/cgi-bin/printenv
이유는
httpd.conf 설정시
AddHandler cgi-script .cgi .pl
이렇게 설정을 해 놓았기 때문이다..
그럼.. 위의 2개의 소스를 테스트하는 방법은?
첫번째 방법은
#AddHandler cgi-script .cgi .pl
이부분을 위처럼 주석처리(#) 한다.
(나중에 .cgi 나 .pl 로 사용시 다시 주석을 제거하면되고 -,-)
두번째 방법은
printenv
파일을
printenv.cgi 나
printenv.pl 로 변경해서 보면 된다.
브라우저에서 보는 법을 모른다? 에고.. 이렇게 하면된다.
http://localhost/cgi-bin/printenv.cgi
하면 주루룩....OK?
====== 이상 ... 횡설수설..읽어주셔서 감사함다..
그대로 안된다면 메일을 보내주기 바랍니다..========
--
찌찌찌~이~이~익..찍찍 ..^^;
이 노무 python 을 언제나 마스타할꼬..