Hallo erstmal,
ich bin hier (im Forum wie auch in Typo3) neu.
Meine Frage wäre, ob es *irgendjemand* geschafft hat ImageMagick
unter Windows 2K oder 2K3 Server in Funktion zu bekommen?
Ich verwende ImageMagick 6.2.6 sowie Typo3 v3.8.1
Ich habe einen Windows 2000 Server mit IIS im Einsatz und
Typo3 funktioniert grundsätzlich schonmal sehr gut 😃 .
Leider aber nicht die ImageMagick-Integration 😢 :
Warning: exec() [function.exec]: Unable to fork [C:\Programme\ImageMagick\convert.exe -geometry [...]]in
[...]typo3\t3lib\class.t3lib_stdgraphic.php on line 2378
Nach mittlerweile fast 3 Stunden Google-Suche habe ich
vermutlich alle relevanten Tipps und Tricks ausprobiert:
- alle Pfade -zig Mal geprüft
- Vorwärts- und Rückwärts-Slashes in den Pfaden probiert
- Berechtigungen auf mein Typo3 Verzeichnis für IUSR_webserver
auf "Vollzugriff"
- Berechtigungen auf cmd.exe, auf c:\winnt\system32\cmd.exe für
IUSR_webserver auf "Vollzugriff"
Ich habe auf dem Webserver mit filemon (von sysinternals.com)
die Zugriffe überprüft und den "access denied"-Fehler durch
den Benutzer IUSR_webserver auf C:\winnt\system32\cmd.exe gesehen
- trotz "Vollzugriff" :o
Es ist einfach zum Verzweifeln, es funktioniert nicht #angry# .
Hat jemand hier evtl. noch einen Hinweis, was ich versuchen
könnte - mal abgesehen von "verwende doch einfach GDLIB" #paralyzed#
Grüsse
Thomas
Anscheinend hat der IIS wohl doch keinen Vollzugriff auf cmd.exe
Führ doch mal in der Kommandozeile folgendes aus:
cacls %COMSPEC% /E /G %DEIN_COMPUTERNAME%\IUSR_%DEIN_COMPUTERNAME%:R
So, der Tipp mit cacls hat was gebracht:
Der Benutzer IUSR_SERVER ist Mitglied in der Gruppe
"Web Anonymous Users" und dieser Gruppe wird der Zugriff auf
CMD.EXE explizit verweigert - und da kann man den Mitgliedern
Berechtigungen geben wie man will, deny hat Vorrang *vor* allow.
Erteile ich Zugriff, kann cmd.exe gestartet werden, convert.exe
wird auch aufgerufen... aber nix passierte, ausser:
Fatal error: Maximum execution time of 30 seconds exceeded in
c:\Inetpub\wwwroot\EllisWeb\typo3\t3lib\class.t3lib_stdgraphic.php
on line 2378
Nach schrfem Überlegen habe ich in der Konfiguration noch eingestellt,
das ich IM Version 5 oder höher einsetze - und siehe da, jetzt
funktioniert das wie gewünscht 😃
Die Frage ist nur, hat die oben gemachte Rechtevergabe irgendwelche
(Sicherheits?)-Nachteile ?
Grüsse
Thomas
Bitte gern geschehen!
Jetzt kann halt jedes PHP-Skript über exec() Programme aufrufen. Ob das ein Sicherheitsproblem ist, hängt ab, welche Skripte du einsetzt und wer neue Skripte erstellt.
Noch ein Nachtrag - nach weiterer Suche auf Google habe ich jetzt
auch herausgefunden das die Ursache für die "deny"-Einträge wohl das IIS
Lockdown Tool war, das ich vor laaanger Zeit bei der Einrichtung des
Servers benutzt hatte... tja, typischer Fall von "how to shoot your own
foot", wenn man zu Beginn noch nicht so die volle Ahnung hat #paralyzed#
Aber man lernt ja durch nix besser als durch Fehler selbst machen.