[Problem] Apache auf 7320

Morpheus19

Neuer User
Mitglied seit
18 Nov 2011
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich versuche auf meiner FritzBox 7320 einen Apache ans Laufen zu bringen.
Ich orientiere mich an der Beschreibung aus dem Wiki:
http://freetz.org/wiki/packages/apache

Die Version des Apache ist 1.3.41

Wenn ich den Apache über apachectl starten möchte, erhalte ich die Fehlermeldung

Code:
root@fritz:/var/media/ftp/uStor01/apache-1.3.41# ./apache-1.3.41/bin/apachectl s
tart
fopen: No such file or directory
apache: could not open document config file /apache-1.3.41/conf/apache.conf
./apache-1.3.41/bin/apachectl start: httpd could not be started

Versuche ich Apache manuell zu starten und das entsprechende Conf-File selbst zuübergeben erhalte ich einen Segmentation Fault.

Es liegt daher die Vermutung nahe, dass auch beim Starten über apachectl ein Segmentation Fault auftreten würde, sofern er das Config-File finden würde.

Bei einer Suche im Forum habe ich heraus gefunden, das der Segmentation Fault auf ein fehlerhaftes Binary zurückzuführen ist. Ich habe das Binary einmal per FTP im binären Modus übertragen und einmal direkt über meinen Laptop das Ergebnis ist immer das selbe.

Irgendwelche Ideen, wie ich das Problem beheben könnte?:confused:
Vielen Dank im Voraus
 
Keiner eine Idee, wie ich das Problem lösen könnte ??
 
Hast du den Apachen selbst gebaut?
Wenn nicht, hast du auch die Version für die 7390/7320 genommen?
Du kannst ja mal den Apache 2.2.17 von hier testen...
 
Danke für die Antwort

Ich habe es nun noch mal probiert und die von dir verlinkte Version funktioniert.

Ich habe vor webdav und svn über http mit dem Apache zu realisieren.
Die Module für webdav sind in der Version vorhanden, wenn ich richtig geguckt habe.
Für svn über http wird dav_svn benötigt, das ist nich vorhanden.

Gibt es schon irgendwo ein kompilierten Apache mit diesen Modulen oder muss ich dies selbst versuchen ??

Gruß.
 
Apache kompilieren

Ich habe jetzt mal versucht den Apache 2.21 zu compilieren nur irgendwie komme ich da nicht ganz weiter.

Zuerst füge ich die Toolchain zum Path hinzu:
Code:
export PATH=/mnt/data/freetz-trunk/toolchain/target/bin/:$PATH

Anschließend führe ich das Config-Skript aus:
Code:
 sudo ./configure --target=mips --prefix=/usr/local/apache --enable-dav --enable-dav-fs --enable-dav-lock --enable-ssl --enable-static-htpasswd --enable-mods-shared=max

Ein Teil des Configure-Output sieht dann so aus:
Code:
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... mips-unknown-elf

Configuring Apache Portable Runtime library ...

checking for APR... reconfig
configuring package in srclib/apr now
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... mips-unknown-elf
Configuring APR library
Platform: x86_64-unknown-linux-gnu
checking for working mkdir -p... yes
APR Version: 1.4.5
checking for chosen layout... apr
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no

Es wird also kein Cross-Compiling durchgeführt, ich verstehe nur nicht so genau warum. Habe mich bei den Config-Optionen an diesem Post orientiert und lediglich die Toolchain von Freetz verwendet. Auch die Angabe des Host-System führt nicht dazu, dass ein Cross-Compiling durchgeführt wird.

Für Hilfe wäre ich dankbar.
 
Ich habe den Patch im Freetz-Ticket 1110 mal auf 2.2.21 gebracht, damit kannst du direkt mit Freetz den Apache bauen ;-)

Im Freetz-Ordner (natürlich erst den Patch dorthin laden ;-)):
Code:
patch -p0 < apache_2.2.21_with_proxy_html_trunk.patch
make menuconfig 
# hier dann Box wählen und bei den Paketen unter "Testing" 
# Apache (statisch und mit eingebauten Modulen am besten ;-))
# dann:
make apache-precompiled

Das Binary liegt dann vor als "packages/target-<Architektur_und_uClib>/apache-2.2.21/apache-2.2.21/usr/sbin/apache".
 
Ich hab jetzt das Ticket nicht noch mal durch gelesen. Was ist der Grund warum das nicht im Trunk ist? Ich wäre dafür den neuen Apache zusätzliche zur alten Version aufzunehmen (apache2).

Gruß
Oliver
 
Ich denke das war, weil der Apache grundsätzlich nicht "so richtig" integriert ist. Das Binary ist einfach sehr groß, deshalb ist es ohne USB nicht so sinnvoll (braucht man wohl eh für einen Webserver ;-))...

Obwohl "er13" da im Ticket für diese neue Version eine rudimentäre Einbindung gebaut hatte, mit der die wichtigsten Dinge in Image kommen können. Ich werde mal versuchen, eine "normale" 2-er Version zu bauen, ohne die "Zusätze", für die ich noch nicht so richtig weiß, wie man sie "schön" integrieren könnte...

Jörg
 
Inzwischen haben wir ja den external Mechanismus. Und wenn jemand 16MB Flash hat, passt er vielleicht sogar da hinein.

Jemand hat doch schon festgestellt, dass der Apache2 sogar kleiner ist als der Apache1. Es spricht aber auch nichts dagegen, beide anzubieten.
 
@Morpheus19:
Leider funktioniert das Bauen von "apxs" mit dem Crosscompiler nicht so richtig (zumindest bei mir nicht).
Deshalb habe ich mal "von Hand" ein Binary mit dav_svn gebaut (aus dem Subversion-Paket den Ordner mod_dav_svn in den Apache kopiert, die benötigten includes auch direkt in den Ordner und von Hand Makefiles für die Module gebaut. In Kombination mit hädischen "make" aufrufen und freetz ist dann das angehängte Binary dabei rausgekommen, was zumindest auf einer 7390 "anläuft". Ob das dav_svn funktioniert, weiß ich nicht...)


Code:
root@fritz:/var/tmp# ./apache_bin -l
Compiled in modules:
  core.c
  mod_authn_file.c
  mod_authn_dbm.c
  mod_authn_anon.c
  mod_authn_dbd.c
  mod_authn_default.c
  mod_authz_host.c
  mod_authz_groupfile.c
  mod_authz_user.c
  mod_authz_dbm.c
  mod_authz_owner.c
  mod_authz_default.c
  mod_auth_basic.c
  mod_auth_digest.c
  mod_dbd.c
  mod_dumpio.c
  mod_reqtimeout.c
  mod_ext_filter.c
  mod_include.c
  mod_filter.c
  mod_substitute.c
  mod_deflate.c
  mod_log_config.c
  mod_logio.c
  mod_env.c
  mod_mime_magic.c
  mod_expires.c
  mod_headers.c
  mod_ident.c
  mod_setenvif.c
  mod_version.c
  mod_proxy.c
  mod_proxy_connect.c
  mod_proxy_ftp.c
  mod_proxy_http.c
  mod_proxy_html.c
  mod_xml2enc.c
  mod_proxy_scgi.c
  mod_proxy_ajp.c
  mod_proxy_balancer.c
  prefork.c
  http_core.c
  mod_mime.c
  mod_dav.c
  mod_status.c
  mod_autoindex.c
  mod_asis.c
  mod_info.c
  mod_cgi.c
  mod_dav_fs.c
  mod_dav_svn.c
  mod_vhost_alias.c
  mod_negotiation.c
  mod_dir.c
  mod_imagemap.c
  mod_actions.c
  mod_speling.c
  mod_userdir.c
  mod_alias.c
  mod_rewrite.c
  mod_so.c
root@fritz:/var/tmp# ./apache_bin -v
Server version: Apache/2.2.21 (Unix)
Server built:   Dec 22 2011 14:40:43
root@fritz:/var/tmp# ps | grep -e apache[_]
 3156 root      4764 S    ./apache_bin -f /tmp/apache/conf/apache.conf
 3157 nobody    4856 S    ./apache_bin -f /tmp/apache/conf/apache.conf
 3158 nobody    4856 S    ./apache_bin -f /tmp/apache/conf/apache.conf
root@fritz:/var/tmp# 
root@fritz:/var/tmp# telnet 192.168.178.73 8899
GET / HTTP/1.0

HTTP/1.1 403 Forbidden
Date: Thu, 01 Jan 1970 00:19:31 GMT
Server: Apache/2.2.21 (Unix) proxy_html/3.1.3 DAV/2 SVN/1.7.2
Content-Length: 202
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.</p>
</body></html>
Connection closed by foreign host
root@fritz:/var/tmp#

EDIT: Anhang scheint defekt, zwei Beiträge drunter ist ein neues...
 
Zuletzt bearbeitet:
Danke für die Hilfe,

ich habe das Binary mal kurz ausprobiert, anlaufen tut der Apache; liefert aber keine Seiten aus.

Die Child-Prozesse brechen mit einem Segmentation Fault ab.
Im Error.log finden sich solche Einträge:
Code:
[Fri Dec 23 11:49:53 2011] [notice] child pid 22038 exit signal Segmentation fault (11)

Ich werde mal gucken, ob ich das Binary ans Laufen bekomme.

Gruß
 
Hm, machte er bei mir auch. Nochmal gebaut, der zeigt Seiten an ;-)

EDIT: Und noch der Patch mit proxy_html und dav_svn gegen den Apache2-Patch im Ticket 1110. Ist wirklich nur ein "dirty Hack", um das modul innerhalb vom Apache zu übersetzen, weil axps nicht funktioniert...
Wenn es statisch übersetzt werden soll, muss man noch die statischen Subversion-Libraries haben und in subversion.mk einschalten:
Code:
--- make/subversion/subversion.mk	(revision 8274)
+++ make/subversion/subversion.mk	(working copy)
@@ -59,7 +59,7 @@
 $(PKG)_CONFIGURE_OPTIONS += --enable-all-static
 else
 $(PKG)_CONFIGURE_OPTIONS += --enable-shared
-$(PKG)_CONFIGURE_OPTIONS += --disable-static
+$(PKG)_CONFIGURE_OPTIONS += --enable-static
 endif
 $(PKG)_CONFIGURE_OPTIONS += --disable-nls
 

Anhänge

  • apache_2.2.21_static_mips_proxy_html_dav_svn.gz
    1.5 MB · Aufrufe: 13
  • apache2_add_proxyHtml_davSvn.patch.gz
    23.5 KB · Aufrufe: 21
Zuletzt bearbeitet:
... und, geht es jetzt??
 
Ja funktioniert.
Bin erst heute dazu gekommen es zu testen.

Vielen Dank für die Hilfe :)
 
Besteht die Möglichkeit, den Patch für das Modul dav_svn auf die aktuelle Revision zu aktualisieren?

Habe es selbst mal versucht, funktionierte jedoch nicht so gut.

Habe es dann mal mit der Rev 8274 versucht. Jedoch schlägt hier schon der Download des Apache fehl, keine Ahnung warum.

Ich bedanke mich schon mal im voraus :)
 
Denn, mal ein Update auf Apache 2.4.1 mit dav_svn aus subversion 1.7.3 und proxy_html. Teste doch mal bitte.

Das statische Binary ist mit 4,5MB nun schon recht groß geworden, mit gzip packen ging nicht mehr, weil es dann über 2MB war. Auspacken mit "7z e apache241.7z"...

EDIT: Prinzipiell geht es wohl:
Code:
joerg@joerg-desktop:~$ telnet 192.168.178.11 8899
Trying 192.168.178.11...
Connected to 192.168.178.11.
Escape character is '^]'.
GET / HTTP/1.0

HTTP/1.1 200 OK
Date: Thu, 01 Jan 1970 00:37:40 GMT
Server: Apache/2.4.1 (Unix) SVN/1.7.2 OpenSSL/0.9.8t
Last-Modified: Thu, 01 Jan 1970 00:37:42 GMT
ETag: W/"43-35d0197c8c640"
Accept-Ranges: bytes
Content-Length: 67
Connection: close
Content-Type: text/html

<html><body><h1>Apache on your FRITZ!Box works!</h1></body></html>
Connection closed by foreign host.
joerg@joerg-desktop:~$
 

Anhänge

  • apache24_with_svn_htmlproxy.patch.gz
    21.6 KB · Aufrufe: 12
  • apache241.7z
    1.5 MB · Aufrufe: 10
Zuletzt bearbeitet:
Danke für die schnelle Antwort.

Das Binary funktioniert.

Der Bauen des Binary bricht jedoch nach Einspielen des Patches mit folgender Fehlermeldung ab.

Code:
make[5]: *** [mod_dav_svn.la] Error 1
make[5]: Leaving directory `/mnt/data/freetz-trunk/source/target-mips_uClibc-0.9.30.3/httpd-2.4.1/modules/dav/mod_dav_svn'
make[4]: *** [shared-build-recursive] Error 1
make[4]: Leaving directory `/mnt/data/freetz-trunk/source/target-mips_uClibc-0.9.30.3/httpd-2.4.1/modules/dav/mod_dav_svn'
make[3]: *** [shared-build-recursive] Error 1
make[3]: Leaving directory `/mnt/data/freetz-trunk/source/target-mips_uClibc-0.9.30.3/httpd-2.4.1/modules'
make[2]: *** [shared-build-recursive] Error 1
make[2]: Leaving directory `/mnt/data/freetz-trunk/source/target-mips_uClibc-0.9.30.3/httpd-2.4.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/data/freetz-trunk/source/target-mips_uClibc-0.9.30.3/httpd-2.4.1'

ERROR: Build failed.
make: *** [source/target-mips_uClibc-0.9.30.3/httpd-2.4.1/apache2] Error 1
 
Kannst du bitte etwas mehr Kontext posten? Du hast die Fehlermeldung abgeschnitten...

Gruß
Oliver
 
Da hab ich bestimmt noch einen Fehler drin. Das Makefile, modules.mk usw für dav_svn hab ich nur zusammengestrickt, denn eigentlich werden Module per "axps" übersetzt, das hat bei mir aber nicht geklappt und deshalb habe ich versucht, das Modul direkt in Apache hinein zu operieren. Kann sein, das damit nicht alle Optionen klappen, ich habe nur "statisch und alle Module direkt drin" getestet...
 
Ich habe es nun noch mal mit "statisch und alle Module direkt drin" getestet und bei mir läuft es nicht fehlerfrei durch:
Code:
collect2: ld returned 1 exit status
make[3]: *** [ab] Error 1
make[3]: Leaving directory `/mnt/data/freetz-trunk/source/target-mips_uClibc-0.9.30.3/httpd-2.4.1/support'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/mnt/data/freetz-trunk/source/target-mips_uClibc-0.9.30.3/httpd-2.4.1/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/data/freetz-trunk/source/target-mips_uClibc-0.9.30.3/httpd-2.4.1'

ERROR: Build failed.
make: *** [source/target-mips_uClibc-0.9.30.3/httpd-2.4.1/apache2] Error 1

Gestern habe ich es ohne "alle Module drin", und ohne SSL + Deflate getestet, da trat der folgende Fehler auf:
Code:
/mnt/data/freetz-trunk/toolchain/build/mips_gcc-4.5.3_uClibc-0.9.30.3/mips-linux-uclibc/usr/share/apr-1/build/libtool --silent --mode=link /mnt/data/freetz-trunk/toolchain/build/mips_gcc-4.5.3_uClibc-0.9.30.3/mips-linux-uclibc/bin/mips-linux-uclibc-gcc -std=gnu99   -march=24kc -Os -pipe -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -L/mnt/data/freetz-trunk/toolchain/build/mips_gcc-4.5.3_uClibc-0.9.30.3/mips-linux-uclibc/usr/lib  -all-static    -o mod_dav_svn.la -rpath /usr/lib/apache2 -module -avoid-version  mod_dav_svn.lo activity.lo authz.lo deadprops.lo liveprops.lo lock.lo merge.lo mirror.lo repos.lo util.lo version.lo reports/mergeinfo.lo reports/log.lo reports/get-locks.lo reports/get-location-segments.lo reports/get-locations.lo reports/file-revs.lo reports/deleted-rev.lo reports/dated-rev.lo reports/update.lo reports/replay.lo posts/create_txn.lo 
make[5]: Leaving directory `/mnt/data/freetz-trunk/source/target-mips_uClibc-0.9.30.3/httpd-2.4.1/modules/dav/mod_dav_svn'
make[4]: Leaving directory `/mnt/data/freetz-trunk/source/target-mips_uClibc-0.9.30.3/httpd-2.4.1/modules/dav/mod_dav_svn'
make[3]: Leaving directory `/mnt/data/freetz-trunk/source/target-mips_uClibc-0.9.30.3/httpd-2.4.1/modules'
make[2]: Leaving directory `/mnt/data/freetz-trunk/source/target-mips_uClibc-0.9.30.3/httpd-2.4.1'
make[1]: Leaving directory `/mnt/data/freetz-trunk/source/target-mips_uClibc-0.9.30.3/httpd-2.4.1'

ERROR: Build failed.

EDIT
Habe die Ausgabe angehängt.
Ausgabe wurde mit make apache2-precompiled >> log.txt erzeugt.
Ich selbst kann anhand der Ausgabe gar nichts erkennen. Sollten daher Informationen erneut nicht gepostet worden sein, dann nicht weil ich meine den Fehler alleine finden zu können, sondern wider besseren Wissens.
 

Anhänge

  • log.zip
    22.9 KB · Aufrufe: 5
Zuletzt bearbeitet:
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.