apache2 cgi 활성화 관련 질문
리눅스 입문 왕초보입니다.
비교적 설치가 간단하다는 우분투를 설치해서 공부중입니다.
질문드리고자 하는것은 우분투 서버 8.04 에서 cgi 활성화 관련 문제인데
여기저기 찾아보았으나 뽀족한 답이없어 도움을 청합니다.
현재 문제는 cgi파일을 웹상애서 보려고 하면 Internal Server Error 가 나온다는 점이고
에러 로그는 Premature end of script headers :test.cgi 로 확인 되었습니다.
test.cgi 내용은
-------------------------------------
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";
---------------------------------------
으로 아파치 투토리얼에 나오는 셈플 그대로 하였습니다
실행 디렉토리는 var/www/cgi-bin 으로
www 와 cgi-bin, test.cgi는 755 퍼미션을 주었습니다.
혹시 다른 파일을 수정해서 문제가 생겼나 싶어서 가상 머신으로 아래와 같이 설치및 설정하고 테스트 해보았으나 해결이 되지않았습니다
연속적으로 진행된 부분입니다 이이외에 커멘트나 행동을 전혀 사용하지 않았습니다.
더불어 설치상에 문제가 있거나 빠진부분이 있다면 지적 부탁드리겠습니다
수정한 파일은 000-default ftpusers vsftpd.conf 뿐입니다.
ㅇ ubutu 8.04 LTS 서버 설치 시작
ㅇ 설치중 lamp 항목 선택후 진행
ㅇ 설치 완료후 제부팅
ㅇ 사용자로그인
sudo -i /편의상 루트변경
passwd /루트비번설정
apt-get update
apt-get upgrade
apt-get install apache2 (혹시나해서 확인, 업데이트 할게 없다고함)
a2enmod cgi (혹시나 해서 확인, 이미 활성화 되있다고함)
***000-default 설정변경***
vi /etc/apache2/sites-enabled/000-default
** 수정한 파일내용**
NameVirtualHost *
ServerAdmin webmaster@localhost
DocumentRoot /var/www/ -- 기본디텍토리
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride FileInfo
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /var/www/cgi-bin/ ---/var/www/cgi-bin/ 에서 실행하고자함 (주석처리 무방)
---/var/www/cgi-bin/ 이하 위치에서 실행 가능토록 함
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
AddHandler cgi-script .cgi .pl .sh --- 헨들러 추가
Order allow,deny
Allow from all
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
:wq 저장후 빠져나옴
/etc/init.d/apache2 restart
이외에 수정된것들은 vsftpd.conf 에서 익명유저 사용부분을 불가능하게 하였고 로컬계정 사용자와 쓰기 여부를 가능케하였습니다.
또 ftpusers서는 루트를 접속가능토록 주석처리 하였습니다
apache와는 상관없겠지만...
apt-get install vsftpd
/etc/init.d/vsftpd restart
ftp와 아파치 리스타트후
ftp로 루트 접속
/var/www/ 이하에 cgi-bin 디렉토리를 만들고
test.cgi를 업로드하였습니다.
디렉과 파일은 모두 755권한으로 변경하고
혹시나해서 터미널에서
perl test.cgi 해서 확인 해보았더니 오류 없이 출력되었습니다.
최종적으로 웹브라우저에서 확인하면 Internal Server Error 가 나오고있습니다.
시간내어 긴글 읽어주셔감사드리며 혹시나 해결책이 있으신분은 답변 부탁드리겠습니다


댓글 달기