PHP 5.2.0 compile: make install nicht nach /usr/lib/apache/1.3 sondern /mein/pfad ???

Apache, Lighttpd, nginx, Cherokee
hippisoul
Posts: 4
Joined: 2006-11-20 22:51

PHP 5.2.0 compile: make install nicht nach /usr/lib/apache/1.3 sondern /mein/pfad ???

Post by hippisoul » 2006-11-20 23:29

Hallo,

Tach erstmal! Hoffe, kann hier mal reinplatzen, ich hoffe, ich kann auch was beitragen langfristig :o

Ich gebe zu, ich habe nicht genug Ahnung von der GNU Build-Umgebung, daher komme ich nicht ganz klar mit dem aktuellen "make install" aus den PHP 5.2.0 Sourcen...

Worum gehts?

Ich kompiliere php 5.2.0 auf Debian Sarge - keine Probleme, läuft auch, aber da ich einige Kombinationen von Extensions in Verbindung mit dem Suhosin-Patch testen möchte, erzeuge ich mir viele unterschiedliche libphp5.so - das Blöde ist nur, dass mir ein make install die libphp5.so IMMER nach /usr/lib/apache/1.3 reinschreiben will...

generell kein ungeheures problem, aber da liegt halt schon was anderes, ausserdem kommt apt ein wenig durcheinander, wenn da plötzlich was "fremdes" rumliegt... daher hätte ich gerne make dazu gebracht, dass er die libphp5.so in /mein/eigenes/verzeichnis legt, dann ist das ganze auch besser zu automatisieren...

Wahrscheinlich total einfach...

Ich hab schon versucht --libexecdir zu setzen, bringt aber nix, ebenfalls das setzen einer $LIBEXEC Umgebungsvariable... zum Haareraufen... leider bin ich mit den autotools nicht so fit... welche kleine Änderung muss ich vornehmen???

achso, ja, ich benutze auch --prefix=/mein/dir und --with-apxs

trotzdem beharrt make install auf dem debian apache modul verzeichnis und will nicht dahin, wo ich will... seufz...

ich danke für die Aufmerksamkeit!

Love & Peace,
Magma Baba

pennywize
Posts: 59
Joined: 2006-07-22 13:39

Re: PHP 5.2.0 compile: make install nicht nach /usr/lib/apache/1.3 sondern /mein/pfad ???

Post by pennywize » 2006-11-21 00:22

Schluck... sehr verworren was du da machen willst

--with-apxs=... erstellt dir ein PHP5 Modul in das Modulverzeichnis
--prefix=/dein/pfad ein CGI Paket in das Verzeichnis deiner Wahl

Beides auf einmal würde ich nicht im Configure eintragen. Wenn du schon ein Binary (CGI) erstellst, mußt du deine httpd.conf anpassen.

make install erstellt dir dann PHP in das Verzeichnis, aber wie gesagt die Direktiven müssen stimmen in der Apache config.
generell kein ungeheures problem, aber da liegt halt schon was anderes, ausserdem kommt apt ein wenig durcheinander, wenn da plötzlich was "fremdes" rumliegt...
???

Was´n das für ein Kauderwelsch? Was hat apt den damit zu tun wenn selbst ein Modul baust? *Kopfkratz*
Es widerspricht jeglich logischem Denken ein Modul selbst zu bauen und anschließend per apt ein neues zu installieren ](*,)
Bin zwar jung, blond, weiblich ... bitte um Aufklärung!

hippisoul
Posts: 4
Joined: 2006-11-20 22:51

Und nochwas: nicht in htpd.conf reinschreiben...

Post by hippisoul » 2006-11-21 00:39

Und nochwas zum make install:

wie kann ich verhindern, dass mir das make install in die vorhandene httpd.conf reinschreiben will?

Das ganze läuft wohl darauf hinaus, sich ein eigenes make install für die php sourcen zu erzeugen, wenn mir da jemand einen Hinweis geben könnte (ja, ich weiss: lerne make, autoconf usw. zu verstehen... ich bin dabei...)

Der nächste Schritt wäre dann die Erstellung von deb-paketen, die auch alle Abhängigkeiten berücksichtigen, so dass man auf ein cleanes debian-31r0a-i386-netinst-kernel2.6 image seine selbst erzeugten pakete übertragen kann... gibts dazu irgendwo ein howto?

DANKE!

Baba

sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf

Re: PHP 5.2.0 compile: make install nicht nach /usr/lib/apache/1.3 sondern /mein/pfad ???

Post by sledge0303 » 2006-11-21 00:52

wie kann ich verhindern, dass mir das make install in die vorhandene httpd.conf reinschreiben will?
Dein Betriebssystem geht davon aus, wenn der User sich ein Modul installiert es auch nutzen zu wollen... :roll:
Du kannst nach dem make install den "LoadMoule..." Eintrag auskommentieren.


Das ganze läuft wohl darauf hinaus, sich ein eigenes make install für die php sourcen zu erzeugen, wenn mir da jemand einen Hinweis geben könnte
make install neu machen?
Dir sagt sicher ./configure etwas, oder?

Der nächste Schritt wäre dann die Erstellung von deb-paketen, die auch alle Abhängigkeiten berücksichtigen, so dass man auf ein cleanes debian-31r0a-i386-netinst-kernel2.6 image seine selbst erzeugten pakete übertragen kann... gibts dazu irgendwo ein howto?
Wenn Du noch nicht mal in der Lage bist ein Modul fehlerfrei und sinngemäß zu installieren, wie willst ein DEB bauen?

Hast Du schon die Rules für dieses Forum gelesen?
http://www.rootforum.org/terms.html

Ich hoffe nur Du willst nicht online gehen mit einem Server ohne irgendwelche Kenntnisse in Sachen Linux.

lucki2
Posts: 427
Joined: 2006-10-03 01:31

Re: PHP 5.2.0 compile: make install nicht nach /usr/lib/apache/1.3 sondern /mein/pfad ???

Post by lucki2 » 2006-11-21 12:47

@pennywize, das ist überhaupt nicht verworren, sondern ziemlich klar.
Was´n das für ein Kauderwelsch? Was hat apt den damit zu tun wenn selbst ein Modul baust? *Kopfkratz*
Hallo: "Softwareverteilung" - klingelt`s?
Streng nach fhs gibt es nur zwei Plätze, wo Du nicht darauf achten mußt: /usr/local und /opt. Das hat apt damit zu tun! Andersherum hat apt,RPM... an den beiden Stellen wenig verloren ... Ganz richtig, was baba sagt ... Klar auch eine Aufwandsabschätzung aber erstmal ist das richtig was Baba sagt und danach kommt die Aufwandsabschätzung, die evtl. ergibt: lohnt sich nicht. <flame KIND="RETOUR" >Mit dem Kopf gegen Die Wand rennen tut schon noch weh, oder schon abgestorben? :wink: </flame>

@baba
Nur mit einem hast Du nicht recht, Baba: Du mußt wirklich installieren und Änderungen in der Konfiguration festhalten. Denn Du brauchst sie, wenn Du das Paket über apt installierst und Du mußt sie rückgängig machen, wenn Du es deinstallierst(wolltest Du das nicht wäre Paket bauen mehr ein Fall für ABM). Außerdem wirst Du testen wollen, bevor Du ein Paket rollst? Deswegen ist für so etwas eine Bastelumgebung gut. Eine Chroot mit debootstrap und darin alles so weit installieren. Dann kannst Du auch die gesammte chroot einfach in ein tar.bz packen, und gegegebenenfalls wieder rückgängig machen, Änderungen vergleichen .... Wenn Du das hast, ist eigentlich alles gut.

Zum Pakete bauen gibt es Bei Debian in der newmaintainer Ecke was http://www.debian.org/doc/maint-guide/ hilft Dir vielleicht (aber Google findet auch viel - wirklich) ...

sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf

Re: PHP 5.2.0 compile: make install nicht nach /usr/lib/apache/1.3 sondern /mein/pfad ???

Post by sledge0303 » 2006-11-21 14:15

Ich will mich ja nicht Eurem niedrigen Diskussions- bzw. Flameniveau anpassen, deswegen recht gewählte Worte:

Wir sind 3 Dozenten und ein Admin vor dem Bildschirm und jeder hat sich unabhängig voneinander die Anfrage des OP durchgelesen.
Ergebnis war und ist, man konnte nach 2 maligem Lesen der Anfrage erahnen was der User möchte.
Der Weg WIE er es erreichen möchte ist nicht nachvollziehbar. Soweit zum Thema DEB/RPM bauen und einem klitzekleinen SPEC File.
Es ist halt so wie immer, jemand stellt eine schlecht formulierte Frage mit dem Ergebnis, einer meint sie verstanden zu haben und der andere interpretiert sie als Unfug/Kauderwelsch/Schwachfug/ohne Grundlagenwissen...

Auch so ist meine nächtliche Antwort zu diesem Thread begründet und belasse es hiermit auch lieber, siehe Einleitung...:roll:

lucki2
Posts: 427
Joined: 2006-10-03 01:31

Re: PHP 5.2.0 compile: make install nicht nach /usr/lib/apache/1.3 sondern /mein/pfad ???

Post by lucki2 » 2006-11-21 15:02

Ich will auch da gar nicht weiter einsteigen. Nur ein wenig Wogen glätten.
Adressat des so kennzeichneten und sicher nicht als böse zu wertenden Flames warst nicht Du, Sledge. Es war bezogen auf das Emoticon oben. Auf Dein Posting von oben war ich nicht eingegangen und finde es auch nicht notwendig das zu tun. Pennywize möge die wenigen Flame Worte nicht als böse gemeint werten, sondern in Bezug auf das Emoticon. Wenn pennywize sich wider Erwarten denoch darüber ärgert: meine ehrliche Entschuldigung. Der Rest meines Postings(abseits des Gekennzeichneten) war informativ.

Ich bin Admin und Programmierer. Letzteres mache ich seit 20 Jahren ersteres etwa 5 Jahre, erste Linuxschritte vor ca. 10 Jahren. Ich bilde mir nicht ein alles zu können oder zu Wissen, mache immer wieder Fehler und lerne daher gerne dazu. Bin immer wieder beeindruckt vom Können Anderer, die über ein mir schier unergründliches Wissen verfügen. Mit respektvollem Gruß an Deine Kollegen.

captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: PHP 5.2.0 compile: make install nicht nach /usr/lib/apache/1.3 sondern /mein/pfad ???

Post by captaincrunch » 2006-11-21 15:55

daher hätte ich gerne make dazu gebracht, dass er die libphp5.so in /mein/eigenes/verzeichnis legt, dann ist das ganze auch besser zu automatisieren...
Abgesehen von den ganzen anderen Dingen hier (und ohne es jetzt extra getestet zu haben):
Probier's doch einfach mal mit "make PREFIX=/dein/dir install".
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf

Re: PHP 5.2.0 compile: make install nicht nach /usr/lib/apache/1.3 sondern /mein/pfad ???

Post by sledge0303 » 2006-11-21 15:56

Nichts für ungut, Lucki2. Ich bin jedenfalls noch nicht so lange als Dozent für Linuxgeschichten tätig. Um genau zu sein sind es knappe 2.5 Jahre. Ich fing als Admin und Dozent für Windows XP/2k/2k3 an.
Ich hatte zwar einen eigenen Linuxroot zu laufen, wusste auch zu diesem Zeitpunkt wie er zu konfigurieren und administrieren ist.
Als ein Kollege langfristig krank wurde, sein Kurs nicht mehr abgesagt werden konnte, musste ich kurzfristig einspringen.
Meine Möglichkeiten waren begrenzt und habe parallel neben dem zu lehrenden Stoff alles zu Hause selbst vorher ausprobiert - quasi selbst beigebracht. Anschließend festgestellt wie *unsicher* mein damaliger Root trotz erfolgloser Angriffe war. Eben Kleinigkeiten die vorher nicht so beachtet wurden.
Apache, Postfix und MySql sind nicht das Problem gewesen, aber einige Sachen/Tools die tiefer ins Detail gingen.

Heutzutage bekomme ich schon eine lange Nase wenn XP für einen Tag angesagt ist ;)

Man lernt, teilweise gezwungenermaßen, tagtäglich hinzu. Gerade in diesem Forum findet man Problemlösungen/Ansätze an die man nicht einmal im Traum gedacht hat...

lucki2
Posts: 427
Joined: 2006-10-03 01:31

Re: PHP 5.2.0 compile: make install nicht nach /usr/lib/apache/1.3 sondern /mein/pfad ???

Post by lucki2 » 2006-11-21 16:19

Angeben wollte ich eigentlich auch nicht. In den 20 Jahren sind kleine Jobs ,die ich neben der Schule gemacht habe(Angefangen bei einem Vokabeltrainer, den ich an die Mitschüler verkauft habe und so was... klar) später Studium und so was drin. Will mich nicht besser oder älter machen als ich bin ... ist halt so ein Profildatum ;)

hippisoul
Posts: 4
Joined: 2006-11-20 22:51

* SOLVED* trotz seltsamer Antworten

Post by hippisoul » 2006-11-21 17:47

Hallo zusammen,

also ich muss schon sagen, das sind wirklich etwas blamable Antworten für ein "rootforum" - lucki2 reisst Euch da wieder raus, der hat verstanden, worum es eigentlich geht. Danke für den sinnvollen Hinweis!

Die anderen: ich will Euch nicht zu nahe treten, aber warum werdet Ihr denn gleich so persönlich und aggressiv - nur weil Ihr überhaupt nicht nachvollziehen könnt, worum es überhaupt geht??? Die Arroganz hinter den Antworten ist schon befremdlich...

Zum Thema:

Natürlich gehts um Software-Verteilung und Tests, konkret interessiert mich die Wirkung unterschiedlicher Kombinationen von Extensions in Zusammenhang mit dem Suhosin-Patch und diverser Kompiler-Flags.

Der Kern des von mir erwähnten Problems ist eindeutig zu identifizieren: apxs. Anstatt an meiner geistigen Gesundheit zu zweifeln hätte das geneigte Gross-Dozententum aufgrund meiner Anfrage dieses sofort erkennen müssen, wenn es seine Position durch Kompetenz untermauern wollte (ist leider selten in DE).

apxs macht drei Sachen im Build-Prozess:

- es liefert Informationen über das "richtige" Apache Modul-Verzeichnis (LIBEXECDIR)
- es installiert libphp5.so in dieses "richtige" Verzeichnis
- es modifiziert die htpd.conf

Blöderweise sind die Optionen, welche dieses Verhalten steuern, scheinbar fest verdrahtet in der "configure" Datei des aktuellen PHP Releases, das gilt zumindest für die Option -a für apxs.

Das LIBEXECDIR sollte eigentlich per Umgebungsvariable setzbar sein, das geht hier aber aus irgendeinem Grunde nicht, möglicherweise ist da was "im Sack" - ein kurzer Blick ins "configure" reichte bisher noch nicht, um das abschliessend zu klären.

Da aber schon die hardcodierte apxs -a Option das Erreichen des gewollten Ziels verunmöglicht, kann man sich behelfen, indem man das resultierende Makefile patcht, die Zeilen in denen APACHE_INSTALL und INSTALL_IT definiert werden erzeugen bei entsprechender Modifikation das gewünschte Verhalten. Bei der Gelegenheit kann man dann noch einen Wunschpfad für EXTENSION_DIR angeben, damit man auch bei Mehrfach-Installationen den Überblick behält:

Code: Select all

XXX_LIB=/usr/local/opt/php-5.2.0-su/lib/apache
XXX_LIB_EXT=/usr/local/opt/php-5.2.0-su/lib

APACHE_INSTALL = $(mkinstalldirs) '$(XXX_LIB)' && $(mkinstalldirs) '$(INSTALL_ROOT)/etc/apache' && apxs -S LIBEXECDIR='$(XXX_LIB)' -S SYSCONFDIR='$(INSTALL_ROOT)/etc/apache' -i -n php5 libs/libphp5.so

INSTALL_IT = $(mkinstalldirs) '$(XXX_LIB)' && $(mkinstalldirs) '$(INSTALL_ROOT)/etc/apache' && apxs -S LIBEXECDIR='$(XXX_LIB)' -S SYSCONFDIR='$(INSTALL_ROOT)/etc/apache' -i -n php5 libs/libphp5.so
Sicherlich nicht die sauberste Lösung, aber für den Moment tut es das, was ich brauche.

Mir scheint auch das PHP Buildsystem etwas optimierungsbedürftig, alle Architekturen in einer Datei, ständige Wiederholungen... schaut Euch einfach mal das configure an, dann versteht Ihr, was ich meine.

DAS war die richtige Antwort auf meine Frage.

Superdozenten und Blondinen stellen sich jetzt bitte in die Ecke für eine Stunde und sagen 10000 mal das Mantra "Ich reisse nicht mehr das Maul auf, wenn ich nicht begreife, was andere da machen, denn damit beweise ich nicht nur meine Unverschämtheit, sondern auch meine Unkenntnis."

Kleiner Hinweis noch, das hat jetzt überhaupt gar nichts mit dem Thread hier zu tun, ist aber eine interessante Wahrnehmung: meinem selbstgewählten Nick entsprechend reise ich recht häufig durch die Welt - und es stimmt, was viele überall auf der Welt von den Deutschen denken - in keinem anderen Land ist die katastrophale Vereinigung von Dummheit und Arroganz so weit fortgeschritten wie hier in DE. Selbst die Amis sind wenigstens noch höflich, auch wenn Sie eine andere Meinung haben oder mal nicht verstehen, wovon man redet... ok, die Sache mit den Bomben ist was anderes, führt jetzt zu weit...

Für lucki2 würde ich dann mal den Ehrenretter-Pokal dieses Forums vorschlagen, ohne seinen Beitrag hätte ich mir jetzt nicht mehr die Mühe gemacht, sondern nur noch kopfschüttelnd gelacht über die "rooties" hier.

Also, nichts für ungut, danke für die Aufmerksamkeit und viel Glück noch!

Love & Peace
Magma Baba

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

Re: PHP 5.2.0 compile: make install nicht nach /usr/lib/apache/1.3 sondern /mein/pfad ???

Post by Joe User » 2006-11-21 18:29

Ohne auf die Flames einzugehen:
Die nötigen Patche hättest Du auch beim Blick in die "Specfiles" diverser Distributoren gefunden, weshalb bespielsweise ich nicht früher auf Dein Problem reagierte -> Eigeninitiative...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

lucki2
Posts: 427
Joined: 2006-10-03 01:31

Re: PHP 5.2.0 compile: make install nicht nach /usr/lib/apache/1.3 sondern /mein/pfad ???

Post by lucki2 » 2006-11-22 17:29

Hippi, mach langsam. Die Leute helfen dauern Anderen mit Problemen.

Sind hier genug Fragen von Leute, mit besonders innovativen Ideen, die dann nicht funktionieren und die Leute hier eine Lösungen für solche "Hirnfürze" geben sollen. Anstatt das Problem zu sagen, sich nach System Geier die abstruseste "Lösung" von allen raussuchen und dann hier Probleme damit gelöst haben wollen. Die Leute hier sich Gedanken um ein Problem machen sollen, das nur existiert, weil der geneigte "Admin" sich einbildet daß das genau so funktionieren muß, wie er es sich ausdenkt und er sich keinesfalls damit beschäftigen braucht wie es wirklich funktioniert.

Wie Autofahrer die einen Mechaniker bitten, zu erklären: "Das Auto ist neu, den Motor höre ich jetzt nach einiger Mühe schon, nur jetzt scheppert es so kommisch - los fahren tut es immer noch nicht und die roten Lichter sollten beim fahren doch eigentlich auch nicht an gehen - oder?". Erst beim Vorführen stellt sich heraus, daß der Autofahrer auf das Bremspedal tritt, auf diese Weise Losfahren will und schon selber ein bischen Hand angelegt hat um das zu erreichen. So geht das hier teilweise ab. Schau Dich mal um.