2014-10-13 3 views
1

CentOS7을 사용하고 있습니다.cpan 대 yum 설치 perl-package-name

나는 웹 서버에 CPAN을 통해 설치된 패키지를 사용할 수있게하고 싶습니다.

cpan을 통해 패키지를 설치 한 다음 스크립트에 포함 시키면 httpd 사용자에서는 작동하지 않지만 내 사용자에서는 작동합니다.

패키지가 httpd 사용자로 작동하려면 yum install perl-package-name해야합니다.

문제는 리포지토리가 누락되었습니다. CPAN에서 많이 발견되는 패키지가입니다. 울부 짖는 소리 같이 같은 효과

# perl Makefile.PL 
# make 
# make test 
# make install 

가능한 단서를 가지고 같은

수동으로 패키지를 설치? - 내가 @ INC를 넣을 때> 서버에서

나는

/usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . 

단말기와 서버가 모두 같은 버전을 사용하는 것으로 나타 얻을

/usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /etc/httpd 

하지만 터미널에서 RAN에서

수 ..

을 다운로드하고 설치하려고

->http://search.cpan.org/~gozer/mod_perl-1.31/INSTALL 나는

를 얻을 수
Please tell me where I can find your apache src 
[../apache_x.x/src] 

나는

Please provide a full path to 'apxs' executable 

내가 소스에서 아파치 서버를 설치해야 하는가 얻을 http://cpansearch.perl.org/src/PHRED/mod_perl-2.0.8/INSTALL 를 설치하려고 할 때? 사용 --with-perl=

+2

내가 기억하는 한, CPAN을 자신의 사용자로 시작할 수 있으며 패키지가 홈 디렉토리에 설치됩니다. CPAN을 루트로 시작하려 했습니까? – SzG

+0

그래서 기본적으로 당신이 말하는 ID는 내가 할 수없는 httpd 사용자로부터 CPAN을 실행해야합니다. 네, CPAN을 루트로 시작하려고했습니다. 패키지 URL :: RegexMatching을 설치했습니다 ... 그러면 perl "-e use URL :: RegexMatching;" 그것은 작동하지만 스크립트에서 mydomain.com/cgi-bin/test.pl을 방문하면 스크립트가 중단됩니다. 그 패키지는 yum 저장소에 있지 않습니다. 나는 CPAN을 통해 얻을 수 있다고 생각합니다. –

+0

CPAN에서 루트로 패키지를 설치 한 후에도 여전히 httpd 사용자로 작동하지 않는다고 말합니까? – SzG

답변

1

나는 모든 것을 작동 시켰습니다.

yum remove mod_perl

pico httpd.conf -> 스크립트 스크립트가

상주 앨리어싱 또는 그들에게 /cgi-bin/

mod_perl을하고 냠의 펄 패키지를 이동 문제였다. 그것을 제거하고 httpd.conf를 수정 한 후에 모두 작동했습니다.

참고 또한 소스에서 perl 5.20.1을 설치했으며 이는 Centos7 + CPAN과 관련된 많은 문제를 해결 한 것으로 보입니다.

0

EPEL repository을 사용하도록 시스템을 구성하면 미리 패키지 된 많은 모듈을 찾을 수 있습니다.

+0

이걸 이미했는데 사용 방법이 있습니까? perl mod_perl없이 httpd에 심지어 EPEL 저장소에는 CPAN ..에 대한 많은 누락 된 패키지가 있습니다. CPAN이 내 자신뿐만 아니라 httpd 사용자도 사용할 수 있도록 구성 할 수있는 방법이 있습니까? perl의 devot을 많이 사용합니다. 그리고 나는 단지 http를 원한다. d는 데비안에서했던 것처럼 모든 패키지를 실행합니다. 그것은 centos에서 가능한가? –

+0

http 사용자와 작동하도록 CPAN을 구성하는 경우는 아닙니다. CPAN의 기본 동작은 모듈을 표준 라이브러리 디렉토리에 설치하는 것입니다. 너 그거 바꿨 니? 기본 동작을 시키면 모든 사용자가 설치된 모듈을 볼 수 있습니다. –

+0

기본값과 @INC를 httpd 사용자에서 변경하지 않았으며 내 사용자가 동일한 값을 갖기 때문에 혼란 스럽습니다. –