Apache 1.3.37 + PHP 5.2.2 CGI + More

cpq

Neuer User
Mitglied seit
2 Jan 2007
Beiträge
25
Punkte für Reaktionen
0
Punkte
0
Hier die aktuellste Apache und PHP Version für FritzBoxen mit 2.6er Kernel, statisch kompiliert. Ein DS-Mod ist zum Betrieb nicht erforderlich. Wer Apache und PHP-Versionen für 2.4er Kernel bzw. libs sucht, sei gleich an diesen Post von kriegaex verwiesen.

Dieser Post hat einmal ganz klein angefangen und ist mittlerweile ziemlich gewachsen, so dass eine Neustrukturierung nötig wurde.

Die folgenden Dateien stehen derzeit zum Download bereit:

  • *.tar.bz2
    Diese Archive enthalten ausführbare Dateien. Wer nur daran interessiert ist, möglichst schnell eine lauffähige Version zu erhalten, für den reicht es, diese Datei herunterzuladen.
  • *-compile.zip
    Generell habe ich alle Binaries mit Quellcode und Bauanleitung gepostet, daher gibt es zu jedem .tar.bz2 Archiv mit den Binärdateien eine -compile.zip Datei, die ein Skript zum automatischen Bauen enthält. Im Idealfall (d.h. auf meinem Linux) genügt es, das Skript zu starten und man erhält nach einiger Zeit ein fertiges .tar.bz2 Paket mit allem was man braucht. Originalpakete mit Quellcode werden automatisch heruntergeladen.
  • apache-1.3.37-mipsel.tar.bz2
    Dies ist die einfachste und kleinste Version des Apache. Für den normalen Betrieb genügt es, die Dateien apache und apache.conf auf eure Box zu spielen und apache.conf auf euer System anzupassen. Wie das geht könnt ihr unter anderem auf der Apache Website nachlesen. Beim Aufruf des Apache muss immer der Parameter -f /..../apache.conf mit dem absoluten Pfad zur Konfigurationsdatei angegeben werden. Da der Standard-Webserver der Box alle 80er Ports belegt, sollte der Apache auf einem anderen Port betrieben werden. Man kann ihn aber nach außen hin trotzdem auf Port 80 mittels der Portweiterleitung einrichten. Dateigröße 545720 bytes.
  • apache-1.3.37-modssl-mipsel.tar.bz2
    Wer Seiten mit https hosten möchte, kann diese Version des Apache verwenen. Das Einrichten ist etwas komplizierter als bei der Version ohne SSL und der Arbeitsspeicherbedarf kann sich mehr als verdoppeln. Läuft aber trotzem stabil. Größe: 1891744 bytes. Die Geschwindigkeit ist auch bei HTTPS recht flott, z.B. eine statische Seite mit 25 Bildern baut sich im Browser innerhalb von weniger als 1 Sekunde komplett auf.
  • apache-1.3.37-ssl-mipsel.tar.bz2
    Eine alternative SSL Erweiterung für apache, die vermutlich etwas weniger Resourcen belegt. Läuft aber nicht auf allen 2.6er Kernels.
  • apache-1.3.37-mipsel-compile.zip
    Wer gerne selber bauen möchte, findet hier alles was er braucht als Skript mit patches etc. Für die SSL-Versionen braucht man noch zusätzlich das Kompilierskript von OpenSSL oder die OpenSSL Binaries.
  • php-5.2.2-mipsel.tar.bz2
    Dies ist die Minimalversion von PHP 5.2.2, sie bringt allerdings immer noch 2947808 bytes auf die Waage. Zum Verwenden mit Apache einfach in das cgi-bin Verzeichnis kopieren, und die apache.conf Datei wie auf der PHP Website beschrieben erweitern.
  • php-5.2.2-libxml-zlib-sqlite-mipsel.tar.bz2
    Dies ist noch lange nicht die Maximalversion, aber mit den enthaltenen Paketen trotzdem schon 5243588 bytes groß.
  • php-5.2.2-mipsel-compile.zip
    Skript zum Kompilieren von PHP. Je nach Funktionsumfang der noch dazugelinkt werden soll braucht ihr noch weitere Kompilierskripte bzw. Bibliotheken aus dem Anhang.
  • httpd-2.2.4-mipsel.tar.bz2
    Dies ist ein lauffähiger Apache aus dem 2.2er Zweig. Da er etwas größer ist als der 1.3er und sonst für die meisten Anwendungen auf der Box keinen zusätzlichen Vorteil bieten dürfte, macht es für die Meisten wohl mehr Sinn, die 1.3er Version zu verwenden.
  • httpd-2.2.4-mipsel-compile.zip
    Enthält alle Patches zum automatischen Bauen einer lauffähigen Version.
  • mini_httpd-1.19-mipsel.tar.bz2
    Einer der kleinsten (51568 bytes) Webserver für die Box. Wer wenig freien Speicher hat, oder Platz in der Firmware sparen will ist hiermit richtig bedient. Brauche noch Rückmeldungen bzgl. Stabilität und Kompatibilität mit PHP!
  • mini_httpd-1.19-ssl-mipsel.tar.bz2
    Statisch gelinkt mit OpenSSL ist der kleine plötzlich 1171384 bytes groß, was aber immer noch deutlich kleiner ist als der Apache mit mod_ssl. Bis jetzt liegen noch keine Erfahrungsberichte vor. Wenn ihr diese Version einsetzt, dann meldet euch!
  • mini_httpd-1.19-mipsel-compile.zip
    Für alle, die den Kleinen selber bauen wollen. Evt wird noch die OpenSSL library gebraucht.
  • thttpd-2.25b-mipsel.tar.bz2
    Ein weiteres Mitglied in der Webserver-Sammlung. Recht kompakt mit 99376 bytes, soll es aber in bezüglich Leistung mit den ganz großen aufnehmen können. Siehe Homepage. Bis jetzt noch kein Feedback.
  • thttpd-2.25b-mipsel-compile.zip
    Der Vollständigkeit halber die Bauanleitung.
  • apache-autostart.zip
    Beispiel zum automatischen Laden des Apache (oder eines anderen Programmes) beim Booten der Box.
  • Bibliotheken:
    • openssl-0.9.8e-mipsel.tar.bz2
      Wird für alle https Webservr gebraucht.
    • openssl-0.9.8e-mipsel-compile.zip
      Wer alles selber bauen will, der legt einfach dieses Skript in den selben Pfad wie das Skript des SSL Webservers und startet das Letztere.
    • zlib-1.2.3-mipsel.tar.bz2
      Ermöglicht Kompression für PHP.
    • zlib-1.2.3-mipsel-compile.zip
    • glib-2.12.12-mipsel.tar.bz2
    • glib-2.12.12-mipsel-compile.zip
    • libpng-1.2.16-mipsel.tar.bz2
    • libpng-1.2.16-mipsel-compile.zip
    • libiconv-1.11-mipsel.tar.bz2
    • libiconv-1.11-mipsel-compile.zip
    • gettext-0.16-mipsel.tar.bz2
    • gettext-0.16-mipsel-compile.zip
    • freetype-2.3.4-mipsel.tar.bz2
    • freetype-2.3.4-mipsel-compile.zip

... wenn der Apache nicht läuft:
Bitte zuerst einen Blick in /logs/error.log werfen und ggf die letzten Zeilen mit einer genauen Fehlerbeschreibung posten. Nicht vergessen: welche Firmware/Box/Kernelversion ihr verwendet!
Wenn ausschließlich php nicht funktioniert, zunaechst die cgi-bin/php in der shell aufrufen: ./php -h; wird in diesem Fall kein Hilfetext angezeigt, so hat der Fehler nichts mit dem Apache zu tun. Stattdessen liegt ein grundlegendes Problem vor, z.B. fehlende/falsche Bibliotheken für php.​
 

Anhänge

  • mini_httpd-1.19-mipsel-compile.zip
    1.7 KB · Aufrufe: 236
  • mini_httpd-1.19-mipsel.tar.bz2
    22.8 KB · Aufrufe: 396
  • mini_httpd-1.19-ssl-mipsel.tar.bz2
    414 KB · Aufrufe: 193
  • thttpd-2.25b-mipsel-compile.zip
    1.4 KB · Aufrufe: 147
  • thttpd-2.25b-mipsel.tar.bz2
    106.7 KB · Aufrufe: 222
  • apache-1.3.37-mipsel-compile.zip
    14.6 KB · Aufrufe: 390
  • apache-1.3.37-mipsel.tar.bz2
    251.1 KB · Aufrufe: 1,367
  • apache-1.3.37-modssl-mipsel.tar.bz2
    873.5 KB · Aufrufe: 462
  • apache-1.3.37-ssl-mipsel.tar.bz2
    682.2 KB · Aufrufe: 230
  • httpd-2.2.4-mipsel-compile.zip
    7.4 KB · Aufrufe: 182
  • httpd-2.2.4-mipsel.tar.bz2
    464 KB · Aufrufe: 320
  • glib-2.12.12-mipsel.tar.bz2
    441.2 KB · Aufrufe: 190
  • glib-2.12.12-mipsel-compile.zip
    1.2 KB · Aufrufe: 113
  • libpng-1.2.16-mipsel.tar.bz2
    263.3 KB · Aufrufe: 151
  • libpng-1.2.16-mipsel-compile.zip
    1.3 KB · Aufrufe: 90
  • libiconv-1.11-mipsel.tar.bz2
    1.3 MB · Aufrufe: 181
  • libiconv-1.11-mipsel-compile.zip
    726 Bytes · Aufrufe: 98
  • gettext-0.16-mipsel.tar.bz2
    791.5 KB · Aufrufe: 151
  • gettext-0.16-mipsel-compile.zip
    723 Bytes · Aufrufe: 86
  • freetype-2.3.4-mipsel.tar.bz2
    528.2 KB · Aufrufe: 152
  • freetype-2.3.4-mipsel-compile.zip
    1,001 Bytes · Aufrufe: 89
  • zlib-1.2.3-mipsel.tar.bz2
    59.9 KB · Aufrufe: 169
  • zlib-1.2.3-mipsel-compile.zip
    523 Bytes · Aufrufe: 107
  • php-5.2.2-mipsel.tar.bz2
    910.5 KB · Aufrufe: 728
  • php-5.2.2-libxml-zlib-sqlite-mipsel.tar.bz2
    1.6 MB · Aufrufe: 862
  • php-5.2.2-mipsel-compile.zip
    5.3 KB · Aufrufe: 295
  • openssl-0.9.8e-mipsel.tar.bz2
    1.6 MB · Aufrufe: 253
  • openssl-0.9.8e-mipsel-compile.zip
    1.1 KB · Aufrufe: 146
  • apache-autostart.zip
    980 Bytes · Aufrufe: 1,076
Zuletzt bearbeitet:
30 Minuten nach lesen liefs auf meiner 7170, praktisch out of the box.
Saubere Lösung. Danke!
 
Habe auf meiner 7170 leider nur den apache zum laufen gebracht. Die phpinfo.php erzeugt bei mir einen Internal Server Error :-(

Auszug aus der error.log:
php: can't load library 'libm.so.0'
[Fri Apr 6 22:51:12 2007] [error] [client 192.168.0.28] Premature end of script headers: /var/media/ftp/StorenGo-Partition-0-1/apache-1.3/cgi-bin/php

@luckyfritz
Irgendwelche mods installiert, welche die "libm.so.0" mitbringen?

Gruss,
Sepp
 
Mit Kernel 2.6.x funktioniert es. Die aktuelle Firmware 29.04.29 beinhaltet die 'libm.so.0'.
Werde versuchen PHP mit IMAP und MySQL zu kompilieren.

Gruss,
Sepp
 
wenn ich ./apache ausführe er scheint es nicht bei ps... :-(
und http zugriff is auch nicht...
 
probier mal:
./apache -f conf/apache.conf
 
hm.. ok funktioniert auch nicht...
ach und vll noch irgendwelche user vorschläge ?
 
pirat: hast du die 2.4er Version verwendet? Wenn ja, wuerde ich erst mal die 1.3er probieren, da diese viel besser mit relativen Pfaden zurecht kommt. Ansonsten probier mal alle Aufrufe mit absoluten Pfaden und verwende auch in der .conf datei nur absolute pfade.
Wenn der apache nicht will, dann schau mal zuallererst ins error log.
 
Hatte das gleiche Problem. Fehler lag in der apache.conf. Name des USB Devices stimmte nicht.
 
ok also das is meine error.log:

Code:
[Wed Apr 11 22:58:03 2007] [notice] Apache/1.3.37 (Unix) configured -- resuming normal operations
[Wed Apr 11 22:58:03 2007] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Wed Apr 11 22:58:03 2007] [alert] (2)No such file or directory: getpwuid: couldn't determine user name from uid 4294967295, you probably need to modify the User directive
[Wed Apr 11 22:58:03 2007] [alert] (2)No such file or directory: getpwuid: couldn't determine user name from uid 4294967295, you probably need to modify the User directive
[Wed Apr 11 22:58:04 2007] [alert] Child 634 returned a Fatal error... \nApache is exiting!

also ich entnehme dem das er hauptsächlich ein problem mit dem user hat...
ich hab den part in der config so:

Code:
#User ftpuser
#Group ftpusers

wenn ich diese zeilen uncomment dann:

Code:
# ./apache
apache: bad user name ftpuser

und wenn die zeile:

Code:
ftpuser:x:0:0:ftpusers:/:/

in /var/tmp/passwd und:

Code:
User ftpuser
Group ftpusers

in der config dann:

Code:
# ./apache
Error:  Apache has not been designed to serve pages while
        running as root.  There are known race conditions that
        will allow any local user to read any file on the system.
        If you still desire to serve pages as root then
        add -DBIG_SECURITY_HOLE to the EXTRA_CFLAGS line in your
        src/Configuration file and rebuild the server.  It is
        strongly suggested that you instead modify the User
        directive in your httpd.conf file to list a non-root
        user.
#

ftpuser ist doch garnicht in der root group oder ? :confused:
ich mein... ahhh ! crash-kurs im user anlegen ?

ach ja bei manchen sache nzickt er rum.. grade wenn ich absolute paths mach...
ich glaub bei der pid oder so... irgendwas hat er da nicht gemacht...
 
Zuletzt bearbeitet:
Nun, bei mir funktioniert das Folgende ohne Änderung der passwd und group:
apache.conf:
User ftpuser
Group root

läuft es damit, kannst du noch nach Belieben anderen benutzer und gruppe in passwd und group eintragen, allerdings musst du dies bei jedem neustart der Box tun (skript!) und bei einem vFAT dateisystem ausserdem noch die UID beim mount setzen, da defaultmaessig ftpuser (1000) verwendet wird.

leider hat die original Box kein tool zum Anlegen von Benutzern (passworthashing), aber es gibt busybox varianten die useradd unterstützen.
 
ok settings geänder (passwd zeile entfernt / user in config geändert):

Code:
# ./apache
apache: bad user name ftpuser

wo wir grade bei busybox sind hat jem. nen link zu der mit allen gänigen befehle wie z.b. die swap befehle loseup usw. zur hand ? ich dächte hier http://www.spblinux.de/fbox/ gäbe es was aber neuerdings prompt eine authenifizierung...
 
Mit folgender Konfiguration und Berechtigungen funktioniert 1.3 auf USB-Festplatte an 7170:
Code:
# cat /etc/passwd
root:x:0:0:root:/:/bin/sh
ftpuser:any:1000:0:ftp user:/var/media/ftp:/bin/sh

# cat /etc/group
root:x:0:

# mount|grep /var/media/ftp
/dev/sda1 on /var/media/ftp/USBMassStorageDevice-Partition-0-1 type vfat (rw,nodiratime,uid=1000,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1)

# ps w|grep apache
 1259 root        552 S   /var/media/ftp/USBMassStorageDevice-Partition-0-1/FritzBox/apache-1.3.37/apache -f /var/media/ftp/USBMassS
 1263 ftpuser     780 S   /var/media/ftp/USBMassStorageDevice-Partition-0-1/FritzBox/apache-1.3.37/apache -f /var/media/ftp/USBMassS
 1264 ftpuser     792 S   /var/media/ftp/USBMassStorageDevice-Partition-0-1/FritzBox/apache-1.3.37/apache -f /var/media/ftp/USBMassS
 1839 ftpuser     768 S   /var/media/ftp/USBMassStorageDevice-Partition-0-1/FritzBox/apache-1.3.37/apache -f /var/media/ftp/USBMassS
 3374 ftpuser     760 S   /var/media/ftp/USBMassStorageDevice-Partition-0-1/FritzBox/apache-1.3.37/apache -f /var/media/ftp/USBMassS
 3375 ftpuser     744 S   /var/media/ftp/USBMassStorageDevice-Partition-0-1/FritzBox/apache-1.3.37/apache -f /var/media/ftp/USBMassS

# cd /var/media/ftp/USBMassStorageDevice-Partition-0-1/FritzBox/apache-1.3.37/
# ls -l
-rwxr-xr-x    1 ftpuser  root       683496 Feb 12 12:56 apache
drwxr-xr-x    2 ftpuser  root         8192 Feb 19 14:48 cgi-bin
drwxr-xr-x    2 ftpuser  root         8192 Feb 21 16:56 conf
drwxr-xr-x    2 ftpuser  root         8192 Apr  1 13:49 logs

# grep -E "^User|^Group" conf/apache.conf
User ftpuser
Group root
Dabei sind root und ftpuser sowie die root gruppe die Standardeinträge einer unmodifizierten 7170.

Milchpirat: ich denke das Hauptproblem warum ftpuser bei dir nicht akzeptiert wurde liegt daran, dass du ihm die uid 0 (wie root) gegeben hast.
 
Zuletzt bearbeitet:
ok... apache läuft mit folgenden configs:

apache.conf
Code:
User ftpuser
Group ftpusers

passwd
Code:
ftpuser:x:500:1000:ftp user:/var/apache:/bin/sh

group
Code:
ftpusers:x:1000:ftpuser

shadow
Code:
ftpuser::12332:0:99999:7:::

so nächstes problem: ihm fehlt die libm.so.0 beim ausführen von php
 
Die libm.so.0 ist beim 2.4.x Kernel nicht dabei. Nimm die aktuelle AVM Firmware 29.04.29. Diese basiert auf dem 2.6.x Kernel. Die Lib ist da dabei, hat bei mir einwandfrei funktioniert (ohne irgendwelche Mods).
 
ach das ganze paket ist and die 7170 gebunden ? hm.. ok... dann is klar das ich probleme mit meiner fbf fon wlan hab...
 
Nicht wirklich. Das Paket wurde nur unter einem Linux Kernel 2.6.x kompiliert.
Welche FritzBox mit welcher Firmware hast du?
 
FRITZ!Box Fon WLAN, Firmware-Version 08.04.27
 
Hmm.... fürchte da hilft nur PHP für 2.4.x neu kompilieren....
 
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.