HTML 파일을 통해 CGI 프로그램을 호출하려고 합니다. 하지만 "파일을 찾을 수 없습니다"라는 오류가 발생했습니다.
다음 사이트와 동일한 프로그램을 사용하고 있습니다.
http://highered.mcgraw-hill.com/sites/dl/free/0070635463/372169/CGI_with_PERL.pdf
아래 html 파일을 찾으세요.
<html> <head>
<title>The Employee Database</title>
Appears on title bar
</head>
<body>
<h1> Employee Form </h1>
Appears in a large bold font
<hr>
Adds a horizontal rule
<form action=”http://localhost/~ravbholua/emp_add.pl” method=get>
Emp-id: <input type=”text” name=”empid” size=4> <br>
Name: <input type=”text” name=”ename” size=30> <br>
Designation: <input type=”text” name=”desig” size=15> <br>
Department: <input type=”text” name=”dept” size=15> <br>
Dateoffuse: <input type=”text” name=”dtbirth” size=10> <br>
noSalary: <input type=”text” name=”salary” size=10> <br> <br>
<center>
<input type=submit value=”Add”>
The Add button is centered
</center>
</form>
</body>
</html>
내 시스템에서 작동하도록 하기 위해 (위 링크에서 언급한 것보다) CGI 프로그램 파일의 경로를 변경했습니다. 현재 경로는 다음과 같습니다.http://localhost/~ravbholua/emp_add.pl
"추가" 버튼을 클릭하면 "파일을 찾을 수 없음" 오류가 발생합니다. 첨부 파일을 참조하세요.
양식(첨부)을 참조하시기 바랍니다.
사용자 이름 "ravbholua"의 홈 디렉터리에서 파일을 찾을 수 없는 이유는 무엇입니까? 이 두 가지 액세서리는 문제를 해결하는 데 도움이 됩니다.
아래 링크에도 같은 문의가 있는데 아직 해결하지 못했습니다. 자세히 살펴보시기 바랍니다.http://www.linuxquestions.org/questions/linux-server-73/web-page-not-able-to-find-cgi-program-file-4175476182/
답변1
~ravbholua
웹 서버는 일반적으로 사용자 홈 디렉터리로 변환하지 않으며 (이를 수행하려면 특별한 구성이 필요함) 이를 수행하는 방법을 시도하지 않는 것이 좋습니다. 이렇게 하면 홈 디렉터리의 전체 내용이 서버를 통해 표시되기 때문입니다. 주요 보안 위험.
public_html
홈 디렉터리 아래에 디렉터리를 만들고 거기에 파일을 넣어 보세요 . 그러나 웹 서버는 실제로 CGI 스크립트의 위치를 다시 쓰거나 보안상의 이유로 특정 위치의 파일을 CGI 스크립트로 처리하는 것을 거부할 수 있습니다. 이는 웹 서버의 구성에 따라 다릅니다. 또한 실제 매핑의 경우 아마도 해당 사용자 디렉터리 ~ravbholua
로 이동하지 않을 것입니다 .$HOME/public_html
웹 서버 로그 파일 ( 또는 등의 /var/log
이름이 지정될 수 있음 )을 검토하면 이 문제의 근본 원인을 추적하는 데 도움이 되는 오류나 정보를 얻을 수 있습니다. 그래도 작동하지 않으면 추적 웹 서버를 사용하는 것이 도움이 될 수 있습니다. 물론 어려울 수도 있습니다. 웹 서버에서 접근하는 모든 파일의 경로를 볼 수 있습니다 .http.log
apache.log
strace
strace