저는 CentOS에서 Apache를 사용하고 있으며 Perl CGI 스크립트를 디렉터리 인덱스로 실행하여 자동으로 하위 도메인으로 실행하려고 합니다. 스크립트를 실행할 수 있는 경로를 DirectoryIndex script.cgi
기록하는 섹션을 추가 하고 추가했습니다.Directory
/var/www/folder
스크립트가 작동하는 유일한 방법은 File *.cgi
디렉터리 섹션 내부(또는 외부)에 섹션을 추가하고 관련 섹션을 그 안으로 이동하는 것입니다.
Options +ExecCGI and SetHandler perl-script
나는 아직도 Apache를 배우고 있는데 왜 폴더를 참조하는 것만으로는 충분하지 않은지 궁금합니다. 파일 섹션과 참조도 추가해야 하는 이유는 무엇입니까 *.cgi
? CGI 스크립트는 이 폴더에 있는 유일한 파일입니다.
답변1
cgi 스크립트를 실행하고 싶기 때문에 apache2는 perl을 알 필요가 없습니다. 따라서 해당 지시문을 제거하겠습니다 SetHandler
.
디버깅하려면 귀하의 것 /var/log/apache2/error.log
또는 이와 유사한 것을 살펴보십시오. 디렉토리는 Apache에서 액세스할 수 있어야 합니다. 실행하려는 스크립트에는 실행 플래그 세트가 필요합니다.
구성 예:
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews
Order allow,deny
Allow from all
</Directory>