Ubuntu 8.04에 APM을 설치했는데 CGI가 안먹힙니다

안녕하세요.
Ubuntu 8.04에 APM을 설치 한 뒤 /var/www/cgi-bin 디렉토리에 CGI 파일을 넣고 익스플로러로 읽어 들였더니 CGI 내용만 주룩 나와서 문의드립니다.

설치과정은 다음과 같습니다.

  1. ubuntu 8.04 install

  2. update

  3. ubuntu 8.04 apm 설치
    가. mysql 설치하기
    sudo apt-get install mysql-server mysql-client libmysqlclient15-dev
    sudo ./mysql start

    나. Apache 설치
    sudo apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
    sudo /etc/init.d/apache2 start

    다. PHP 설치
    sudo apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

    sudo ./apache2 stop
    sudo a2enmod ssl
    sudo a2enmod rewrite
    sudo a2enmod suexec
    sudo a2enmod include
    sudo ./apache2 start
    
  4. /etc/apache2/sites-available/default 수정
    ScriptAlias /cgi-bin/ /var/www/cgi-bin/
    <Directory /var/www/cgi-bin/>
    AllowOverride None
    Options ExecCGI MultiViews
    Order allow,deny
    Allow from all
    </Directory>

위 과정에서 뭐가 잘못되거나 빠진게 있어서 그렇다는 이야기도 들었는데 알려주시면 감사하겠습니다.

좋은 하루 보내세요 :-D

설치 후 cgi 모듈은 기본적으로 활성화 되 있을 것입니다.
혹시 모르니
sudo a2enmod cgi

그리고 나서

[quote="sprite":36g7g0c9]4. /etc/apache2/sites-available/default 수정
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory /var/www/cgi-bin/>
AllowOverride None
Options ExecCGI MultiViews
Order allow,deny
Allow from all
</Directory>[/quote:36g7g0c9] 를

[code:36g7g0c9]ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory /var/www/cgi-bin/>
AllowOverride None
Options ExecCGI MultiViews
AddHandler cgi-script cgi pl
Order allow,deny
Allow from all
</Directory>[/code:36g7g0c9]

와 같이 AddHandler cgi-script cgi pl 을 추가 하십시요
또한 index.cgi 파일이 디렉에서 메인으로 뜨기 위해선 dir.conf 파일
DirectoryIndex 선언에 들어 가야 합니다.
예) DirectoryIndex index.html index.htm index.php index.php3 [b:36g7g0c9]index.cgi[/b:36g7g0c9] index.jsp
위도 기본으로 되있나 … ㅎ

강분도 님. 답변 해 주셔서 감사합니다.

알려주신 a2enmod cgi 는 이미 enable 상태였습니다.

그리고 default 파일을 수정을 해서 restart 했더니 이번에는 500 Internal Server Error 가 떴습니다.

/var/log/apache2/error.log 파일을 보니

[Sun Dec 14 17:07:30 2008] [error] [client —.—.—.—] (13)Permission denied: exec of ‘/var/www/cgi-bin/picture.cgi’ failed
[Sun Dec 14 17:07:30 2008] [error] [client —.—.—.—] Premature end of script headers: picture.cgi

라고 뜹니다(client ip 는 - 로 바꿨습니다).

어디서 잘못 되었는지 짐작이 가질 않습니다 -_ㅜ

500 Internal Server Error 이유가 다양한데…
우선 mine.conf 에
AddHandler cgi-script .cgi 가 주석처리 되어 있진 않은지
살펴 보시고

그리고 500에러에 가장 주범은 퍼미션 입니다. cgi 는 실행 가능해야지요
기본이 755 퍼미션 입니다.

다른 서버 데이터를 옮기는 거라면… 퍼미션 정보까지 같이 압푹 해야 하며 예) tar cvzfp

설치 하신 cgi 프로그램이 그러 하다면 cgi 파일과 그리고 저장관련 디렉의 퍼미션을 설펴 보시기 바랍니다.

잘 모르시면 정보를 더 주세요 어떤 거를 어떻게 어디에 설치 하려 한다. 머 이런 … 정보… :?