Apache2.0 zeigt Bilder von gelinkten Verzeichnissen anderer Partition/ramdisk nicht

Dieses Thema im Forum "Web- & File-Services" wurde erstellt von Harry2o, 12.03.2008.

  1. #1 Harry2o, 12.03.2008
    Zuletzt bearbeitet: 13.03.2008
    Harry2o

    Harry2o Grünschnabel

    Dabei seit:
    12.03.2008
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo,
    da ich wirklich nicht weiß, was eigentlich das grundlegende Problem ist, schildere ich einfach kurz die Situation.

    Apache 2.0.54 mit PHP-4.3.10 zeigt keine Bilder an, die einer Ramdisk liegen. Andere Dateitypen funktionieren jedoch wunderbar.
    In einem Verzeichnis html/ gibt es einen Ordner pics/ welches eine 50MB große Ramdisk ist (mount tmpfs -t tmpfs -o size=50M pics). Möchte ich nun html/pics/picture.png anzeigen, bekomme ich vom Server die URL selber wieder angezeigt - wget liefert "picture.png has sprung into existence" und in der access.log(!) steht, dass das Bild mit HTTP Code 206 geliefert wurde. Rufe ich jedoch eine HTML-Datei html/pics/test.html auf, wird diese ganz normal richtig dargestellt. (Ein eingebundenes img (src="./picture.png) bleibt btw leer )
    Liegt dasselbe Bild z.B. in html/ (also echt auf der Platte), wird html/picture.png ganz normal angezeigt.

    Ich hatte zuerst den Verdacht, es läge daran, dass pics/ ursprünglich ein Symlink auf /dev/shm war. Aber, erstens ist FollowSymLinks an, zweitens funktioniert ja die test.html. Dann dachte ich, es läge an der entfernten logischen Partition (/dev/shm); aber auch Fehlanzeige, da eine direkt in dem Verzeichnis angelegte Ramdisk dasselbe Problem zeigt.
    Dass .html funktioniert, aber .png (und .bmp) nicht, lässt auf ein Problem mit Filetypen - innerhalb Ramdisks (oder unter welchen Umständen auch immer) - schließen.
    Ein htaccess "AddHandler image .png" ändert nichts. (Interessant jedoch, dass "AddHandler php-script .png" den Inhalt zeichenweise zurückgibt; semantisch Schwachsinn, ich weiß, aber interessant bzgl der Filetypenthese).

    Ja .. was gibt's sonst noch zu sagen? Das sind vorerst die Fakten.
    Achja, unter Apache 2.2.3 funktioniert es wie gewünscht - keine Probleme beim Anzeigen irgendwelcher Dateitypen auf Ramdisks. Hilft mir aber nichts, es muss unter 2.0 laufen. Die Konfigurationsdateien unterscheiden sich nur unwesentlich, und nicht in Punkten, die damit irgendwie in Zusammenhang zu bringen seien.

    [edit]OS ist debian mit 2.4er kernel; und die Zugriffsrechte aller Dateien sind gleich, nämlich rw-r-r [/edit]

    Hat irgendjemand eine Idee?
    ~Harry


    [edit2] Mittlerweile hab' ich auch versucht, die Dateien www-data zu geben. Außerdem die Ramdisk ALS www-data gemountet und www-data die Rechte an den gemounteten Daten verschafft (kann man in der /etc/fstab eintragen, dass www-data auch mounten darf). Alles beim Alten, bei den Bildern ist weiterhin nur die URL selber als Text sichtbar! [/edit2]
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Harry2o, 13.03.2008
    Harry2o

    Harry2o Grünschnabel

    Dabei seit:
    12.03.2008
    Beiträge:
    2
    Zustimmungen:
    0
    Nach längerem Suchen und Ausprobieren bin ich, glaub' ich, auf die "Lösung" des Problems gekommen.

    Die Standard-Ramdisk /dev/shm und die von mir verwendete Ramdisk verwenden den Filesystemtyp "tmpfs". Damit scheint nun der Apache in Version 2.0.x ein Problem zu haben, wenn auf diesem "Filesystem" Bilder liegen.

    Ein Workaround ist nun, ein /dev/ramX Device mit ext2 zu formatieren und zu mounten. (Wehrmutstropfen hier natürlich, dass man nun die (maximale) Größe nicht mehr ganz frei bestimmen kann, sondern diese (also die Größe der /dev/ramX devices) beim Systemstart festgelegt werden. Man muss also die Bootloader-Config ändern).

    Vorgang:
    Wenn die Standardgröße von /dev/ramX mit 4MB zu klein ist, in grub und lilo ähnlich:
    In /etc/grub.conf oder /boot/grub/menu.lst in der Kernelzeile:
    title Ubuntu, kernel 2.6.20-16-generic
    root (hd0,6)
    kernel /boot/vmlinuz-2.6.20-16-generic [...] ramdisk_size=50000
    initrd /boot/initrd.img-2.6.20-16-generic​
    Die Größe ist dabei die Blockanzahl, wobei die Ramdisk auch schon ein wenig Platz beim Erstellen belegt.

    Das Device formatieren:
    $ mkfs -t ext2 /dev/ram0

    Und mit neuem Filesystem mounten:
    $ mount /dev/ram0 -t ext2 /html/pics
     
Thema:

Apache2.0 zeigt Bilder von gelinkten Verzeichnissen anderer Partition/ramdisk nicht

Die Seite wird geladen...

Apache2.0 zeigt Bilder von gelinkten Verzeichnissen anderer Partition/ramdisk nicht - Ähnliche Themen

  1. Proxmox VE 4.0 zeigt erste Beta-Version mit interessanten Neuerungen

    Proxmox VE 4.0 zeigt erste Beta-Version mit interessanten Neuerungen: Die Proxmox Server Solutions GmbH hat eine erste Beta von Version 4.0 seiner Open-Source Servervirtualisierungslösung Proxmox Virtual Environment...
  2. Redhat 7 Installer zeigt keine vorhanenden Partitionen (SSD)

    Redhat 7 Installer zeigt keine vorhanenden Partitionen (SSD): Hallo zusammen, vielleicht kann mir hier einer helfen. Ich versuche Redhat Enterprise 7 auf einen Esprimo 720 zu installieren. Der Installer...
  3. [openSUSE 13.2] Kontact Übersicht zeigt keine Geburstage

    [openSUSE 13.2] Kontact Übersicht zeigt keine Geburstage: Hallo, nach langer Zeit bin ich mal wieder auf ein Problem gestoßen was ich absolut nicht selbst in den Griff bekomme. Unter openSUSE 12.3 (fragt...
  4. Compulab zeigt Utilite2

    Compulab zeigt Utilite2: Der auf kleinformatige Rechner spezialisierte Hersteller Compulab hat mit dem Utilite2 ein neues Modell in sein Sortiment aufgenommen. Der Rechner...
  5. Google zeigt Vorschau auf nächste Android-Version

    Google zeigt Vorschau auf nächste Android-Version: Google hat auf seiner Hauskonferenz Google I/O eine Vorschau auf nächste Android-Version unter dem Namen »Android L« gegeben. Weiterlesen...