Kompromisse zwischen aktuellen und sicheren PHP-Paketen auf Produktionsservern?

Kompromisse zwischen aktuellen und sicheren PHP-Paketen auf Produktionsservern?

Ich habe eine Handvoll Produktionsserver, auf denen Centos läuft. Meine Anwendung erfordert eine relativ neue Version von PHP (> 5.2, wenn ich mich recht entsinne). Die derzeit für Centos-Benutzer verfügbaren Optionen sind:

  1. Die offiziellen, gängigen CentOS5/Redhat-Pakete.
    • Vorteile: Am stabilsten, am sichersten, am einfachsten zu installieren – Redhat veröffentlicht regelmäßig Sicherheitsupdates und -hinweise.
    • Nachteile: Pakete sind alt (5.1.6?)
  2. Drittanbieter-Repositorys (wieRemi ColletRepository von)
    • Vorteile: Hochmodern, einfach zu installieren
    • Contra: Unzuverlässig – wir haben früher das Repository von utterramblings verwendet … aber der Typ ist seit über einem Jahr völlig verschwunden. Ich möchte nicht noch einmal so im Stich gelassen werden.
    • Nachteil: Nicht so sicher oder stabil
  3. Verwenden Sie das CentOS-Testrepository
    • Vorteile: Ziemlich aktuelle Version, einfach zu installieren
    • Nachteile: Instabil. Es wird nicht umsonst „Testen“ genannt. Nicht ideal für einen Produktionsserver
  4. Aus der Quelle erstellen (php.net)
    • Vorteile: Auf dem neuesten Stand
    • Nachteile: Arbeitsintensiv, unsicher, instabil

Andere Optionen:

  1. Redhat bietet dieRedhat-Anwendungsstapeldas aktuelle Builds enthält, aber kein CentOS-Äquivalent existiert.
    • Gibt es einen Grund, warum es keine CentOS-Versionen dieser Pakete gibt? Die Quelle muss doch verfügbar sein, oder?
    • Die Quelle muss doch verfügbar sein, oder? Wie schwer wäre es, selbst CentOS-Pakete zu erstellen?
  2. Andere Linux-Distributionen
    1. Debian ist in der Stabilität mit Redhat vergleichbar, bietet aber alte Pakete
    2. Ubuntu bietet neuere, aber weniger stabile/sichere Pakete
    3. Andere?

Meine Frage ist also letztendlich: Gibt es eine gute Quelle für stabile, sichere und regelmäßig aktualisierte PHP-Pakete oder -Quellen (für JEDE Linux-Distribution)? Woher beziehen Sie Ihre Quellen/Binärdateien?

Antwort1

Nur um die Debian-Seite hervorzuheben:

Die vorherige Debian-Version – Etch (8. April 2007) – kam mit PHP 5.2.0.

Die aktuelle Debian-Version – Lenny (14. Februar 2009) – wurde mit PHP 5.2.6 ausgeliefert.

Wenn es während eines Release-Zyklus größere Updates für Pakete geben sollte, sind diese Versionen normalerweise verfügbar unterbackports.orgwenn sie eine nennenswerte Benutzerbasis haben. Eine vollständige Liste der für Lenny verfügbaren Backport-Pakete finden SieHier. Diese Liste ist derzeit relativ kurz, da die letzte Veröffentlichung erst ein paar Monate alt ist.

Um die spezifischen Versionen fürPHPund andere Pakete in Debian, die Sie verwenden könnenpakete.debian.org.

Antwort2

Ich erstelle meine eigenen RPMs, weil ich nicht darauf vertraue, dass Drittanbieter, die sie betreuen, am Leben bleiben.

Es ist ein bisschen mühsam (obwohl ich nur ein paar Pakete erstelle), aber ich weiß, was ich bekomme, wenn ich fertig bin. Ich verwende die Spezifikationsdateien vom Upstream (RHEL / CentOS), passe sie aber bei Bedarf meinen Anforderungen an und ersetze sie durch die Version der Quelle, nach der ich suche (und passe bei Bedarf die Patches des Upstreams an).

Dies erleichtert mir auch meinen Arbeitsablauf, da ich keine Compiler auf Produktionssystemen installieren muss, da ich meine benutzerdefinierten Binärdateien an sie ausliefern kann. Ich mache das auch, um Backports für neuere Pakete auf ältere Betriebssysteme bereitzustellen, wenn ich „feststecke“ und ein älteres Betriebssystem ausführen muss (kein Budget für ein Upgrade usw.).

Wenn Sie SRPMS in die Finger bekommen, ist das Erstellen eines Pakets nicht allzu schwer. (Das Zusammenstellen der Build-Umgebung für ein bestimmtes Paket kann mühsam sein.) Das Erstellen eines RPM aus dem Nichts (d. h. das Schreiben der Spezifikation selbst) ist eine gute Übung, Sie sollten jedoch zuerst einige „professionell“ erstellte Spezifikationsdateien lesen, um ein Gefühl dafür zu bekommen.

Antwort3

Ich kann Ihre Frage nicht wirklich beantworten, aber ich verwende normalerweise die offizielle Quellcode-Version und kompiliere sie dann in einer Entwicklungsumgebung.

Dann erstelle ich einfach mit dem Tool Dpkg ein Paket daraus (ich verwende Debian), aber es sollte eine ähnliche Möglichkeit geben, mit einem RedHat-ähnlichen Betriebssystem ein Paket zu erstellen.

Dann müssen Sie es nur noch auf Ihren Servern verteilen.

Antwort4

Andere Optionen, die eine Überlegung wert sind

verwandte Informationen