텍스트를 표시하는 대신 아파치를 cgi로 실행하려면 어떻게해야합니까?


12

우분투 11.04에 bugzilla 4를 설치하려고합니다.

내 httpd.conf에 다음을 추가했습니다.

<Directory “/var/www/dev.spincentre/bugzilla”>
   AddHandler cgi-script .cgi
   Options +Indexes +ExecCGI
   DirectoryIndex index.cgi
   AllowOverride Limit
</Directory>

그러나 URL로 이동하면 아파치는 스크립트를 실행하는 대신 index.cgi의 텍스트를 보여줍니다. 어떻게 고칠 수 있습니까?

답변:


18

mod_cgi 모듈을로드 했습니까? / etc / apache2 / mods-enabled / 디렉토리에 symlink가 있는지 확인할 수 있습니다 cgi.load. 이러한 심볼릭 링크가 없으면 다음을 실행하여 만들 수 있습니다.

sudo a2enmod cgi

그런 다음 Apache를 다시 시작하십시오.

sudo service apache2 restart

당신 man a2enmod은 무엇을 볼 수 있습니다 a2enmod.


이전 서버에서 마이그레이션하는 과정에서 Ubuntu 14.04에서 비슷한 문제가 발생했습니다. 이전 서버에서는 그렇지 않은 cgi가 기본적으로 비활성화되어 있다고 생각하지 않았습니다. 이것은 그것을 고쳤다!. Plz는 stackoverflow.com/questions/15199198/… 에서 동일한 것을 권장합니다 . 감사합니다!
user3215

symlink가 있지만 cgi가 여전히 실행되고 있지 않습니다.
Whitecat

1

Apache 2.4를 설치할 때 해결해야 할 많은 문제가 있었고 cgi를 실행하는 대신 텍스트가 표시되는 것과 동일한 문제가있었습니다. 해결책은 아파치 2.2의 솔루션 인 위와 동일하지 않습니다.

먼저 2.4 gz 파일을 다운로드하고 압축을 풉니 다. 컴파일을 시도하면 APR이 더 이상 포함되지 않으므로 APR을 찾을 수 없다고 불평합니다. apache에서 apr 및 apr-util 파일을 다운로드하여 아파치를 컴파일하는 디렉토리에 srclib라는 서브 디렉토리로 압축을 풀어야합니다. 따라서 경로는 ./httpd/srclib/apr 및 ./httpd/srclib/apr입니다. -util. 디렉토리 이름에서 모든 버전 번호를 제거해야합니다.

/ path / httpd 디렉토리로 cd하고

$ ./configure --with-included-apr

기본 설정은 PREFIX = / usr / local / apache2입니다.

$ 확인

$ 설치하다

$ vi PREFIX / conf / httpd.conf

cgi를 실행하려면 httpd.conf 파일을 편집해야합니다.

제 경우에는 다음을 수행했습니다.

Listen 80을 Listen 127.0.0.1:80으로 변경

라인 활성화 : LoadModule cgid_module modules / mod_cgid.so

SeverName을 ServerName 127.0.0.1:80으로 변경했습니다.

내 시스템에 맞게 DocumentRoot 및 Directory의 경로를 변경했습니다.

ScriptAlias에서 경로를 변경했습니다.

Scriptsock cgisock 라인 활성화

ScriptAlias ​​이후 내 시스템에 맞게 디렉토리의 경로를 변경했습니다.

AddHandler cgi-script .cgi 줄을 활성화했습니다.

변경 사항을 저장하고 아파치를 시작했습니다.

$ / usr / local / apache2 / bin / apachectl -k 시작

희망이 이것으로 어려움을 겪고있는 사람에게 도움이되기를 바랍니다.)


공유해 주셔서 감사합니다. 따라 가기가 어렵습니다. 조금 더 정리해 주시겠습니까?
user230910
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.