Apache2 + php4

rbrinkmo

Well-Known Member
Ich versuche mich derzeit an einer Apache2 + php4 Installation.
Der Indianer ist ja kein Problem. Hingegen krampfe ich mit der php-Unterstützug.
Zunächst hatte ich zwangsläufig php5 installiert weil 4 nicht unter lang zu finden war und lang/php kein "make install" zuließ.

Dann stieß ich auf diesen Thread: http://www.bsdforen.de/showthread.php?t=13200
Also erstmal die dort empfohlene Installationen durchgeführt. Leider habe ich mich erst anschliessend darüber informiert was suphp ist (obwohl es ja der Name sagt). Dann entschieden ... das will ich nicht.
Was ich will ist eine einfache, lokale Umgebung in der ich libphp4.so (notfalls auch libphp5.so - aber nur wenn es kein 4er gibt) lade. Aber wo ist libphp4.so?

Das kann doch nicht so kompliziert sein. Weder finde ich "das Apache2 module Verzeichnis" noch die libphpX.so.
Vielleicht bin ich derzeit auch nur etwas zu ungeduldig. Aber selbst Google brachte mir nicht die gewünschten Informationen.

Wäre nett wenn mir jemand auf den richtigen Weg hilft.
 
Ich verstehe nicht, warum Du so unbedingt PHP4 instalieren willst? Die 5er ist doch scho lang stabil und funktioniert gut :)

Die Module vom Indianer findest du unter /usr/local/apache2/libexec oder /usr/local/libexec, wenn ich mich nicht irre.
 
k3rn3lpanic schrieb:
Ich verstehe nicht, warum Du so unbedingt PHP4 instalieren willst? Die 5er ist doch scho lang stabil und funktioniert gut :)

Die Module vom Indianer findest du unter /usr/local/apache2/libexec oder /usr/local/libexec, wenn ich mich nicht irre.

Die 4er sollte es sein um eine bestehende Umgebung annähernd identisch nachzustellen und Anpassungen/Migrationen zu testen und vorzubereiten.

An den genannten Stellen habe ich schon geschaut. Da ist nichts. Ich habe sogar explizit den gesamten Rechner nach libphp4.so durchsucht. Nix da. Weder gibt es unter /usr/local ein apache2 noch httpd geschweige denn ein libexec Verzeichnis.

Ich verwende unter NetBSD 3.0 die pkgsrc-2005Q4.tar.gz

Sollte nach der Installation von www/apache2 und www/php4 per "make install" bereits das modul libphp4.so vorhanden sein oder übersehe ich etwas, habe ich etwas vergessen?
 
In der pkgsrc 2006Q1 muesste /lang/php php4 sein und /lang/php5 sagt schon der Name.

Die pkgsrc installiert standardmaessig in /usr/pkg/... was bringt denn ein $whereis httpd?
Ansonsten mit find oder mc nach httpd suchen
 
SierraX schrieb:
In der pkgsrc 2006Q1 muesste /lang/php php4 sein

Das hatte ich schon bei der pkgsrc 2005Q4 angenommen. Aber, wie gesagt, aus dem Verzeichnis läuft kein "make install" (da ist auch kein Makefile drin - es erscheint mir etwas unvollständig).

SierraX schrieb:
und /lang/php5 sagt schon der Name.

Stimmt. Aber die nützt mir nur bedingt. Abgesehen davon, dass ich nach der Installation auch hierfür keine libphp5.so finde.

SierraX schrieb:
Die pkgsrc installiert standardmaessig in /usr/pkg/... was bringt denn ein $whereis httpd?
Ansonsten mit find oder mc nach httpd suchen

Die httpd Datei liegt unter /usr/pkg/sbin.
Die httpd.conf unter /usr/pkg/etc/httpd

Edit: Zwar ist mir während der Installation nichts aufgefallen, vielleicht gab es aber ein Problem und eine De- und Neuinstallation behebt das Problem.
Müsste nach eurer Erfahrung ein apache2 und ein modules Verzeichnis so wie eine libphp4.so Datei nach der Installation von www/apache2 und www/php4 vorhanden sein?
 
Ah, entschuldige wegen der Pfade... ich dachte aus irgendeinem Grund, wir waeren unter FreeBSD taetig, Verzeihung :)
 
:belehren:
Code:
cd /usr/pkgsrc/meta-pkgs/php-extensions-5.1nb3 && make install clean clean-depends
für php5 //die Version kann bei Dir ja ein bisschen verschieden sein...
Code:
cd /usr/pkgsrc/meta-pkgs/php-extensions-4.4nb6 && make install clean clean-depends
für php4 //die Version kann bei Dir ja ein bisschen verschieden sein...
 
Wie jetzt? php also nicht nur unter lang und www sondern auch noch unter meta-pkgs? Naja, warum nicht.

Danke für den Tipp. Ich werde es heute Abend mal testen.
 
Wie jetzt? php also nicht nur unter lang und www sondern auch noch unter meta-pkgs?

Nein, nicht auch noch. Das Metapaket faßt natürlich Dinge zusammen. Wenn man lang/php baut hat man die Sprache... Will man noch so Dinge haben wie die Indianer-Module, dann nimmt man besser das Überpaket. =)
 
[LoN]Kamikaze schrieb:
Die Liste der PHP5 Funktionen die inkompatibel zu PHP4 sind.

http://www.php.net/manual/en/migration5.incompatible.php

Du wirst sehen, sie ist lächerlich kurz.

Das ist nicht das Thema/Problem.

1. Habe ich auch für PHP5 kein libphp5.so (Aber da hat sheep mich inzwischen aufgeklärt)

2. Die lokale Installation soll eine Testumgebung für einen Server wiederspiegeln. Dort habe ich keinen Einfluss auf die Version. Somit nützt es mir wenig wenn es lokal unter PHP5 läuft und anschliessend unter 4 auf dem Server nicht mehr.

3. Vertraut jemandem doch mal wenn er sagt, dass er eine ältere Version benötigt ;) Obwohl, ok, der Hinweis kann auch schon mal nützlich sein.
 
Moin rbrinkmo,

ich habe hier auch PHP5 als Modul und bin zufrieden damit. Aber egal, ich habe pkgsrc unter Solaris im Einsatz und bei mir liegt das PHP5-Modul in /usr/pkg/lib/httpd/mod_php5.so. Vielleicht hilft dir das weiter.

Gruß c.
 
crotchmaster schrieb:
... Aber egal, ich habe pkgsrc unter Solaris im Einsatz und bei mir liegt das PHP5-Modul in /usr/pkg/lib/httpd/mod_php5.so. Vielleicht hilft dir das weiter.

Danke für den Hinweis.
Dann weiss ich schon mal wo es nach der meta-Installation zu finden sein sollte,
 
Nun gut. Ich habe nun dankbar den Empfehlungen von *Sheep folge geleistet und die genannten meta-pkgs installiert.
Das sah auch so weit gut aus, was an .so Dateien gebaut wurde.

Nach der Installation habe ich aber nur eine libphp4.so unter
/usr/pkgsrc/www/ap-php/work/php-4.4.1/libs/
???

Und nun? kann ich diese Verwenden? Einfach darauf verweisen (auf pkgsrc)?
ap-php ... nicht ap2-php ?

Aus irgendeinem Grund scheine ich den Wald vor lauter Bäumen nicht zu sehen.
Moment. Ich glaube ich sollte mir noch einmal die mk.conf anschauen.
Bis dahin bin ich für weitere Ratschläge dankbar.
 
Wie wäre es mit manuell kompilieren und apxs2 verwenden? Dann
kannst du dir das herumeditieren an der httpd.conf ersparen und
die libphp4.so wird automatisch in den richtigen Ordner kopiert.
 
meáigh schrieb:
Wie wäre es mit manuell kompilieren und apxs2 verwenden? Dann
kannst du dir das herumeditieren an der httpd.conf ersparen und
die libphp4.so wird automatisch in den richtigen Ordner kopiert.

Beim googlen bin ich auch schon irgendwo auf apxs2 gestossen (ich glaube das war im Zusammenhang mit Debian Sarge).
Dieses apxs liegt unter /usr/pkg/sbin. Zumindest glaube ich mir halbwegs darüber im klaren zu sein wie es anzuwenden ist. Die Ausführung bzw. der Aufbau der ./configure Parameter dürfte kaum anders als unter Linux sein.

Das ganze muss aber doch auch einfacher gehen. Hey, das ist hier doch NetBSD pkgsrc ;)

Ein "make install" von "www/apache2", "www/php4" und von mir aus noch "meta-pkgs/php4-extensions" müsste doch alle benötigten Dateien liefern.
Nach einer Anpassung der httpd.con und ggf. noch php.ini sollte das ganze dann laufen.

Gibt es denn nirgdens eine Anleitung oder Hinweise?
Die einzigen Infos die ich finde beziehen sich auf Linux und ein paar wenige noch auf FreeBSD.
Hier scheint es an NetBSD-Doku zu fehlen.

meáigh schrieb:
... und die libphp4.so wird automatisch in den richtigen Ordner kopiert.
Welches wäre denn der richtige Ordner? Wenn ich das schonmal wüsste, müsste ich nicht immer die ganze Platte durchsuchen.
 
rbrinkmo schrieb:
Welches wäre denn der richtige Ordner? Wenn ich das schonmal wüsste, müsste ich nicht immer die ganze Platte durchsuchen.
Normalerweise gehört das Modul nach */ServerRoot/modules. Der ServerRoot sollte
eigentlich /usr/local/apache2 sein, ich habe aber keine Ahnung, wie das bei den Pa-
keten aussieht, die du für pkg_src gezogen hast.

Ansonsten kannst du noch in der httpd.conf nachschauen, was als "ServerRoot" ein-
getragen ist ;)
 
meáigh schrieb:
Normalerweise gehört das Modul nach */ServerRoot/modules. Der ServerRoot sollte
eigentlich /usr/local/apache2 sein, ich habe aber keine Ahnung, wie das bei den Pa-
keten aussieht, die du für pkg_src gezogen hast.

Ansonsten kannst du noch in der httpd.conf nachschauen, was als "ServerRoot" ein-
getragen ist ;)

Und genau da ist der Hase im Pfeffer begraben. Demnach ist ServerRoot /usr/pkg was meiner Meinung nach schon nicht ganz sinnvoll ist. Eher würde ich es unter /usr/pkg/apache2, /usr/pkg/httpd oder entsprechend deinem Rat unter /usr/local/apache2 erwarten.
Die httpd.conf liegt dabei unter /usr/pkg/etc/httpd. Irgendwie ungewohnt diese Aufteilung.

Die Datei apachectl und die httpd executable finde ich unter /usr/pkg/sbin.
 
rbrinkmo schrieb:
....irgendwie ungewohnt diese Aufteilung...
Und genau deswegen verabscheue ich Paketinstallationen
blinx15x18.gif
 
Zurück
Oben