Apache 1.3.37 + PHP 5.2.2 CGI + More

Ok, geht auch nicht mit Superuser Bit. Habe ether-wake in /var/tmp kopiert und das Bit wie in #57 beschrieben gesetzt. Tut nicht :-(
Im apache error.log steht immer noch die Fehlermeldung:
ether-wake: can`t create raw socket: Operation not permitted
 
Ja, das geht. Such Dich mal durchs Forum. Ob es auch ohne DS-Mod geht, weiß ich nicht, lies einfach mal. Was auch geht, ist Swap Space auf einem externen Medium (USB-Festplatte z.B.). Ein Flash-Stick ist dafür nicht zu empfehlen - zu viele Schreibzugriffe, da geht er schnell kaputt. Es wird auch munter per smbmount, cifsmount und NFS gemountet, um den begrenzten Speicher gerade kleiner Boxen wie der 7050 oder 5050 auf diese Weise zu erweitern und mehr Pakete zusätzlich installieren zu können.

Zum Superuser-Bit noch: Das brachte bei einem schnellen Versuch, ether-wake (bzw. die es enthaltende Busybox) nach /var/tmp zu kopieren, wo das Bit ja möglich ist, nichts.
 
Jepp, im tmp hab ich es auch probiert (siehe #61). Hab noch "ping" im /var/tmp mit Superuser-Bit probiert.
Das funktionierte seltsamerweise :confused:

Nun ja, der "Workaround" mit dem mini httpd tut halt immer noch am besten.

Habe im Netz noch suPHP und Haserl gefunden. Vielleicht starte ich da mal noch ne Aktion...

Soweit mal Danke für deine Hilfe :bier:
 
@kriegaex
ignorierst du mich jetzt ?
was sind denn das für kinder methoden ? tz...
 
@kriegaex:

Also, ich muss mich jetzt auch mal in den Thread einklinken:
Ich habe dein PHP für 2.4er Kernel probiert, aber beim Starten von Apache bringt er die Fehlermeldung von wegen fehlender libm.so.0.

Ich habe dann den LD_LIBRARY_PATH "verbogen" und die libm.so.0 manuell eingebunden. Über telnet kann ich dann php auch starten (zumindest jammert er dann wegen der lib nicht mehr rum), mit -i bringt er mir die Variableninfos beispielsweise, sieht also so aus, als ob er läuft.

Aber der Apache bringt immer noch die gleichen Fehler "can´t find libm.so.0"
Neustart Apache nach vorherigem killall apache hilft auch nicht.
Irgendwie komisch, dass es per telnet geht und mit apache nicht, oder?
 
Was meinst du mit "verbogen"? Hast du den LD_LIBRARY_PATH um einen Pfad erweitert oder komplett ersetzt?
Wo zeigt er nun hin?
 
Das Startskript Deines Apache sollte ebenfalls den LD_LIBRARY_PATH erweitern. Wenn das von Telnet aus geht, geht es in einem Skript auch. Daß Du es in Telnet machst, nützt ja dem von Apache gestarteten PHP nichts.

Edit: In meinem Post mit den Downloads gibt es jetzt eine einzelne libm für die Firmwares, bei denen sie fehlt. Mal testen, bitte. Das gilt auch für die Piraten unter Euch.
 
Zuletzt bearbeitet:
Hello all,
i would use my 7050 with a nas for an apache server, so i've used an on-line translator but the result is not much clear :noidea:
Can you explain me, if possible, if i can use ds_mod (and how), or if i simply can modify the debug.cfg to run a wget :p .
Many thanks for your help:groesste:
Tokka
 
Hi again!

So, habs grad nochmal probiert.
Das ist mein Startscript für apache:

Code:
WEBSERVER_IP=192.168.178.100
USB_DISK_ROOT=/var/media/ftp/CruzerMicro-Partition-0-1
APACHE_DIR=$USB_DISK_ROOT/fbf/apache-1.3.37

if !(ifconfig | grep -q $WEBSERVER_IP); then
	ifconfig eth0:1 $WEBSERVER_IP netmask 255.255.0.0 up
fi

if [ $(ps w | grep -c $APACHE_DIR/apache) -gt 1 ]; then
	echo "Apache running, killing Apache"
	killall apache
fi
cd /var/media/ftp/CruzerMicro-Partition-0-1/fbf/apache-1.3.37/cgi-bin
export LD_LIBRARY_PATH LD_LIBRARY_PATH=/var/media/ftp/CruzerMicro-Partition-0-1/fbf/apache-1.3.37/cgi-bin
echo Starting Webserver \(apache 1.3.37\)
$APACHE_DIR/apache -f $APACHE_DIR/conf/apache.conf

Und hier die Fehlermeldung dann im log:

Code:
php: can't load library 'libm.so.0'
[Fri May  4 13:09:13 2007] [error] [client 192.168.178.22] Premature end of script headers: /var/media/ftp/CruzerMicro-Partition-0-1/fbf/apache-1.3.37/cgi-bin/php
 
Hi Tokka. Apache is not part of DS-Mod (yet). I guess I will make it available in one of the next updates, at least the build procedure. I am unsure if it would be a good idea to include such a big binary into a firmware image. Well, Apache itself might be okay, but definitely not PHP. On a NAS or USB stick, though, it is an interesting option for some users.

For now, just download the precompiled binaries for your box (kernel 2.4 or 2.6, respectively) and put them on an external storage medium attached to your box. Just start it from there, after the medium has been mounted. I would not wget the binaries into your RAM disk, if you can avoid it. You will need the RAM for having the software run, but not to store it. If running Apache from a USB stick, take care to configure it so that all log and lock files are created in the RAM disk or on another storage medium not based on flash technology. Writing too often onto a flash medium will wear it out quickly, rendering it unusable one day. And things like swap space or log files which are continuously written to are very bad for a flash stick, indeed.
 
@eazee: Du hast einige Fehler im Skript:

Code:
export [COLOR="Red"]LD_LIBRARY_PATH LD_LIBRARY_PATH[/COLOR]=/var/media/ftp/CruzerMicro-Partition-0-1/fbf/apache-1.3.37/cgi-bin

Einmal der Variablenname genügt...

Code:
if [ $(ps w | grep -c $APACHE_DIR/apache) -gt 1 ]; then

Es bringt nichts, die Ausgabe von ps auf >= 1 zu vergleichen, das ist völlig sinnfrei, weil Text und somit nicht numerisch. Entweder Du zählst die Zeilen mit wc und vergleichst die mit einem passenden Wert oder, was ich empfehlen würde, Du wertest den Rückgabewert von grep aus: Wenn grep etwas findet, lautet er 0 (wird zu true im if-Test auf den Rückgabewert), sonst 1 (wird zu false). Dabei mußt Du aber den einen Treffer, der von grep selbst erzeugt wird, herausfiltern, sonst ist der Rückgabewert ja immer true. Also so:

Code:
if ps | grep apache | grep -v grep; then
 
kriegaex schrieb:
Hi Tokka. Apache is not part of DS-Mod (yet). I guess I will make it available in one of the next updates, at least the build procedure. I am unsure if it would be a good idea to include such a big binary into a firmware image. Well, Apache itself might be okay, but definitely not PHP. On a NAS or USB stick, though, it is an interesting option for some users.

For now, just download the precompiled binaries for your box (kernel 2.4 or 2.6, respectively) and put them on an external storage medium attached to your box. Just start it from there, after the medium has been mounted. I would not wget the binaries into your RAM disk, if you can avoid it. You will need the RAM for having the software run, but not to store it. If running Apache from a USB stick, take care to configure it so that all log and lock files are created in the RAM disk or on another storage medium not based on flash technology. Writing too often onto a flash medium will wear it out quickly, rendering it unusable one day. And things like swap space or log files which are continuously written to are very bad for a flash stick, indeed.

Hi Kriegaex, many thanks for your help :D
I have the fw 14.04.26 (based on the De version), and if i'm not wrong it has the kernel 2.4, so i have to use the file "apache php 2.4", and the "libm 0.9.26", unpack theme in my nas storage (i think in an apposite folder), but i don't know hot to start it:oops:
Sorry, i'm a little newbie with linux.
Mfg
Tokka
 
If you don't know how to start Apache, I think you are off-topic here. Please consult the Apache manual. Why do you think you need Apache if you don't even know how to start it, by the way? Would maybe the Busybox-httpd be enough for you? Other solutions such as mini-httpd or even the AVM websrv which can be manipulated to serve your own pages as well, are available.
 
At the moment i need it for my brother, which has made a program with apache and want to make it useful in his lan, but in the near future i need it too, for make mine server..i'm studing for it, and i'm tring to learn more fast as possible.
It's a little hard, working 12 hours/day, i hope you will forgive me if some question may seems inappropriate:oops: , but i have a lot of good will.
Thanks again, and sorry for my OT
Mfg
Tokka
 
@kriegaex:

Danke, Mann bin ich doof! :(

Das mit der Abfrage, ob Apache schon läuft, funzt einwandfrei.

Aber das export LD_LIBR..... will irgendwie nicht
--> error log. missing libm.so.0.

Ich flipp noch aus. :noidea:
 
Wie genau heißt denn nun Deine Zeile für den Export? Und liegt die Lib auch wirklich dort in cgi-bin? Ist sie ausführbar?

Edit: O je, könnte es einfach daran liegen, daß Du keinen Symbolic Link libm.so.0 auf die Lib angelegt hast? Die heißt ja erst mal libm-0.2.9.26.so.
 
Nein, hab keinen link, hab die lib einfach umbenannt!
Die lib hat die Rechte 755, liegt doch auf den USB!?
Und ja, sie liegt dort wirklich in cgi-bin.
 
Okay, Kernel-2.4-Benutzer. Es ist soweit (vgl. Posting #42): Die Binaries in apache_php_24.tar.bz2 sind jetzt definitiv statisch gelinkt. Ich habe es mit ldd überprüft, da mußte ich auch erst mal was lernen über autoconf und libtool. Der configure hat nämlich geflissentlich meine Linker-Flags (-static) ignoriert, da mußte ich das Configure-Skript patchen, um PHP wirklich statisch zu kriegen. Bei Apache war es einfacher, da wurden die Flags beachtet. Danke für die Hilfe an olistudent, alleine wäre ich im Wald gestanden.
 
Guten Morgen!

Mal ein Feedback, ist denk ich ganz wichtig!?
Die files für den 2.4er Kernel sind jetzt definitiv static (-> DANKE kriegaex!!!)

Ich hab jetzt nur noch ein Problem, das wie folgt aussieht:
Code:
PHP Fatal error:  Possible integer overflow in memory allocation (8 * 4 + 0) in Unknown on line 0
[Sat May  5 10:05:42 2007] [error] [client 192.168.178.22] Premature end of script headers: /var/media/ftp/CruzerMicro-Partition-0-1/fbf/apache-1.3.37/cgi-bin/php

Liegt das evtl. daran, dass ich keinen RAM mehr zur Verfügung habe?
Die Daten selbst liegen ja alle auf dem USB.
 
Vielen Dank an Alexander für die neue Version!
Wäre prima wenn Du noch die Skripte/Patches posten könntest, der Eine oder Andere würde in dieser Hinsicht sicher gerne was dazulernen...
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.