Perl CGI 스크립트가 실행되지 않는 이유

Perl CGI 스크립트가 실행되지 않는 이유

저는 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>

관련 정보