Apache v1.3.34 Webserver für die FritzBox!

PHP 5.2.8+sql Probleme mit libiconv

moin....

also...da einige probleme haben, die Version PHP 5.2.8 + sqlite + zlib 1.2.3 + libxml2-2.7.2 zum laufen zu bekommen....habe ich mal ein wenig nachgeschaut....also das hauptproblem liegt wohl an der fehlenden libiconv....was mich da zunächst gewundert hat, war die tatsache, dass ich eigentlich PHP mit dem argument --without-iconv kompiliert habe....ich habe jedoch herausgefunden, dass auch die libxml2-2.7.2 (neuste version wird für das neue PHP+sql benötigt) als standard mit --with-iconv support kompiliert wird....frühere versionen von libxml2 hatten scheinbar keinen support für libiconv....leider checkt das kompilierscript von libxml2-2.7.2 nicht, ob eine libiconv vorhanden ist....deswegen ist mir der fehler erst so spät aufgefallen....ich selbst habe bei mir auf der FB dank MOD die libiconv zur verfügung (dynamisch versteht sich)....deswegen läuft die von mir freigegebene version mit sql auch ohne probleme...die version ohne sql wurde ohne libiconv kompiliert und läuft ebenso auch auf boxen wo diese lib nicht vorhanden ist...

ich werde die alte version mit sql rausnehmen und hab anbei eine neue version kompiliert, wobei ich neben php diesmal auch die libxml2 mit --without-iconv kompiliert habe....diese version sollte nun auf allen boxen lauffähig sein.....bitte um rückmeldung, ob das problem mit der neuen version behoben ist....danke!

Kontr-Olli
 
Zuletzt bearbeitet:
PHP 5.2.8 Übersicht

moin moin....

so um mal ein bisschen ordnung in das von mir veranstaltete chaos zu bringen ;-) gebe ich im folgenden eine kurze übersicht über die von mir kompilierten varianten von PHP 5.2.8....


  • php-5.2.8-mipsel.tar.bz2
    minimalversion von PHP 5.2.8, statisch gelinkt mit "-static -static-libgcc" ohne iconv unterstützung (ohne libiconv, --without-iconv), ohne pear (--without-pear)


  • php-5.2.8-zlib-mipsel.tar.bz2
    PHP 5.2.8, statisch gelinkt mit "-static -static-libgcc" ohne iconv unterstützung (ohne libiconv, --without-iconv), ohne pear (--without-pear), mit zlib unterstützung für komprimierung (statisch --with-zlib-dir=/.../lib)


  • php-5.2.8-libxml-zlib-mipsel.tar.bz2
    PHP 5.2.8, statisch gelinkt mit "-static -static-libgcc" ohne iconv unterstützung (ohne libiconv, --without-iconv), ohne pear (--without-pear), mit zlib unterstützung für komprimierung (statisch --with-zlib-dir=/.../lib), mit --simplexml --enable-xml --with-libxml=/.../ --enable-xmlreader --enable-xmlwriter...xml wird u.a. für aktuelles FritzLoad benötigt, da dort die php funktion php utf8_decode() verwendung findet, welche wiederum nur bei aktiviertem xml in php enthalten ist....


  • php-5.2.8-libxml-zlib-sqlite.tar.bz2
    PHP 5.2.8, statisch gelinkt mit "-static -static-libgcc" ohne iconv unterstützung (ohne libiconv, --without-iconv), ohne pear (--without-pear), mit xml unterstützung (statisch gelinkt mit libxml2-2.7.2, gebaut ohne iconv unterstützung aber mit zlib support, --without-iconv --with-zlib=/.../lib), mit unterstützung für komprimierung (statisch gelinkt mit zlib-1.2.3) und mit sqlite unterstützung


  • php-5.2.8-libxml-zlib-sqlite-(alle-dateien)-mipsel-dev.tar.bz2
    wie oben, nur enthält dieses Paket alle beim cross-kompilieren erstellte dateien....d.h. also auch die verzeichnisse inlude, lib, man etc...für den eigentlichen gebrauch sind die dateien aus dem /bin Verzeichnis ausreichend....wer jedoch eigene module für php bauen möchte, benötigt auch die anderen dateien....viel spaß beim entwickeln :)....

zusätzlich stelle ich noch die für den bau von PHP 5.2.8 benötigten libs zur verfügung:

  • zlib-1.2.3-mipsel.tar.bz2
    wird benötigt um für PHP 5.2.8 die komprimierung zu nutzen...


  • libxml2-2.7.2-mipsel.tar.bz2
    wird benötigt um PHP 5.2.8 mit xml zu nutzen...gebaut ohne iconv unterstützung (--without-iconv)


  • libxml2-2.7.2-zlib-mipsel.tar.bz2
    wird benötigt um PHP 5.2.8 mit xml zu nutzen...gebaut ohne iconv unterstützung (--without-iconv), aber mit support für zlib


  • librt-0.9.29-mipsel.tar.bz2
    librt.so aus der uClibc-0.9.29 direkt aus dem lib-verzeichnis des toolchain crosscompilers...PHP sollte eigentlich ohne diese lib funktionieren, da beim kompilieren stets "-static -static-libgcc" übergeben wurde....habe aber bereits von testern meiner version gelesen, dass sich PHP beim starten über das fehlen dieser lib beschwert...also einfach auf usb-stick kopieren und symbolisch mit dem lib verzeichnis linken....sollte dann eigentlich auf jedenfall funktionieren...anmerkung: die uClibc, also auch diese lib werden für meinen crosscompiler für den 2.6er kernel gebaut (FB 7270)...
 

Anhänge

  • php-5.2.8-mipsel.tar.bz2
    2 MB · Aufrufe: 62
  • php-5.2.8-zlib-mipsel.tar.bz2
    2 MB · Aufrufe: 26
  • php-5.2.8-libxml-zlib-sqlite-mipsel.tar.bz2
    3.7 MB · Aufrufe: 96
  • zlib-1.2.3-mipsel.tar.bz2
    60 KB · Aufrufe: 20
  • libxml2-2.7.2-mipsel.tar.bz2
    2.3 MB · Aufrufe: 15
  • libxml2-2.7.2-zlib-mipsel.tar.bz2
    2.3 MB · Aufrufe: 22
  • librt-0.9.29-mipsel.tar.bz2
    3.7 KB · Aufrufe: 21
  • php-5.2.8-libxml-zlib-sqlite-(alle-dateien)-mipsel-dev.tar.bz2
    4.1 MB · Aufrufe: 71
  • php-5.2.8-libxml-zlib-mipsel.tar.bz2
    3.1 MB · Aufrufe: 20
Zuletzt bearbeitet:
Ohne die Erstellung der zusätzlichen libs kann ich folgendes Vermelden:

php-5.2.8-mipsel.tar.bz2 - läuft
php-5.2.8-iconv-mipsel.tar.bz2 - benötigt libiconv.so.2
php-5.2.8-libxml-zlib-sqlite.tar.bz2 - läuft
php-5.2.8-libxml-zlib-sqlite-iconv.tar.bz2- benötigt libiconv.so.2

@Kontr-Olli
Danke für die detailierte Erläuterung!

Ergänzung:

php-5.2.8-mipsel.tar.bz2 - läuft
php-5.2.8-zlib-mipsel.tar.bz2 - läuft
php-5.2.8-iconv-mipsel.tar.bz2 - benötigt libiconv.so.2
php-5.2.8-iconv-zlib-mipsel.tar.bz2 - benötigt libiconv.so.2
php-5.2.8-libxml-zlib-sqlite-mipsel.tar.bz2 - läuft
php-5.2.8-libxml-zlib-sqlite-iconv-mipsel.tar.bz2 - benötigt libiconv.so.2

Die libiconv.so.2 aus libiconv-1.12-mipsel.tar.bz2 bringt php und php-cgi zum laufen, wenn man die lib in eines der "richtigen" Verzeichnisse z.B. \mod\lib schubst.
Jedoch verweigert der Apache zusammen mit php(-cgi) den Dienst.

@Kontr-Olli
Anbei ein log von 'strace', dass aufzeigt wo die libs gesucht werden.
Vielleicht kann man beim compilieren den Suchpfad der libs z.B. mit ..\lib vorgeben. Somit müsste dann php z.B. in \apache-1.3.41\cgi-bin\lib finden.


Gruß Gingerblue
 

Anhänge

  • strace.txt
    6.9 KB · Aufrufe: 15
Zuletzt bearbeitet:
Probleme mit libiconv.so

sorry,

ich musste eben den kompletten threat von oben nocheinmal überarbeiten....habe versucht die libiconv.so statisch mit dem apache zu linken....werde es gleich mal selbst testen, ob es funktioniert hat.....ansonsten habe ich sicherheitshalber alles nochmal neu gemacht....da ich endeckt habe, dass sich die libxml2 auch mit zlib unterstützung kompilieren lässt....und da der apache auch mit zlib läuft, habe ich mir gedacht, es wäre sinnvoll auch in die libxml diese unterstützung zu aktivieren.....

desweiteren habe ich noch zwei weitere varianten für die minimalversion veröffentlicht.....einmal mit zlib und einmal mit iconv und zlib support....

falls jemand tips hat, wie sich die libiconv.so sinnvoll mit dem apache statisch linken lässt....der möge sich bitte beteiligen....habe bisher alles versucht....leider ohne sichtbaren erfolg.....zum einen habe ich alles mit "-static -static-libgcc...." aufgerufen....desweiteren habe ich with-iconv=/.../libiconv und with-iconv-dir=/.../libiconv gewählt.....aber scheinbar scheint es nicht zu funktionieren....libxml2 lässt sich prima mit der libiconv statisch linken....aber beim apache config und kompilieren bekomm ichs net auf die reihe....irgendwelche tips?

ansonsten habe ich einfach mal die libiconv für mips seperat kompiliert und dazugepackt....nach symbolischen linken dürften dann auch die versionen mit iconv sauber laufen....kanns leider net testen....da ich aufgrund des MODs die libiconv schon standardmäßig im system zur verfügung habe....wäre also um tester dankbar!!

anbei der aufruf für das configure-script:
'./configure' '--prefix=/home/kontr-olli/Desktop/phpcomp/phpmipssqliconvzlib' '--build=i386-linux-gnu' '--target=mipsel-linux' '--host=mipsel-linux' '--with-zlib-dir=/home/kontr-olli/Desktop/phpcomp/zlib-1.2.3' '--with-libxml-dir=/home/kontr-olli/Desktop/phpcomp/libxmlmips' '--with-iconv-dir=/home/kontr-olli/Desktop/libiconv' '--with-iconv=/home/kontr-olli/Desktop/libiconv' '--without-pear' '--disable-ipv6' '--enable-force-cgi-redirect' '--enable-discard-path' '--enable-fastcgi' '--enable-exif' '--enable-static' '--with-config-file-path=php.ini' '--enable-sqlite-utf8'

Kontr-Olli
 
Zuletzt bearbeitet:
so habe jetzt auf die v. 29.04.67 geupdatet

bekome jetzt aber folgende fehlermeldung:

apache-1.3.41-ssl & bei der apache-1.3.41-modssl:

apache: bad user name nobody

woran liegst ??
welchen user mus ich noch anlegen ??? oder pw vergeben ???
 
[Edit frank_m24: Mehrere Beiträge innerhalb weniger Minuten zusammengefasst. Man kann seine Beiträge auch editieren. Lies noch mal die Forumregeln.]
hallo....

also eigentlich müsste als user ftpuser und als group root in die apache.conf eigetragen werden....der ftpuser ist der standard user von avm und sollte eigentlich funzen....ansonsten könnte man auch, falls man das MOD installiert hat einen neuen benutzer mit:

addgroup username groupname #erstelle neue gruppe und füge username ihr zu
oder mit
adduser -H -G groupname username #erstelle user ohne home-verzeichnis und füge der existierenden gruppe groupname hinzu

erstellen und diesen dann mit
modusers save
modsave flash
persistent speichern....sollte also stets in datei /var/flash/passwd zu finden sein!!

demzufolge wäre also user/group in der apache.conf beliebig wählbar, nur muss der user und die group existieren!!

Kontr-Olli

[Beitrag 2:]
also ich bin mit meinem latein am ende....leider bekomme ich es nicht hin die libiconv statisch zu linken....für hilfe wäre ich sehr dankbar....hab bereits alles versucht....also bei mir wird stets die shared-lib aus dem MOD meiner FB verwendet....würde gerne libiconv statisch linken, damit auch diese varianten von php auf allen boxen lauffähig sind....

Kontr-Olli

[Beitrag 3:]
also,

die bereits geschilderte problematik mit den apache versionen mit ssl bzw. modssl kann ich nicht reproduzieren....bei mir laufen beide versionen auf anhieb...zumindest startet der server ohne die diversen fehlermeldungen, dass angeblich die apache.conf bzw. access.conf keine regulären dateien sind oder der gleichen....

habe dazu eigentlich nur die bereits im paket vorhandene apache.conf minimal abgeändert...sprich auf einen anderen port (bei mir 88 ) und halt auf mein rootverzeichnis (bei mir: /var/media/ftp/uStor01 ) geändert und schon startete der server ohne probleme....einzig der zugriff auf das documentroot hab ich noch nicht eingerichtet....aber soweit ich weiß, ist die konfiguration der ssl varianten auch etwas anspruchsvoller....ev. hilft dies für die config der ssl variante: http://www.linuxhelp.net/guides/apachessl/ ansonsten halt googlen...:)

aufgerufen hab ich das ganze dann mit absolutem pfad...sprich also
cd /var/media/ftp/uStor01/apache-1.3.41-modssl/bin #bin verzeichnis im server root
.\apache -f /var/media/ftp/uStor01/apache-1.3.41-modssl/conf/apache.conf

und schon rennt das ding!! :)

hab mal meine minimal-conf in anhang gepackt....

Kontr-Olli
 

Anhänge

  • apache.conf.txt
    43 KB · Aufrufe: 51
Zuletzt bearbeitet:
so wieder ein schritt weiter hab die /var/tmp/passwd mal gelöscht waren noch andere einträge drin
jetzt sieht sie so aus
root:x:0:0:root:/:/bin/sh
ftpuser:any:1000:0:ftp user:/var/media/ftp:/bin/sh

wenn ich nun den apache starte kommt kein bad user mehr :)

jetzt passiert aber gar nix mehr

#/var/media/ftp/Intenso-Rainbow-00/apache-1.3.41-modssl/bin/apache -f /var/media/ftp/Intenso-Rainbow-00/apache-1.3.41-modssl/conf/apache.conf
#
#


# cd /var/media/ftp/Intenso-Rainbow-00/apache-1.3.41-ssl/bin/
# ls
ab apachectl checkgid htdigest logresolve
apache apxs dbmmanage htpasswd rotatelogs
# ./apache -f /var/media/ftp/Intenso-Rainbow-00/apache-1.3.41-ssl/conf/apache
.conf
#
#
#


woran kanns nun wieder liegen ???
 

Anhänge

  • apache.conf.txt
    44.1 KB · Aufrufe: 6
[Edit frank_m24: Mehrere Beiträge innerhalb weniger Minuten zusammengefasst. Man kann seine Beiträge auch editieren. Lies noch mal die Forumregeln.]
@p-dichlorbenzol
moin....

schon mal geschaut ob der apache danach nicht schon am laufen ist....einfach mal auf deinen in der conf eingestellten "FB-IP:port" mit browser zugreifen....also bei dir wahrscheinlich 192.168.178.1:85.....zur info...ich glaube es reicht aus, einmal in der apache.conf den ServerRoot mit "/var/media/ftp/Intenso-Rainbow-00/" zu deklarieren...alle weiteren angaben beziehen sich dann relativ darauf und brauchen folglich nicht mehr großartig verändert zu werden, da ja bei dir der apache auch im apache-1.3.41-ssl verzeichnis liegt....hab mal kurz deine conf überflogen und hab mal die absoluten gegen die relativen pfade versucht auszutauschen...aber halt den ServerRoot festgelegt....und dann würd ich sagen, dass der server dann schon läuft....um apache im hintergrund auszuführen kannst du auch ./apache -f /absoluter/pfad/zur/apache.conf & ausführen...ansonsten mal in die errolog schauen und posten...

[Beitrag 2:]
@gingerblue

danke für den auszug aus strace.....werde mal schauen, was ich noch beim kompilieren wählen kann....vielleicht bekomm ich das noch komplett statisch gebaut.....was mich jedoch wundert, ist die tatsache, dass wenn du die libiconv in das verzeichnis /lib/mod kopierst, dass dann zwar ./php und ./php-cgi in der konsole wohl laufen aber der apache dann wohl nicht mehr funktioniert....kannst du mal berichten, was passiert wenn du nach erfolgreichem symbolischen linken der libiconv den apache startest....weil apache ja eigentlich nichts mit der libiconv zu tun hat....und wenn php in der konsole startet, sollte es auch mit dem apache laufen....ev. ist der pfad für php-cgi nicht richtig in der apache.conf eingestellt.....

Kontr-Olli
 

Anhänge

  • apache4p-dichlorbenzol.conf.txt
    43.9 KB · Aufrufe: 15
@Kontr-Olli
..was mich jedoch wundert, ist die tatsache, dass wenn du die libiconv in das verzeichnis /lib/mod kopierst, dass dann zwar ./php und ./php-cgi in der konsole wohl laufen aber der apache dann wohl nicht mehr funktioniert...
Der Apache an sich läuft - nur ohne php(-cgi).
Im Errorlog vom Apachen steht jedoch der gleiche Fehler, als wenn ich die libiconv.so.2 nicht in /mod/lib zur Verfügung gestellt hätte.
Code:
php-cgi: can't load library 'libiconv.so.2'
[Mon Dec 22 15:13:16 2008] [error] [client 192.168.0.67] Premature end of script headers: /var/media/ftp/uStor01/apache-1.3.41/cgi-bin/php-cgi

..kannst du mal berichten, was passiert wenn du nach erfolgreichem symbolischen linken der libiconv den apache startest...
Der Apache startet normal mit folgender Logausgabe:
Code:
[Mon Dec 22 15:14:57 2008] [info] created shared memory segment #1081348
[Mon Dec 22 15:14:57 2008] [notice] Apache/1.3.41 (Unix) configured -- resuming
[Mon Dec 22 15:14:57 2008] [info] Server built: Dec  9 2008 13:10:45
[Mon Dec 22 15:14:57 2008] [notice] Accept mutex: sysvsem (Default: sysvsem)
Meine Apache.conf sollte eigentlich passen.

Die php.ini habe ich später um folgendes ergänzt
include_path = ".:/var/media/ftp/uStor01/apache-1.3.41/cgi-bin:/mod/lib"
Ohne Erfolg.


Gruü Gingerblue
 

Anhänge

  • apache.conf.txt
    33.4 KB · Aufrufe: 20
da mein apache nun läuft wollte ich jetzt per htaccess so einstellen

das es eine ornder für I-net gibt von drausssen zugang und ein order baum wo nur LAN zugrief möglich ist

in der .htaccess hab ich
<Directory /LAN>
order deny, allow
allow from 192.168.xxx.xxx
allow from 127.0.0.1
deny from all
</Directory>
<Directory /I-Net>
allow from all
</Directory>

aber das ganze geht nicht nur eins von beiden
hat wer ne bessere idee ???
 
Hallo Zusammen

Ich hab auch ein kleines Problem bezüglich zum apache-1.3.41-modssl-mipsel.tar.bz2 von Kontr Olli.

Ich habe eine Fritz Box 7270 ohne weitere Modifikationen oderso.

ich hab das paket gedownloadet und dann die Pfadangaben auf meine einstellungen angepasst. Bei username hab ich ftpuser und bei groop hab ich root verwendet.

gestartet hab ich ihn dann so /var/media/ftp/Maxtor6-B160P0-01/apache-1.3.41-modssl/bin/apache -f /var/media/ftp/Maxtor6-B160P0-01/apache-1.3.41-modssl/conf/apache.conf

läuft auch alles soweit bis auf ssl halt noch nicht im Firefox Browser kommt diese Fehlermeldung

SSL hat einen Eintrag erhalten, der die maximal erlaubte Länge überschritten hat.

(Fehlercode: ssl_error_rx_record_too_long)

und im apache_error_log steht

var/media/ftp/Maxtor6-B160P0-01/apache-1.3.41-modssl/bin/apache: can't resolve symbol '__eqsf2'
[Fri Jan 9 11:33:03 2009] [error] [client 192.168.178.20] Invalid method in request \\x16\\x03\\x01

hat villeicht jemand eine ahnung woran es liegen könnte würde mich über jede Hilfe freuen.

MFG Powerbomb123
 
Hallo zusammen,
bei mir will der Apache einfach nicht starten. :(

Die apache.conf habe ich wer weiss wie oft überprüft. Er lässt sich weder über die debug.cfg, noch direkt über Telnet starten. Über Telnet bekomme ich immer die Fehlermeldung Bus error.

Was hat der Bus error denn zu bedeuten?
 
moin ;)

ich hab das problem mit meinem apache, dass er abends läuft und ich dann nachts was runterlade, also reconnecte. am morgen läuft der server dann nur noch local fritz.box:85 aber nach aussenhin geht nix mehr...

woran kann das eurer meinung nach liegen?
 
dyndns nicht aktualisiert?
wie hast du dei freigabe nach aussen(internet) gelöst?
wenn es diese ifocnfig bla blubb up geschichte iss, dann wird der dsld diese regel beseitigt haben...würde bedeuten das bei jedem reconnect dieses virtuelle interface wieder angelegt wrden müsste...
daher würde ich dir raten eine forwardingregel zu erstllen die den port 85 auf 0.0.0.0 freigibt(das erlaubt das avm interface nicht, aber es gibt genug umwege hier in der suche um das doch noch hinzubekommen)
 
bus error kommt gern wenn was mit dr partiton nicht stimmt...
Danke !!! Das war es. :p:groesste:
Ich vermute mal, dass ich den Stick mit meinen NTFS-Experimenten ein wenig verbeult hatte. Was mich nur wundert ist, dass der normale Zugriff auf den Stick funktionierte.


...bis denne Jörg
 
dyndns nicht aktualisiert?
wie hast du dei freigabe nach aussen(internet) gelöst?
wenn es diese ifocnfig bla blubb up geschichte iss, dann wird der dsld diese regel beseitigt haben...würde bedeuten das bei jedem reconnect dieses virtuelle interface wieder angelegt wrden müsste...
daher würde ich dir raten eine forwardingregel zu erstllen die den port 85 auf 0.0.0.0 freigibt(das erlaubt das avm interface nicht, aber es gibt genug umwege hier in der suche um das doch noch hinzubekommen)

jaa, das ist doch schon alles passiert.
Per IP gibts auch keine Verbindung von auserhalb.

Ich hab beides eingetragen:
Code:
#Apache
ifconfig eth0:1 10.1.1.100 netmask 255.255.255.0 down
ifconfig eth0:1 10.1.1.100 netmask 255.255.255.0 up
/var/media/ftp/uStor01/apache/apache -f /var/media/ftp/uStor01/apache/conf/apache.conf
und dann ist noch eine Freigabe auf 10.1.1.100:85 auf port 80 nach aussen freigegeben.

ist das nun doppelt gemoppelt oder so? bis jetzt lief es immer einwandfrei, es kam erst vor ein paar tagen!
 
wie darky schon meinte, es ist wohl besser in der ar7.cfg ein Forwarding auf die 0.0.0.0 anzulegen, da die virtuellen IP's, teilweise nach einem reconnect ignoriert werden.

Dann müsstest du dein apache-script jedesmal ausführen, wenn ein reconnect-stattfindet.

Wie sieht denn der forward-bereich in der ar7.cfg aus?
 
hier die forwardregel
Code:
tcp 0.0.0.0:80 10.1.1.100:85 0 # Apache
was muss ich denn nun dort ändern, bzw was muss ich in der apache.conf ändern oder ist die überhaupt richtig?
Code:
#Listen 3000
#Listen 10.1.1.100:85
Code:
Port 85
Code:
ServerName fritz.box
 
bei mir sieht die so aus ;-)
tcp 0.0.0.0:85 0.0.0.0:85 0 # Apache
und ich würde bei deiner apache.conf Port 85 mit nem# versehen und dafür Listen das wegnehmen und die ip auf 0.0.0.0 ändern wenn du das mit dem portforwarding hinkriegst...
 
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.