안녕하세요
저는 레드핫6.2 사용자입니다.
전에 근무하던 직장에서 동일한 리룩스 6.2환경에서 cgi를 설치해서 사용한 경험이 있습니다.
httpd.conf 설정을 예전과 동일하게 설정했다고 생각하는데 작동이 안됩니다.
브라우저에서 보면 소스코드가 보이거나 윈도우 다운로드 창이 뜹니다. 브라우저로 집에서 보면 index.cgi 다운로드 창이 뜨고, 직장에서 하면 소스코드가 보입니다. 브라우저 버전을 확인해 보았으나 그것과는 상관이 없었습니다.
참고로 말씀드리면
/home/httpd/html/index.html 있습니다.
그리고 /home/httpd/html/cgi 디렉토리와
/home/httpd/html/intranet/cgi디렉토리를 만들고 이 디렉토리 밑에 cgi를 설치하려고 합니다.
perl 경로나 퍼미션을 확인해 보았습니다만 예전과 다른 것이 없습니다.
/etc/httpd/conf/httpd.conf 에서 다음과 같이 설정해 두었습니다. 참고하세요.
<Directory "/home/httpd/html/cgi"> * cgi설치할 디렉토리 지정*
Options ExecCGI
</Directory>
<Directory "/home/httpd/html/intranet/cgi"> * 역시 cgi 설치할 인증걸린 디렉토리 지정
Options ExecCGI
</Directory>
예전에 있던 직장에서 이렇게 cgi를 설치하고자 하는 디렉토리를 위와 같이 설정해서 잘 사용했습니다. 이 번에는 안되는군요. 예전엔 이렇게 설정하니 tar를 압축만 해제해도 바로 사용이 가능했었거든요.
무엇이 문제인지 저로서는 알 수없어 답답합니다.
/home/httpd/cgi-bin에 cgi프로그램을 설치하고
이미지 파일은 다른 디렉토리에 옮겨두고 해당 cgi 설정파일의 이미지 경로를 지정하면 cgi프로그램이 정상작동합니다.
그러나 제가 궁금한 것은
1. 왜 예전 방식이 안됩니까?
2. 인증이 걸린 디렉토리 밑에 cgi를 설치하고 싶습니다. cgi-bin 을 새롭게 설정하는 방법이 있습니까? 아래와 같이 설정하니 작동이 안됩니다.
ScriptAlias /cgi-bin/ "/home/httpd/html/intranet/cgi-bin"
<Directory "/home/httpd/html/intranet/cgi-bin">
AllOverride None
Options ExecCGI
Order Allow,deny
Allow from all
</Directory>
->예전 방식으로는 아무 디렉토리에나 cgi 설치가 가능했었거든요.이미지 파일을 옮길 필요도 없었고요.(Options ExecCGI만 설정하면)
필요하다면 비번을 알려드리겠습니다.
답변주신다면 감사하겠습니다.
안녕히 계세요. |