Webserver mit Apache2 und PHP4 - was kann bei der Umstellung auf PHP5 passieren?

Apache, Lighttpd, nginx, Cherokee
prometheus
Posts: 56
Joined: 2003-06-20 08:14

Webserver mit Apache2 und PHP4 - was kann bei der Umstellung auf PHP5 passieren?

Post by prometheus »

Grundsätzlich gehe ich davon aus, dass all das was ich momentan unter PHP4 am laufen habe auch unter PHP5 ans Laufen bekomme. Klar kann es passieren was irgendwas nicht 100% kompatibel ist bzw. bei der Installation von PHP5 gewisse Konfigurationen vorgenommen werden müssen. Aber eigenlich denke ich sollte alles laufen.

Blöderweise habe ich auf dem Server inzwischen 12 eigene Projekte laufen sowie 8 weitere von Freunden und noch mal 4 von Kunden. Wenn ich jetzt durch meine Installation diese Projekte still lege und sei es nur für paar Tage dann machen mich zumindest die Kunden einen Kopf kürzer. Das heißt wenn ich das mache möchte ich wenn das möglich ist vorher jede eventualität ausschließen und möchte haar genau wissen wenn der Punkt erreicht ist wo ich den Apache neu starte und PHP5 das erste mal seine Dienste aufnimmt dann keine Fehler auftauchen die mich Stunden an Arbeit kosten oder sogar überfordern.

Deshalb hier kurz meine Erklärung wie ich das machen würde mit der Umstellung und bitte haut mir auf die Finger wenn ihr einen Punkt sehr wo ich einen fehler mache.

1. Vollsicherung vom Server anlegen + php.ini einfach zur seite kopieren um das Original zu erhalten.
2. PHP5 in einen Ordner kopieren etwa wie bei PHP4 nur halt erkennbar als PHP5.
3. Die Konfiguration die ich mir in der Console mittels "php -i" ausgelesen habe als ./configure ... nutzen. Hier mal die Konfiguration nur damit darin keine Fehler sind.
Configure Command => './configure' '--prefix=/usr' '--datadir=/usr/share/php' '--mandir=/usr/share/man' '--bindir=/usr/bin' '--libdir=/usr/share' '--includedir=/usr/include' '--sysconfdir=/etc' '--with-_lib=lib' '--with-config-file-path=/etc' '--with-exec-dir=/usr/lib/php/bin' '--disable-debug' '--enable-inline-optimization' '--enable-memory-limit' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sigchild' '--disable-ctype' '--disable-session' '--without-mysql' '--disable-cli' '--without-pear' '--with-openssl' '--enable-force-cgi-redirect' '--enable-discard-path' '--enable-cli' '--with-pear' 'i586-suse-linux'
4. PHP5 nun mit make und make install installieren.
5. Den Mudulaufruf in der http.conf prüfen damit beim nächsten Start auch das Modul PHP5 geladen wird.
6. Die neue php.ini mit der vorher gesicherten vergleichen und ggf. Anpassungen vornehmen an stellen wo ich irgendwas umgebaut hatte.
7. Ganz tief luft holen und mit "rcapache2 restart" den Apache neu starten.

So und ich hoffe es gibt danach keinen Punkt 8 wo es heißt - Schweißausbrüche bekommen und wie ein irrer nach Lösungen suchen.

Meint ihr diese Vorgehensweise würde funktionieren?

Kann ich falls das doch in die Hose geht in der http.conf einfach wieder das Modul von PHP4 laden um PHP5 zu deaktivieren und PHP4 wieder zu starten?

Ich danke schon mal jedem für die Hilfe und der Rücksicht. Ich weiß eigentlich was ich mache nur ich mache das nicht oft und bin dadurch immer etwas ängstlich.

Roger Wilco
Administrator
Administrator
Posts: 5923
Joined: 2004-05-23 12:53

Re: Webserver mit Apache2 und PHP4 - was kann bei der Umstellung auf PHP5 passieren?

Post by Roger Wilco »

Prometheus wrote:3. Die Konfiguration die ich mir in der Console mittels "php -i" ausgelesen habe als ./configure ... nutzen.
Nur wenn du PHP bisher schon selbst kompiliert hast. Ansonsten sind die Angaben bei phpinfo() bzw. `php -i` schlicht ungeeignet für das was du vorhast.
Prometheus wrote:6. Die neue php.ini mit der vorher gesicherten vergleichen und ggf. Anpassungen vornehmen an stellen wo ich irgendwas umgebaut hatte.
...und dabei die Unterschiede in der Konfiguration von PHP 4 und 5 beachten.

Wenn du PHP via CGI/FastCGI nutzen würdest, könntest du den PHP-Interpreter "on the fly" austauschen und ggf. noch PHP 4 für die Seiten bereitstellen, die Skripte einsetzen, die nicht mit PHP 5 laufen. Wird zusätzliche SuExec/CGIWrap/SuPHP eingesetzt, erhältst du noch einen Sicherheitsgewinn ggü. dem Einsatz des Apache-Moduls. Details verrät die Suchfunktion.

prometheus
Posts: 56
Joined: 2003-06-20 08:14

Re: Webserver mit Apache2 und PHP4 - was kann bei der Umstellung auf PHP5 passieren?

Post by prometheus »

Danke für die schnelle Antwort. Erlaube mir ein paar Fragen dazu.
Nur wenn du PHP bisher schon selbst kompiliert hast. Ansonsten sind die Angaben bei phpinfo() bzw. `php -i` schlicht ungeeignet für das was du vorhast.
Was genau macht das für einen Unterschied ob ich PHP selbst kompiliert habe oder nicht? Die Konfiguration mit der PHP4 bis jetzt läuft sollte doch auch für PHP5 passen und wenn ich dann die Angaben für eine Standard PHP5 Installation die in meiner Konfiguration noch fehlen dazu mache müsste das doch passen oder? Oder kann es passieren das Abhängigkeiten auftauchen die dann verhindern das es funktioniert?
..und dabei die Unterschiede in der Konfiguration von PHP 4 und 5 beachten.
Ich hab mich ungenau ausgedrückt bei dem Punkt. Ich hab in der php.ini eigentlich lediglich umgestellt, dass der safe_mode aktiv ist, das Dateien für Upload 32MB verwenden dürfen und noch 1-2 kleinigkeiten. Das heißt ich muss eigentlich nur in der neuen php.ini diese paar Einstellungen prüfen und bin damit durch.
Wenn du PHP via CGI/FastCGI nutzen würdest, könntest du den PHP-Interpreter "on the fly" austauschen und ggf. noch PHP 4 für die Seiten bereitstellen, die Skripte einsetzen, die nicht mit PHP 5 laufen. Wird zusätzliche SuExec/CGIWrap/SuPHP eingesetzt, erhältst du noch einen Sicherheitsgewinn ggü. dem Einsatz des Apache-Moduls. Details verrät die Suchfunktion.
Das hab ich auch schon gelesen. Allerdings gehe ich davon aus, dass ich diese Möglichkeit nicht nutzen kann. Vor einiger Zeit schon habe ich versucht CGI Skripte zum Laufen zu bekommen und habe es nicht geschafft. Lediglich im Ordner cgi-bin laufen die Skripte aber sonst nirgendwo auf dem Server. Außerdem habe ich irgendwo gelesen, dass die CGI Version spürbar langsamer ist und mehr Resourcen brauchen soll. Ich weiß nicht warum aber wie gesagt irgendwer hat das geschrieben.
Meinst Du mir Suchfunktion die Forumssuche hier? Kannst Du mir einen Suchbegriff geben mit dem ich fündig werde für einen Fall wo ich PHP4 als Modul und PHP5 als CGI auf einem Suse System mit Apache 2.1.x habe? Danke Dir schon mal!

Roger Wilco
Administrator
Administrator
Posts: 5923
Joined: 2004-05-23 12:53

Re: Webserver mit Apache2 und PHP4 - was kann bei der Umstellung auf PHP5 passieren?

Post by Roger Wilco »

Prometheus wrote:Was genau macht das für einen Unterschied ob ich PHP selbst kompiliert habe oder nicht?
Fast alle Binärdistributionen liefern die PHP-Pakete modular aus, die Erweiterungen werden also dynamisch geladen. Infolgedessen wurde der Kern ohne Erweiterungen erstellt. Bei deinem Beispiel im ersten Beitrag fehlt z. B. die MySQL-Erweiterung, der Session-Support und eigentlich so gut wie alle anderen Erweiterungen. Siehe `./configure --help`.
Prometheus wrote:Meinst Du mir Suchfunktion die Forumssuche hier? Kannst Du mir einen Suchbegriff geben mit dem ich fündig werde für einen Fall wo ich PHP4 als Modul und PHP5 als CGI auf einem Suse System mit Apache 2.1.x habe?
"php fastcgi" und "php cgi".

prometheus
Posts: 56
Joined: 2003-06-20 08:14

Re: Webserver mit Apache2 und PHP4 - was kann bei der Umstellung auf PHP5 passieren?

Post by prometheus »

OK das hört sich plausiebel an mit der Konfiguration. Das heißt würde ich das so machen dann geht das wohl mit sicherheit in die Hose.

Mit welchem Suchbegriff finde ich hier am besten Beiträge bei denen eine gute Basiskonfiguration aufgeführt ist wo ich dann lediglich die Spezialitäten hinzu fügen muss die ich in meiner Konfiguration brauche?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11150
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Webserver mit Apache2 und PHP4 - was kann bei der Umstellung auf PHP5 passieren?

Post by Joe User »

Warum nimmst Du nicht einfach die offiziellen openSUSE-Pakete? Lass mich raten: Deine SUSE-Version ist <=10.0 und Dir ist die Sicherheit des Systems egal...

prometheus
Posts: 56
Joined: 2003-06-20 08:14

Re: Webserver mit Apache2 und PHP4 - was kann bei der Umstellung auf PHP5 passieren?

Post by prometheus »

Das System ist tatsächlich älter als Version 10.x. Allerdings heißt das keinesfalls das mir die Sicherheit egal ist. Ich sehe nur nicht ein für 3 Monate wo der Server noch maximal laufen muss jetzt noch mal das Risiko einzugehen den Kernel zu kompilieren und Linux neu aufzusetzen. Der Server wird am 13.12. abgestellt und einige Zeit davor werde ich einen neuen Server haben auf dem soweit ich das jetzt weiß Suse 10.2 drauf sein wird.

Normal könnte ich auch mit dem PHP noch warten denn auf dem neuen Server ist PHP5 drauf wie auch MySQL5 nur ich habe aktuell ein Projekt was PHP5 erfordert und ich möchte mit dem Projektstart nicht warten bis der neue Server da ist.

prometheus
Posts: 56
Joined: 2003-06-20 08:14

Re: Webserver mit Apache2 und PHP4 - was kann bei der Umstellung auf PHP5 passieren?

Post by prometheus »

OK, nennt mich jetzt engstirnig aber ich verstehe nicht warum ihr meint ich würde ein unnötiges Risiko eingehen. Klar das es im Kernel und ggf. anderen Komponenten noch Sicherheitslücken gab die in der 10er Version nicht mehr existieren. Aber was ist denn voraussetzung dafür das jemand diese Lücken nutzen kann? Mein Server wird durch eine Firewall geschützt, hat eine AntiViren Serversoftware drauf, wird alle 24 Stunden auf RootKits geprüft, wird alle 6 Stunden per Backup auf einen separaten Backup Server gesichert und kann laut Prüfung von einem Bekannten um dem Server Hoster auf keinen Fall benutzt werden um andere Server anzugreifen. Ich habe tatsächlich Geld dafür ausgegeben mir die Kiste sicher machen zu lassen da ich schon ein mal Lehrgeld bezahlt habe! Mein erster Server wurde geknackt und missbraucht um andere Server anzugreifen.

Wie dem auch sei, zurück zum Thema. Die Anleitung bzw. das PDF Dokument in dem verlinkten Beitrag ist echt gut erklärt. Ich habe nur noch kurz ein paar Fragen zur Konfiguration.

Muss ich nicht mit der Option für MySQL kompilieren damit das mit dem MySQL auch wieder richtig funktioniert?
Muss ich nicht mit mod_rewrite kompilieren damit das verfügbar ist?
Welche Konfigurationen würdet ihr noch vorschlagen damit wieder alles läuft? Ist das anhand der geposteten Konfiguration erkennbar oder möchte jemand die komplette phpinfo sehen?

Ich hab übrigens eine super Idee wie ich das schaffe php5 nur für ganz bestimmte Webordner aktiv zu haben! Wenn beides parallel läuft muss ich ja z.B. festlegen das die Dateiendung .php und .php4 dem PHP4 zugeordnet ist und nur die Endung .php5 dann eben dem PHP5. Bei jedem Webordner wo ich jetzt PHP5 aktiv haben möchte erstelle ich eine Rewrite Rule in der vhosts.conf damit alle Dateien die auf .php enden umgeschrieben werden auf php5 und schon müsste das ganze von php5 interpretiert werden. Ich hoffe zumindest das das so geht nur so weit bin ich noch nicht.

dtdesign
Posts: 391
Joined: 2006-09-05 21:12
Location: Berlin

Re: Webserver mit Apache2 und PHP4 - was kann bei der Umstellung auf PHP5 passieren?

Post by dtdesign »

Prometheus wrote:Mein Server wird durch eine Firewall geschützt...
LOL
Prometheus wrote:hat eine AntiViren Serversoftware drauf
Wird einen Angreifer mit root-Rechten auch nicht interessieren.

Prometheus wrote:wird alle 24 Stunden auf RootKits geprüft
Dito.
Prometheus wrote:wird alle 6 Stunden per Backup auf einen separaten Backup Server gesichert
Solange dein System nicht kompromitiert ist, ganz nett.
Prometheus wrote:und kann laut Prüfung von einem Bekannten um dem Server Hoster auf keinen Fall benutzt werden um andere Server anzugreifen.
Gaaaaanz sicher?
Prometheus wrote:Muss ich nicht mit der Option für MySQL kompilieren damit das mit dem MySQL auch wieder richtig funktioniert?
Wenn du es ohne kompilierst, hast du auch kein MySQL. Obwohl, per Extension müsste auch gehen...
Prometheus wrote:Muss ich nicht mit mod_rewrite kompilieren damit das verfügbar ist?
mod_rewrite hat nix mit PHP zu tun.
Prometheus wrote:Welche Konfigurationen würdet ihr noch vorschlagen damit wieder alles läuft? Ist das anhand der geposteten Konfiguration erkennbar oder möchte jemand die komplette phpinfo sehen?
Am Besten gleichst du das mit den Voraussetzungen der PHP-Applikationen ab.
Prometheus wrote:Ich hab übrigens eine super Idee wie ich das schaffe php5 nur für ganz bestimmte Webordner aktiv zu haben! Wenn beides parallel läuft muss ich ja z.B. festlegen das die Dateiendung .php und .php4 dem PHP4 zugeordnet ist und nur die Endung .php5 dann eben dem PHP5.
Damit hast du das Rad - ehrlich gesagt - neu erfunden.
Prometheus wrote:Bei jedem Webordner wo ich jetzt PHP5 aktiv haben möchte erstelle ich eine Rewrite Rule in der vhosts.conf damit alle Dateien die auf .php enden umgeschrieben werden auf php5 und schon müsste das ganze von php5 interpretiert werden. Ich hoffe zumindest das das so geht nur so weit bin ich noch nicht.
mod_rewrite schreibt URLs um.

Gruß
dtdesign

prometheus
Posts: 56
Joined: 2003-06-20 08:14

Re: Webserver mit Apache2 und PHP4 - was kann bei der Umstellung auf PHP5 passieren?

Post by prometheus »

Die Diskusion über die Sicherheit meines Servers stellen wir mal ein denke ich. Ich weiß das die Kiste sicher genug ist und hier scheint jeder es besser zu wissen ohne überhaupt den Server von innen gesehen zu haben. Darum geht es in dem Thema ja auch nicht.

Inzwischen habe ich allerdings eine Hürde gefunden die ich nicht bereit bin auch noch zu beheben. Die Web Anwendung die ich unbedingt ans Laufen bekommen möchte benötigt eine neuere MySQL Version als wie ich habe und ich bin nicht bereit das auch noch neu zu installieren. So viel Zeit habe ich nicht das ich hier tagelang irgendwelche Dienste neu installieren kann. Mal sehen vielleicht mache ich das mit dem neuen Server dann doch früher damit ich das ganze schneller umsetzen kann. Danach sehen wir mal weiter.

Danke trotzdem aber für die Hilfen.

dtdesign
Posts: 391
Joined: 2006-09-05 21:12
Location: Berlin

Re: Webserver mit Apache2 und PHP4 - was kann bei der Umstellung auf PHP5 passieren?

Post by dtdesign »

Prometheus wrote:Die Diskusion über die Sicherheit meines Servers stellen wir mal ein denke ich. Ich weiß das die Kiste sicher genug ist und hier scheint jeder es besser zu wissen ohne überhaupt den Server von innen gesehen zu haben.
Sicherheit ist ein Wettlauf zwischen Angreifer und Verteidiger. Schon immer gewesen. Kannst ja zu den von mir angesprochen Themen hier suchen.
Prometheus wrote:Darum geht es in dem Thema ja auch nicht.
Wenn du dir einen neuen Server installieren und konfigurieren willst, dann solltest du soetwas im Hinterkopf behalten. Es war nichtmal ein persönlicher Angriff auf dich, sondern jeglich die nüchterne Wahrheit.
Prometheus wrote:Inzwischen habe ich allerdings eine Hürde gefunden die ich nicht bereit bin auch noch zu beheben. Die Web Anwendung die ich unbedingt ans Laufen bekommen möchte benötigt eine neuere MySQL Version als wie ich habe und ich bin nicht bereit das auch noch neu zu installieren.
Also willst du sie dann doch nicht zum laufen bringen. Entweder machst du es richtig, sprich vollständig oder du lässt es ganz sein. Ein bisschen hier und ein bisschen da ist kontraproduktiv und sehr suboptimal.
Prometheus wrote:So viel Zeit habe ich nicht das ich hier tagelang irgendwelche Dienste neu installieren kann.
Wenn du die Anwendung wirklich willst... 10 Minuten mehr oder weniger machen den Braten auch nicht mehr fett.
Prometheus wrote:Mal sehen vielleicht mache ich das mit dem neuen Server dann doch früher damit ich das ganze schneller umsetzen kann. Danach sehen wir mal weiter.
Gute Idee, aber lass dir auf jeden Fall viel Zeit. Schön Stück für Stück. Und streiche Firewall im Bezug auf Sicherheit aus deinem Wortschatz :P

Gruß
dtdesign

prometheus
Posts: 56
Joined: 2003-06-20 08:14

Re: Webserver mit Apache2 und PHP4 - was kann bei der Umstellung auf PHP5 passieren?

Post by prometheus »

Nun ja, wenn es 10 Minuten mehr oder weniger währen dann würde ich das jetzt sofort machen. Nicht weil es sein muss sondern weil ich diese Webanwendung testen möchte da darauf ein Projekt aufbauen soll. Ist die Anwendung nicht das richtige muss ich weiter suchen wobei es kaum alternativen gibt. Ich betreibe zwar jetzt seit 5 Jahren einen Root Server und kümmere mich auch alleine darum aber trotzdem bekomme ich das Update auf PHP5 und MySQL nicht hin und sei es nur dadurch das ich panik hab was falsch zu machen. Und jetzt noch mal jemand bezahlen das bringt es auch nicht für das gleiche Geld kann ich morgen noch den neuen Server bestellen.

Was die Sicherheit angeht so habe ich mit dem neuen Server Anbieter schon gesprochen und deren haupt Techniker wird mir die Kiste soweit es ihm möglich ist sicher machen und mir auch protokollieren was er getan hat. Das kostet mich zwar 2 Arbeitsstunden zu je 69 Euro aber für die knapp 140 Euro ist die Kiste dann besser abgesichert als ich das vorerst alleine hin bekommen würde. Dennoch werd ich natürlich dann noch nachlesen welche Mechanismen es noch gibt die der Techniker nicht umgesetzt hat. Anders war das bei meinem jetzigen Server ja auch nicht. Da hab ich sogar über die fast 2 Jahre gesamt 400 Euro investiert einmal zum absichern und zum überprüfen.

Ich hab das übrigens nicht als persönlichen Angriff verstanden. Das war positiv gemeinte Kritik. Nur auch wenn ich nicht 100% genau erklären kann welche Mechanismen auf meinem Server aktiv sind heißt das nicht das ich Einladungen an Hacker verteile die meinen Server knacken sollen. Ich hab wie gesagt schon ein mal Lehrgeld bezahlt.

So, ich ärger mich jetzt noch ne Runde das ich die Anwendung noch nicht sofort testen kann und hau mich auf die Couch.

Übrigens nur damit hier nicht mal der Eindruck entsteht ich sein der komplette n00b was das ganze betrifft. Ich bin (leider) ehr in der Windows Welt zuhause und hab sogar einen MCSE und so. Linux kommt nur leider beim MCSE nicht vor und bei den Entwicklerschulungen haben wir Linux nur am Rande behandelt.