본문 바로가기
Linux/NetAdmin

[CentOS5.11] 아파치 웹서버 CGI 설정.

by Luuii 2017. 9. 16.

CGI(Common Gateway Interface)?

> 웹 서버(정보 제공)와 클라이언트(정보 이용) 간에 필요한 정보 교환을 가능하게 해주는 일종의 웹 인터페이스

> 동적 페이지 서비스를 제공하려고 만들어짐

> CGI 제작도구 = PHP, PERL, PYTHON, etc

 

☆ 참고 사이트 ( CGI 란? ) 

http://snuet.com/CML/C05/C05_02.html

http://sfeg.tistory.com/196

 

http://www.linux213.example.com    -------------------------->    /www1/index.html   >코드를 요청.

http://www.linux213.example.com/cgi-bin/test.cgi ----------->    /www1/cgi-bin/test.cgi  > 실행시켜줘.

 

◇ 실습.

ⓐ 웹 디렉토리 및 index.html 파일 생성

 

# mkdir /www1

# vi /www1/index.html

1
2
3
4
5
6
7
8
9
<HTML>
<HEAD>
<title> hello test </title>
<HEAD>
</HEAD>
<BODY>
<center><h1> www1 (linux149:/www1) </h1></center>
</BODY> 
</HTML>
cs

 

ⓑ 가상호스트 및 설정 적용

 

# vi /etc/httpd/conf/httpd.conf

1
2
3
4
5
6
7
8
9
10
11
#문서 제일 하단 부분에 추가.
 
NameVirtualHost 192.168.35.143:80
<VirtualHost 192.168.35.143:80>
    ServerAdmin root@linux213.example.com
    DocumentRoot /www1
    ServerName www.linux213.example.com
    <Directory /www1>
        Options indexes includes
    </Directory>
</VirtualHost>
cs

 

# httpd -t

If you pass the test of syntax

 

# service httpd restart

 

# lynx http://www.linux213.example.com

 

ⓒ ScriptAlias 설정

 

# vi /etc/httpd/conf/httpd.conf

1
2
3
4
5
6
7
8
9
10
NameVirtualHost 192.168.35.143:80
<VirtualHost 192.168.35.143:80>
    ServerAdmin root@linux213.example.com
    DocumentRoot /www1
    ServerName www.linux213.example.com
    <Directory /www1>
        Options indexes includes
    </Directory>
    ScriptAlias /cgi-bin/ /www1/cgi-bin/    # 라인 추가
</VirtualHost>
cs

 

 

ⓓ test.cgi 파일 생성

 

# vi /www1/cgi-bin/test.cgi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
 
echo "Content-Type: text/html"
echo ""
 
echo "<pre>" 
echo "My username is : " 
whoami      # 명령어
echo ""
 
echo "My id is : " 
id             #      
echo ""
 
echo "</pre>
cs

 

# chmod 555 /www1/cgi-bin/test.cgi         < 실행권한이 있어야 한다.

 

# service httpd restart

 

# lynx http://www.linux213.example.com/cgi-bin/test.cgi

 

 

 

◇ Perl 스크립트 사용.

# rpm -qa mod_perl

If not installed the 'Perl' in your linux.

 

# yum -y install mod_perl

 

ⓐ 주 설정 파일 변경.

 

# vi /etc/httpd/conf.d/perl.conf

1
2
3
4
5
6
7
8
Alias /perl /var/www/perl
<Directory /var/www/perl>
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    PerlOptions +ParseHeaders
    Options +ExecCGI
</Directory>
cs

 

# service httpd restart

 

# firefox http://www.linux213.example.com/perl/test.pl

 

 

반응형