급한 마음에 다시 질문 올립니다.
미워하지 말아주세여 ㅡㅡ.
//
사용자 계정 디렉토리에 cgi파일이 실행 가능하도록 설정해야하는데...
몇일째 이 문제로 삽질중입니다.
여기저기(여기 게시판을 비롯해 여러 아파치 관련 책도..) 찾아보니...
root가 아닌 계정을 받은 userdir (--> public_html) 에서도 cgi 스크립트가
실행되도록 설정하려면... 그니까 http://...../~***/cgi-bin/index.cgi가
멋지게 브라우저에 띄우려면...
먼저,
<Directory /home/***/cgi-bin>
AllowOverride None
Options Indexes Includes FollowSymLinks ExecCGI MultiViews
Order allow,deny
Allow from all
</Directory>
-->근데 디렉토리는 써도 안뜨는군요...하여간 위의 것은 디렉토리로 절대경로
지정한겁니다.^^
그리고...
AddHandler cgi-script .cgi .pl의 주석처리를 없앴습니다.
그리고 public_html 폴더 밑에 test용 cgi파일을 놓았지요.
이 파일은 아주 간단한 test용으로 root에서 실행했을때는
아주 깔끔하게 실행된 문제 없는 파일입니다. ㅡㅡ.
물론 퍼미션은 모두 755로 주었구요.
이렇게 했는데도.....
브라우저에서 보면 Internal Server Error가 뜹니다.
무엇이 문제일까요.
그리구 error-log 파일도 찾아봤습니다.
두 개의 에러가 뜨더군요
Permission denied : exec of /home/***/public_html/cgi-bin/index.cgi
그리고
[client 저의IP]Premature end of script headers : /home/***/public_html/cgi-bin/index.cgi
였습니다.
이런 경우 어떤 방법으로 접근해야 할까요...
부탁드립니다.
cgi 를 사용자 디렉토리에서 실행하려면 Directory 블록에서 ExecCGI 옵션과 AddHandler 설정을 함께 맞춰야 합니다. AllowOverride 가 None 이면 .htaccess 로 바꿀 수 없으니 httpd.conf 에서 직접 설정하세요. 설정 후 아파치를 재시작하고, 파일 권한이 실행 가능한지도 확인하세요.