[HowTo] Lighttpd 1.4.15 + PHP 5.2.2 CGI (als root ausführbar)

Klappt wirklich gut danke.

Ich hatte den Post zwar gelesen aber irgentwie nicht richtig verstanden.

Nochmals danke.
 
PHP durch /bin/sh ersetzen

Abend,
kann man PHP auch durch die Shell ersetzen? Also .sh-Scripte als cgi nutzen? Ich hab mir meine Box bei dem Versuch, den PHP-Interpreter da drauf zu bekommen, heute schon zweimal abgewürgt ... :(

Ginge das? Und wie müsste die lighttpd.conf dafür aussehen?
 
Ich verwende Lighttpd nicht, aber normalerweise kopierst Du einfach Dein Shell-Skript ins CGI-BIN-Verzeichnis, machst es ausführbar und sorgst dafür, daß in der ersten Zeile
Code:
#!/bin/sh
steht.
 
Hallo holofox,
holofox schrieb:
@u.g.
Ist in Arbeit!
Kommste voran mit "lighttpd für 2.4er Kernel" oder klappt das doch nicht?
 
Wenn ich versuche, den lighttpd zu starten, gibt der folgende Meldung heraus:
Code:
# ./lighttpd -f lighttpd.conf
SIGSEGV

Meine .conf sieht so aus:
Code:
server.document-root = "/var/tmp/lighttpd/www/"
server.port = 82

index-file.names = (
                     "index.html",
                   )

mimetype.assign = (
                    ".html" => "text/html",
                  )

server.modules = (
                   "mod_fastcgi",
                 )
                 
fastcgi.server = ( ".sh" => ((
                     "bin-path" => "/bin/sh",
                     "socket" => "/var/tmp/sh.socket",
                     "max-procs" => 1,
                 )))
Was mach ich schon wieder falsch?
EDIT: Danke eazee. Dachte ich hätte nen 2.6er Kernel, aber hab mich wohl getäuscht ...

@kriegaex: Ich frage lieber nach, da man z.B. PHP auch erst extra in der .conf eintragen muss, aber danke schonmal für deine Antwort ;)
 
Zuletzt bearbeitet:
Ich würde mal sagen du hast eine Firmware mit 2.4er Kernel!!!

D. h. entweder Firmwareupdate durchführen oder auf die Binaries für den 2.4er Kernel warten.

Daran hatte ich mich übrigens auch schon versucht, er bricht das configure mit checking size of off_t immer ab. <- sorry, offtopic, aber vielleicht erklärts mir doch einer ;-)
 
So, ich hab mal ein Binary für den 2.4er Kernel angehängt, php findet ihr ja auch hier im Forum, muss evtl noch angepasst werden, das kann ich jetzt so noch nicht sagen, den Rest könnt ihr euch ja aus Post #1 von holofox "klauen" ;)

Ansonsten gilt das gleiche, was holofox bereits geschrieben hat. Aber am besten ihr geht sicher und ruft den lighttpd wie folgt auf:
Code:
/var/tmp/lighttpd/lighttpd -m /var/tmp/lighttpd/lib -f lighttpd.conf

Btw, das ist kein zip, einfach das .zip löschen. Es ist bereits das binary!!!

EDIT: Anhang wurde von mir entfernt, ein aktualisiertes Komplettpackage findet ihr ein paar Posts später!!! So read on!
 
Zuletzt bearbeitet:
Danke.
Bei mir findet er die Plugins nicht, obwohl sie da sind:
Code:
# pwd
/var/tmp/lighttpd
# /var/tmp/lighttpd/lighttpd -m /var/tmp/lighttpd/lib -f lighttpd.conf
2007-05-28 19:13:23: (plugin.c.165) dlopen() failed for: /var/tmp/lighttpd/lib/mod_indexfile.so File not found
2007-05-28 19:13:23: (server.c.594) loading plugins finally failed
# ls -l /var/tmp/lighttpd/lib/mod_indexfile.so
-rwxr-xr-x    1 ftpuser  root         9288 May 10 23:55 /var/tmp/lighttpd/lib/mod_indexfile.so
 
Hast du php im cgi-bin-Verzeichnis, das auf dem 2.4er Kernel läuft?
 
Ja, aber:
./php: can't load library 'libm.so.0'
Kann es sein, dass php mit 2.4er Kernel nicht geht?
 
Sieht eher aus, als wären die notwendigen Bibliotheken in PHP nicht statisch gelinkt, sondern dynamisch. Also entweder die Bibliotheken nachinstallieren und im LD_LIBRARY_PATH bekannt machen oder eine statisch gelinkte Version generieren.
 
Hallo!

Also, ich habs nochmal neu kompiliert und getestet, läuft alles einwandfrei!

Diemal hab ich alles gezippt, was ihr braucht, auch alle möglichen Module und eine funktionierende PHP für 2.4 mit SQLite ... php.ini hab ich bereits angepasst!
Dieses mal hab ich lighttpd dynamisch gelinkt, d.h. ihr braucht evtl. die Libraries - die hab ich dazugepackt! Ich habe dieses Mal ssl mit dazu kompiliert.

Also, Anhang entpacken und nach /var/tmp kopieren, die Rechte nicht vergessen!!! Danach "export LD_LIBRARY_PATH=/var/tmp/lighttpd" und dann wie gewohnt starten. Das Verzeichnis, in dem die Module liegen (/lib) muss beim Starten mit angegeben werden!

Viel Spass damit, freue mich auf evtl. positives Feedback! :)
 

Anhänge

  • lighttpd.tar.gz
    2.5 MB · Aufrufe: 127
Miofachen Dank, eazee!!!
Es (neue Version) läuft jetzt endlich, keine fehlenden Libs etc. mehr :rock:
 
Hi Leute, Klasse!
Sorry, hab momentan wenig Zeit (beruflich) :-(

@eazee
Wärs ok wenn ich das Ganze ins erste Posting mitaufnehme?
 
Ja klar kannst du das mit ins erste Posting mit aufnehmen, dann ist wenigstens alles zusammen!
 
Ok, der Server läuft, soweit schonma gute Arbeit ;)
Nur leider kann ich die Shell weder mit dem fastcgi- noch mit dem normalen cgi-Modul als Interpreter einbinden ...
Edit: Der Pfad lautet doch "192.168.2.1:81/cgi-bin/index.sh", oder nicht? Hab nämlich auch bei "192.168.2.1:81/cgi-bin/" einen 404-Fehler :(
Und für php ist meine Box echt zu schwach.
 
Mit dem normalen gehts bei mir.
Hast du auch den cgi.assign-Abschnitt in der conf-Datei angepasst?
".sh" => "/bin/sh",
Die Scripte brauchen nicht im cgi-bin zu liegen, ansonsten leg eins unter www an.
 
Jup, die conf hatte ich angepasst, hab aber nicht versucht, die Scripts in /www zu schieben. Aber nun gehts bei mir auch :D
 
Hallo,

da das meisste hier böhmische Dörfer für mich sind wollte ich Euch mal direkt fragen.
Das Paket für den 2.6er funktioniert bei mir super (vielen Dank), nur fehlt bei mir in PHP das ein oder andere Modul.
Wie kann ich das denn "nachinstallieren" oder "einbinden" oder das ganze PHP-Paket neu erstellen? :noidea:

Für nen TIp wär ich dankbar,

Prallbirne
 
Poste einfach mal die gewünschten Module.
Werde diese dann reinkompilieren.
 
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.