묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
리눅스 고수분 질문입니다.미치기 직전입니다...
2005.07.30 18:37
안녕하세요...질문하나 드립니다...
우선 저의 시스템 정보는 아래와 같습니다...
레드햇 리눅스9
(ret hat linux release 9 (Shrike)
Kernel 2.4.20-8 on an i686)
아파치(Apache2.0.40)
펄(perl-5.8.0-88)
<질문내용>
루트홈(var/www/html)에서는 cgi가 잘 되는데
유저 홈디렉토리 에서는 cgi 되지 않습니다...
텔넷에서 유저홈 디렉토리에 가서 perl -c test.cgi 로 하면
synstax ok가 나와서 정상으로 구동됩니다...
그런데 http://192.168.1.5/~test/test.cgi 이렇게
웹페이지로 불러오면 500에러가 납니다...
(에러내용은 제일 아래에 올렸습니다...)
유저 홈은 퍼미션을 711 로 줬고,
그 아래 public_html 폴더는 755로 설정했습니다...
아파치의 httpd.conf 환경설정 파일도,
-->UserDir public_html 의 #주석제거,
유저 홈의 설정은
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options ExecCGI MultiViews Indexes SymLinksIfOwnerMatch ExecCGI
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
이렇게 모두 주석제거 했고
위에처럼 ExecCGI도 삽입했고
-->AddHandler cgi-script .cgi 이부분 또한 주석제거 했습니다...
-->AddType application/x-httpd-cgi .cgi 이렇게 AddType도 삽입해 보았구요...
위와같이 분명히 제대로 설정했고,
리눅스 컴뮤니티 사이트 등에 올라와 있는 글들을
참고 삼아 여러가지로 수정해봐도
계속 500에러가 납니다...
500에러에 대해서 알아보니
이것은 서버측의 잘못이 아니고
cgi파일 자체에 구문이 잘못 되었다던가 해서
에러가 난다고 하던데
테스트한 cgi 파일들이 var/www/html/ 의 루트 폴더에서는
웹으로 불러와도 모두 정상적으로 작동 한다는 것입니다...
정말 미치기 직전이네요...
근 2주 동안 이 문제 때문에 골치가 아프군요...
홈디렉토리에서 cgi를 한번 구동해 봤으면 소원이 없겠습니다...
리눅스 고수분님...
제송하지만, 바쁘시더래도
저의 httpd.conf 파일을 한번 분석해서
어떻게 하면 유저 홈디렉토리에서도 cgi가 구동 될수 있는지
좀 자세히 가르쳐주세요...
언제나 행복하시고 안녕히...
아래에 저의 httpd.conf 파일을 링크 시킵니다...
http://home.megapass.net/~stingkyw/httpd.html
==========================================================================
<웹페이지에 나타나는 에러내용>
Server error!
The server encountered an internal error and was unable to complete your request.
Error message:
Premature end of script headers: test.cgi
If you think this is a server error, please contact the webmaster
Error 500
192.168.1.5
2005년 07월 30일 (토) 오후 05시 49분 58초
Apache/2.0.40 (Red Hat Linux)
우선 저의 시스템 정보는 아래와 같습니다...
레드햇 리눅스9
(ret hat linux release 9 (Shrike)
Kernel 2.4.20-8 on an i686)
아파치(Apache2.0.40)
펄(perl-5.8.0-88)
<질문내용>
루트홈(var/www/html)에서는 cgi가 잘 되는데
유저 홈디렉토리 에서는 cgi 되지 않습니다...
텔넷에서 유저홈 디렉토리에 가서 perl -c test.cgi 로 하면
synstax ok가 나와서 정상으로 구동됩니다...
그런데 http://192.168.1.5/~test/test.cgi 이렇게
웹페이지로 불러오면 500에러가 납니다...
(에러내용은 제일 아래에 올렸습니다...)
유저 홈은 퍼미션을 711 로 줬고,
그 아래 public_html 폴더는 755로 설정했습니다...
아파치의 httpd.conf 환경설정 파일도,
-->UserDir public_html 의 #주석제거,
유저 홈의 설정은
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options ExecCGI MultiViews Indexes SymLinksIfOwnerMatch ExecCGI
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
이렇게 모두 주석제거 했고
위에처럼 ExecCGI도 삽입했고
-->AddHandler cgi-script .cgi 이부분 또한 주석제거 했습니다...
-->AddType application/x-httpd-cgi .cgi 이렇게 AddType도 삽입해 보았구요...
위와같이 분명히 제대로 설정했고,
리눅스 컴뮤니티 사이트 등에 올라와 있는 글들을
참고 삼아 여러가지로 수정해봐도
계속 500에러가 납니다...
500에러에 대해서 알아보니
이것은 서버측의 잘못이 아니고
cgi파일 자체에 구문이 잘못 되었다던가 해서
에러가 난다고 하던데
테스트한 cgi 파일들이 var/www/html/ 의 루트 폴더에서는
웹으로 불러와도 모두 정상적으로 작동 한다는 것입니다...
정말 미치기 직전이네요...
근 2주 동안 이 문제 때문에 골치가 아프군요...
홈디렉토리에서 cgi를 한번 구동해 봤으면 소원이 없겠습니다...
리눅스 고수분님...
제송하지만, 바쁘시더래도
저의 httpd.conf 파일을 한번 분석해서
어떻게 하면 유저 홈디렉토리에서도 cgi가 구동 될수 있는지
좀 자세히 가르쳐주세요...
언제나 행복하시고 안녕히...
아래에 저의 httpd.conf 파일을 링크 시킵니다...
http://home.megapass.net/~stingkyw/httpd.html
==========================================================================
<웹페이지에 나타나는 에러내용>
Server error!
The server encountered an internal error and was unable to complete your request.
Error message:
Premature end of script headers: test.cgi
If you think this is a server error, please contact the webmaster
Error 500
192.168.1.5
2005년 07월 30일 (토) 오후 05시 49분 58초
Apache/2.0.40 (Red Hat Linux)