자체 컴파일된 Perl 및 mod_perl과 함께 공급업체 Apache를 어떻게 사용합니까?

StackOverflow https://stackoverflow.com/questions/79493

  •  09-06-2019
  •  | 
  •  

문제

Apple 또는 RedHat에 내장된 Apache를 사용하고 싶지만 Perl 5.10 및 mod_perl을 사용하고 싶습니다.이를 달성하기 위한 가장 방해가 적은 방법은 무엇입니까?나는 공급업체의 Apache, dav, php 등에 대한 무료 보안 패치의 이점을 원하지만 어떤 버전의 Perl을 사용하고 내 @INC 경로에 무엇이 있는지에 대해 많은 관심을 갖고 있습니다.나는 내 자신의 mod_perl을 컴파일하는 것을 꺼리지 않습니다.

도움이 되었습니까?

해결책

  1. mod_perl 문서의 특별 지침에 따라 Perl 5.10 버전을 빌드하세요./usr/local/perl/5.10.0과 같은 비표준 위치에 설치하도록 Perl 구성자에게 지시

  2. 배포판의 Apache에 대해 공유 라이브러리(또는 동적 또는 .so) mod_perl을 빌드하려면 지침을 사용하십시오. 단, 다음을 사용하여 Makefile.PL을 실행해야 합니다. 당신의 펄 버전:

    /usr/local/perl/5.10.0/bin/perl Makefile.PL APXS=/usr/bin/apxs

  3. 평소와 같이 mod_perl을 설치하고 구성합니다.

첫 번째 단계 이후에 사용 중인 Perl 버전에 대해 실수로 혼동하지 않도록 경로를 변경하는 것이 도움이 될 수 있습니다.

export PATH=/usr/local/perl/5.10.0/bin:$PATH

다른 팁

당신은 조사하고 싶을 것입니다 mod_so

나는 전에 이것을 해본 적이 있습니다.예쁘지는 않았지만 효과가 있었습니다. 특히 공급업체 Perl이 일반적으로 2~3년 정도 되었기 때문에 더욱 그렇습니다.

나는 Perl을 다른 위치에 설치하는 Perl RPM을 만드는 것으로 시작했습니다. /opt/.이것은 매우 간단했습니다.나는 새 모듈을 업그레이드/설치할 때 Perl을 사용하는 시스템 유틸리티가 중단되는 것을 원하지 않았기 때문에 주로 이것으로 시작했습니다.지정하기 위해 모든 스크립트를 수정해야 했습니다. #!/opt/bin/perl 때로는 Perl이 먼저 나오도록 경로를 조작하기도 했습니다.

다음으로, mod_perl 소스 RPM을 가져와서 내 사용을 위해 수정했습니다. /opt/bin/perl 대신에 /usr/bin/perl.다른 공연에서였기 때문에 제가 변경한 내용에 접근할 수 없습니다.그것을 얻는 데 약간의 시간이 걸렸습니다.

작동했지만 저는 RPM 마법사가 아니기 때문에 종속성 검사가 제대로 작동하지 않았습니다.예를 들어, 맞춤 RPM을 제거하고 모든 것을 망칠 수 있습니다.나에게는 큰 문제가 아니어서 계속 진행했습니다.

나는 또한 RPM을 모듈의 CPAN 설치와 혼합하고 있었습니다(우리가 자체 코드로 사용자 정의 CPAN 미러를 구축했다고 언급했습니까?).이것도 좀 취약했어요.다시 말하지만, 구부리는 방법을 알아낼 자원(예: 시간)이 없었습니다. cpan2rpm 내 Perl을 사용하고 RPM 충돌을 일으키지 않으려면.

다시 해야 한다면 맞춤 5.10 Perl RPM을 만들고 시스템 Perl을 교체할 것입니다.그럼 나는 사용할 것이다 cpan2rpm 내 소프트웨어에 필요한 RPM 패키지를 만들고 내 자신의 mod_perl RPM을 컴파일합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top