Zum Inhalt springen

ImageMagick in einem Jail wird nicht erkannt

Erstellt am 19. Oktober 2006 · 5 Antworten · letzte Antwort am 1. November 2006

Tags: Bilder, Frage

Helmut Schneider ·

Hi,

mein apache2 läuft in einem Jail unter /var/www. Nun hab ich alle Binaries von IM mitsamt Abhängigkeiten nach /var/www kopiert.

[root@cms ~]# chroot -u www /var/www/ /usr/local/bin/composite
Version: ImageMagick 6.2.9 10/06/06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2006 ImageMagick Studio LLC
[...]
[root@cms ~]#

[root@cms ~]# ls /var/www/usr/local/bin/
Magick++-config Wand-config compare conjure display import montage
Magick-config animate composite convert identify mogrify stream
[root@cms ~]#

[GFX][im]= 1
[GFX][im_version_5]= 1
[GFX][im_path]= /usr/local/bin
[GFX][im_path_lzw]= /usr/local/bin

Allerdings weigert sich das Install Tool, IM zu erkennen.

Hat wer eine Idee? Wo sucht T3?

Danke und Gruß, Helmut

Helmut Schneider ·
Helmut Schneider schrieb

mein apache2 läuft in einem Jail unter /var/www. Nun hab ich alle Binaries von IM mitsamt Abhängigkeiten nach /var/www kopiert.

Ausserhalb eines Jails (also ganz "regulär") geht es auch nicht. FreeBSD 6.1, PHP 5.1.6, Apache 2.0.59, ImageMagick 6.2.9

Helmut Schneider schrieb

[GFX][im_version_5]= 1

"[GFX][im_version_5]= im6" hilft auch nicht.

Helmut Schneider ·
woida schrieb

Vielleicht ein Rechteproblem?

Kann man ausschliessen.

woida schrieb

Steht was im error.log?

Nein.

Ich hab ne alte statische Version von 4.2.9 für FreeBSD gefunden - ebenfalls erfolglos, wird nicht erkannt. Ich verstehs ned. GDLib und Freetype erkennt T3 problemlos.

kingkong ·

Hallo

die Frage wird wahrscheinlich zu 99.9% die sein wo die php exec Funktion ImageMagick aufruft.Läuft php als CGI-BIN chrooted (oder BSD jailed) über einen Wrapper oder wird php als Apache2 Modul geladen ? . Du könntest einmal folgendes Ausprobieren :

<?php
$result=shell_exec("/usr/local/bin/composite -v");
echo $result</br>
?>

Das ganze dann erstmal auf der Shell (falls cgi-bin php) testen mittels :

strace -olog -F -v chroot -u www /var/www/ /usr/bin/php ./test.php

strace sollte auch unter BSD erhältlich sein .(pkg_info | grep strace)

In der "log" Datei kannst du dir dann im Detail angucken was intern abläuft.
Sollte php als Apache Modul laufen empfiehlt sich das php Script in einen
Test-VirtualHost auszuführen und dann die entsprechenden Logfiles zu kontrollieren (oder die Fehlerausgabe von shell_exec falls eine kommt).

Mfg
kingkong

Helmut Schneider ·

Hi,

kingkong schrieb

die Frage wird wahrscheinlich zu 99.9% die sein wo die php exec Funktion ImageMagick aufruft.Läuft php als CGI-BIN chrooted (oder BSD jailed) über einen Wrapper oder wird php als Apache2 Modul geladen ? . Du könntest einmal folgendes Ausprobieren :

Als Modul. Und das "jail" ist ein mod_chroot, kein jail(8-).

kingkong schrieb

<?php
$result=shell_exec("/usr/local/bin/composite -v");
echo $result</br>
?>

PHP Parse error: syntax error, unexpected '/' in ./IM_test.php on line 3

Aber selbst ohne echo:
mmap(0x0,0,(0x1)PROT_READ,(0x1)MAP_SHARED,3,0x0) ERR#22 'Invalid argument'

Das gilt im Übrigen auch ohne chroot...

kingkong schrieb

Sollte php als Apache Modul laufen empfiehlt sich das php Script in einen
Test-VirtualHost auszuführen und dann die entsprechenden Logfiles zu kontrollieren (oder die Fehlerausgabe von shell_exec falls eine kommt).

Das error log schweigt sich aus. 🙂