프로덕션 서버에서 최신 PHP 패키지와 안전한 PHP 패키지 사이에서 타협하고 계십니까?

프로덕션 서버에서 최신 PHP 패키지와 안전한 PHP 패키지 사이에서 타협하고 계십니까?

Centos를 실행하는 프로덕션 서버가 몇 대 있습니다. 내 애플리케이션에는 상당히 최신 버전의 PHP(> 5.2, IIRC)가 필요합니다. 현재 Centos 사용자가 사용할 수 있는 옵션은 다음과 같습니다.

  1. 공식적인 주류 centos5/redhat 패키지입니다.
    • 장점: 가장 안정적이고 안전하며 설치가 쉽습니다. Redhat은 정기적으로 보안 업데이트 및 권고 사항을 릴리스합니다.
    • 단점: 패키지가 오래되었습니다(5.1.6?)
  2. 제3자 저장소(예:레미 콜레트님의 레포)
    • 장점: 최첨단, 설치 용이
    • 단점: 신뢰할 수 없음 - 우리는 utterramblings 저장소를 사용하곤 했습니다. 하지만 그 사람은 이제 1년 넘게 완전히 MIA 상태였습니다. 나는 다시는 이렇게 건조하고 건조해지는 것을 원하지 않습니다.
    • 단점: 안전하지 않거나 안정적이지 않음
  3. CentOS 테스트 저장소 사용
    • 장점: 최신 버전이며 설치가 쉽습니다.
    • 단점: 불안정하다. 그들은 그것을 괜히 "테스트"라고 부르지 않습니다. 프로덕션 서버에는 적합하지 않음
  4. 소스에서 빌드(php.net)
    • 장점: 최첨단
    • 단점: 노동집약적, 불안전함, 불안정함

다른 옵션:

  1. Redhat은 다음을 제공합니다.Redhat 애플리케이션 스택여기에는 최근 빌드가 포함되어 있지만 이에 상응하는 centos는 없습니다.
    • 이러한 패키지의 CentOS 버전이 존재하지 않는 이유가 있습니까? 소스는 반드시 사용 가능해야 합니다. 그렇죠?
    • 소스가 공개되어야겠죠? Centos 패키지를 직접 구축하는 것이 얼마나 어려울까요?
  2. 다른 리눅스 배포판
    1. 데비안은 안정성 면에서 Redhat과 비슷하지만 오래된 패키지를 제공합니다.
    2. Ubuntu는 더 신선하지만 안정성/보안이 떨어지는 패키지를 제공합니다.
    3. 다른 사람들?

결국 제 질문은 이것입니다: 안정적이고 안전하며 정기적으로 업데이트되는 PHP 패키지 또는 소스(모든 Linux 배포판용)의 좋은 소스가 있습니까? 소스/바이너리는 어디서 얻나요?

답변1

데비안 측면을 강조하자면:

이전 데비안 릴리스인 Etch(2007년 4월 8일)는 PHP 5.2.0과 함께 제공되었습니다.

현재 데비안 릴리스인 Lenny(2009년 2월 14일)는 PHP 5.2.6과 함께 제공됩니다.

릴리스 주기 동안 패키지에 주요 업데이트가 있어야 하는 경우 해당 버전은 일반적으로 다음에서 사용할 수 있습니다.backports.org눈에 띄는 사용자 기반이 있는 경우. Lenny에 사용할 수 있는 백포트된 패키지의 전체 목록을 찾을 수 있습니다.여기. 마지막 릴리스가 불과 몇 달밖에 지나지 않았기 때문에 현재로서는 이 목록이 상대적으로 짧습니다.

특정 버전을 보려면PHP그리고 당신이 사용할 수 있는 데비안의 다른 패키지들packages.debian.org.

답변2

나는 제3자 유지관리자가 지구상에 머물 것이라고 믿지 않기 때문에 나만의 RPM을 구축합니다.

약간 고통스럽기는 하지만(패키지를 몇 개만 빌드하더라도) 작업이 끝나면 무엇을 얻게 될지 압니다. 업스트림(RHEL/CentOS)의 사양 파일을 사용하지만 필요할 때 필요에 맞게 수정하고 찾고 있는 소스의 모든 버전으로 대체합니다(필요한 경우 업스트림 패치 수정).

이는 또한 맞춤형 바이너리를 프로덕션 시스템에 전달할 수 있기 때문에 프로덕션 시스템에 컴파일러를 설치하지 않는 작업 흐름에도 도움이 됩니다. 또한 이전 OS를 실행 중일 때(업그레이드할 예산이 없는 등) 이전 OS에 최신 패키지에 대한 백포트를 제공하기 위해 이 작업을 수행합니다.

SRPMS를 사용할 수 있다면 패키지를 만드는 것이 그리 어렵지 않습니다. (주로 특정 패키지에 대한 빌드 환경을 함께 구성하는 것은 고통스러울 수 있습니다.) 아무 것도 없이 RPM을 빌드하는 것(예: 직접 사양 작성)은 좋은 연습이지만, "전문적으로" 수행한 스펙 파일을 먼저 읽어야 합니다. 그것을 느껴보세요.

답변3

귀하의 질문에 실제로 답변할 수는 없지만 제가 주로 하는 일은 공식 소스 코드 릴리스를 사용한 다음 이를 개발 환경에서 컴파일하는 것입니다.

그런 다음 dpkg 도구를 사용하여 패키지를 작성합니다(저는 debian을 사용하고 있습니다). 하지만 OS와 같은 RedHat을 사용하여 패키지를 작성하는 비슷한 방법이 있어야 합니다.

그런 다음 서버에 배포하기만 하면 됩니다.

답변4

고려해야 할 다른 옵션

관련 정보