작은숲:위키노트/Mod perl: 두 판 사이의 차이

큰숲백과, 나무를 보지 말고 큰 숲을 보라.
잔글 (문자열 찾아 바꾸기 - "분류:위키노트에서 가져온 문서" 문자열을 "{{퍼온문서|위키노트|{{#invoke:string|replace|위키노트:|}}}}분류:위키노트에서 가져온 문서" 문자열로)
잔글 (Utolee90님이 Mod perl 문서를 작은숲:위키노트/Mod perl 문서로 이동했습니다: 제목 변경)
 
(같은 사용자의 중간 판 9개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{DISPLAYTITLE:mod_perl}}
{{DISPLAYTITLE:mod_perl}}
== 설치 ==
== 설치 ==
편하고 깔끔한 방법은 [[위키노트:Yum|Yum]]으로 설치하는 것이다.
편하고 깔끔한 방법은 [[작은숲:위키노트/Yum|Yum]]으로 설치하는 것이다.
<source lang="console">
<syntaxhighlight lang="console">
# yum -y install mod_perl
# yum -y install mod_perl
</source>
</syntaxhighlight>
그렇지 못할 경우 수동으로 설치한다.
그렇지 못할 경우 수동으로 설치한다.
우선 소스 파일을 다운로드 한다. 다운로드 할 수 있는 버전은 http://perl.apache.org/download/index.html<nowiki></nowiki>에서 확인한다. 2016년 1월 17일 현재, 최신 버전은 [http://apache.mirror.cdnetworks.com/perl/mod_perl-2.0.9.tar.gz 2.0.9]이다.
우선 소스 파일을 다운로드 한다. 다운로드 할 수 있는 버전은 http://perl.apache.org/download/index.html<nowiki></nowiki>에서 확인한다. 2016년 1월 17일 현재, 최신 버전은 [http://apache.mirror.cdnetworks.com/perl/mod_perl-2.0.9.tar.gz 2.0.9]이다.
<source lang="console">
<syntaxhighlight lang="console">
# cd /usr/local/src
# cd /usr/local/src
# wget http://apache.mirror.cdnetworks.com/perl/mod_perl-2.0.9.tar.gz
# wget http://apache.mirror.cdnetworks.com/perl/mod_perl-2.0.9.tar.gz
78번째 줄: 78번째 줄:
# ls /usr/local/apache/modules/mod_perl.so
# ls /usr/local/apache/modules/mod_perl.so
/usr/local/apache/modules/mod_perl.so
/usr/local/apache/modules/mod_perl.so
</source>
</syntaxhighlight>
<code><nowiki>make</nowiki></code>와 <code><nowiki>make install</nowiki></code> 하는데 시간이 조금 걸리니 잠시 기다린다.
<code><nowiki>make</nowiki></code>와 <code><nowiki>make install</nowiki></code> 하는데 시간이 조금 걸리니 잠시 기다린다.
== 설정 ==
== 설정 ==
<code><nowiki>/usr/local/apache/conf/httpd.conf</nowiki></code> 파일을 수정한다.
<code><nowiki>/usr/local/apache/conf/httpd.conf</nowiki></code> 파일을 수정한다.
<source lang="apache">
<syntaxhighlight lang="apache">
# mod_perl 추가
# mod_perl 추가
LoadModule perl_module modules/mod_perl.so
LoadModule perl_module modules/mod_perl.so
120번째 줄: 120번째 줄:
     Allow from 184.0.0.94/24      # 접속할 IP 주소 설정
     Allow from 184.0.0.94/24      # 접속할 IP 주소 설정
</Location>
</Location>
</source>
</syntaxhighlight>
[[위키노트:아파치|아파치]] 재기동 후 모듈 확인.
[[작은숲:위키노트/아파치|아파치]] 재기동 후 모듈 확인.
<source lang="console">
<syntaxhighlight lang="console">
# /usr/local/apache/bin/apachectl restart
# /usr/local/apache/bin/apachectl restart
# /usr/local/apache/bin/httpd -M | grep perl
# /usr/local/apache/bin/httpd -M | grep perl
  perl_module (shared)
  perl_module (shared)
</source>
</syntaxhighlight>
== 참고 자료 ==
== 참고 자료 ==
* [http://blog.daum.net/kimuks/7531846 mod_perl 설치]
* [http://blog.daum.net/kimuks/7531846 mod_perl 설치]
132번째 줄: 132번째 줄:
* [http://www.server-world.info/en/note?os=CentOS_6&p=httpd&f=9 Use mod_perl] <archiveis>wwEJs</archiveis>
* [http://www.server-world.info/en/note?os=CentOS_6&p=httpd&f=9 Use mod_perl] <archiveis>wwEJs</archiveis>
* [https://wiki.archlinux.org/index.php/Mod_perl mod_perl]
* [https://wiki.archlinux.org/index.php/Mod_perl mod_perl]
[[분류:서버]]
[[분류:위키노트/서버]]
[[분류:리눅스]]
[[분류:리눅스]]
[[분류:소프트웨어 설치]]
[[분류:위키노트/소프트웨어 설치]]
[[분류:소프트웨어 설정]]
[[분류:위키노트/소프트웨어 설정]]
[[분류:공유]]{{퍼온문서|위키노트|{{#invoke:string|replace|위키노트:|}}}}[[분류:위키노트에서 가져온 문서]]
[[분류:위키노트/공유]]{{퍼온문서|위키노트|{{#invoke:string|replace|{{PAGENAME}}|위키노트:|}}}}[[분류:위키노트에서 가져온 문서]]

2022년 5월 7일 (토) 15:13 기준 최신판

설치

편하고 깔끔한 방법은 Yum으로 설치하는 것이다.

# yum -y install mod_perl

그렇지 못할 경우 수동으로 설치한다. 우선 소스 파일을 다운로드 한다. 다운로드 할 수 있는 버전은 http://perl.apache.org/download/index.html에서 확인한다. 2016년 1월 17일 현재, 최신 버전은 2.0.9이다.

# cd /usr/local/src
# wget http://apache.mirror.cdnetworks.com/perl/mod_perl-2.0.9.tar.gz
--2016-01-27 01:13:48--  http://apache.mirror.cdnetworks.com/perl/mod_perl-2.0.9.tar.gz
Resolving apache.mirror.cdnetworks.com... 14.0.101.165
Connecting to apache.mirror.cdnetworks.com|14.0.101.165|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3846584 (3.7M) [application/x-gzip]
Saving to: `mod_perl-2.0.9.tar.gz'
100%[==========================================================>] 3,846,584   17.9M/s   in 0.2s
2016-01-27 01:13:48 (17.9 MB/s) - `mod_perl-2.0.9.tar.gz' saved [3846584/3846584]
# tar zxvf mod_perl-2.0.9.tar.gz
mod_perl-2.0.9/
mod_perl-2.0.9/Apache-Reload/
mod_perl-2.0.9/Apache-Reload/Changes
mod_perl-2.0.9/Apache-Reload/lib/
...
# cd mod_perl-2.0.9
# perl Makefile.PL MP_APXS=/usr/local/apache/bin/apxs
Reading Makefile.PL args from @ARGV
   MP_APXS = /usr/local/apache/bin/apxs
no conflicting prior mod_perl version found - good.
Using APXS => /usr/local/apache/bin/apxs
Configuring Apache/2.4.3 mod_perl/2.0.9 Perl/v5.10.1
...
Writing Makefile for ModPerl
Writing Makefile for ModPerl::XS
Writing Makefile for mod_perl2
[warning] mod_perl dso library will be built as mod_perl.so
[warning] You'll need to add the following to httpd.conf:
[warning]
[warning]   LoadModule perl_module modules/mod_perl.so
[warning]
[warning] depending on your build, mod_perl might not live in
[warning] the modules/ directory.
[warning] Check the results of
[warning]
[warning]   $ /usr/local/apache/bin/apxs -q LIBEXECDIR
[warning]
[warning] and adjust the LoadModule directive accordingly.
# make
cd "src/modules/perl" && make
make[1]: Entering directory `/usr/local/src/mod_perl-2.0.9/src/modules/perl'
...
/usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/mp2bug
Manifying blib/man3/mod_perl2.3pm
Manifying blib/man3/ModPerl::Config.3pm
Manifying blib/man3/ModPerl::Code.3pm
Manifying blib/man3/ModPerl::CScan.3pm
Manifying blib/man3/Bundle::Apache2.3pm
Manifying blib/man3/Apache2::Build.3pm
# make install
...
Installing /usr/local/share/man/man3/Apache::TestRun.3pm
Installing /usr/local/share/man/man3/Apache2::Module.3pm
Installing /usr/local/bin/mp2bug
Appending installation info to /usr/lib64/perl5/perllocal.pod
+--------------------------------------------------------------+
|                                                              |
| For details on getting started with mod_perl 2, see:         |
|                                                              |
|   http://perl.apache.org/docs/2.0/user/intro/start_fast.html |
|                                                              |
|                                                              |
| Found a bug?  File a bug report:                             |
|                                                              |
|   http://perl.apache.org/bugs/                               |
|                                                              |
+--------------------------------------------------------------+
# ls /usr/local/apache/modules/mod_perl.so
/usr/local/apache/modules/mod_perl.so

makemake install 하는데 시간이 조금 걸리니 잠시 기다린다.

설정

/usr/local/apache/conf/httpd.conf 파일을 수정한다.

# mod_perl 추가
LoadModule perl_module modules/mod_perl.so
# DirectoryIndex 지시자 추가
DirectoryIndex index.html index.php index.pl
# AddHandler 지시자 수정
AddHandler cgi-script .cgi .pl
# Perl 스크립트를 실행할 디렉토리 설정
<Directory /var/www/perl>
    # 디렉토리에 있는 모든 파일이 Perl 파일이라면 아래 설정으로
    SetHandler perl-script
    # 특정 확장자를 가진 파일만 Perl 스크립트로 실행하도록 하려면 윗 줄 주석 처리하고 아래 주석 제거
    #AddHandler perl-script .cgi .pl
    # PerlRun 모드가 더 안정적이지만, 확실한 스크립트를 조금 더 빠르게 실행시키려면 Registry 모드로
    #PerlResponseHandler ModPerl::Registry
    PerlResponseHandler ModPerl::PerlRun
    PerlOptions +ParseHeaders
    Options +ExecCGI
    # 만약 접속을 제한해야 한다면 아래 내용 추가
    <IfModule mod_authz_core.c>
        # Apache 2.4	
        Require ip 184.0.0.94/24    # 접속할 IP 주소 설정
    </IfModule>
    <IfModule !mod_authz_core.c>
        # Apache 2.2
        Order allow,deny
        Allow from 184.0.0.94/24    # 접속할 IP 주소 설정
        Allow from ::1
    </IfModule>
</Directory>
# mod_perl 상태 확인. 필요 없다면 주석 처리.
<Location /perl-status>
    SetHandler perl-script
    PerlResponseHandler Apache2::Status
    Order deny,allow
    Deny from all
    Allow from 184.0.0.94/24       # 접속할 IP 주소 설정
</Location>

아파치 재기동 후 모듈 확인.

# /usr/local/apache/bin/apachectl restart
# /usr/local/apache/bin/httpd -M | grep perl
 perl_module (shared)

참고 자료