ImageMagick path on ovh shared host

Hi,
I have installed omeka inside the directory of a joomla website. As far as I can see, all seems right except the ImageMagick path test from the setup screen (and therefore thumbnails are not generated). I've read a lot of topics on the forum with no success.

The website is hosted by OVH on a shared hosting;
I asked OVH's support team for confirmation that ImageMagick was available and to know about the right path; they answered with the following:
____________________________________________
- Version: ImageMagick 6.6.0-4 2014-04-04 Q16 http://www.imagemagick.org
- Url: /usr/bin/convert
____________________________________________

So I tried this path as well as /usr/bin/ according to what I can read from some posts but I keep getting the same message bout the path not beeing right.

The whole path to omeka directories and files on the server is :
/www/bibliotheque/ (that is, /www/bibliotheque/admin, /www/bibliotheque/application, etc.)
All grants from "bibliotheque" directory set to 775, subdirectories included.

Any help would be appreciated. Thanks

I don't know what the problem is, but I have a test site on a shared server and /usr/bin and /usr/bin/ both work fine.

Perhaps the host company will have to look into it further?

I've got the same problem: Omeka 2.2.2 running on a shared host (Arvixe).
ImageMagick is running correctly:

moremus@moremuseum.org [/root]# /usr/bin/convert -version
Version: ImageMagick 6.7.1-7 2012-09-05 Q16

But Omeka ImageMagick path test fails.

This is a piece taken from error.log:

2015-01-09T02:11:34-08:00 ERR (3): ImageMagick failed with status code -1.
2015-01-09T02:21:23-08:00 ERR (3): ImageMagick failed with status code -1.
2015-01-09T02:45:51-08:00 WARN (4): Omeka_Storage_Adapter_Filesystem: Tried to delete missing file 'original/dc9cab7ad053688a9dc5c3c7d00ef2af.jpg'.
2015-01-09T02:45:51-08:00 ERR (3): exception 'Omeka_File_Derivative_Exception' with message 'ImageMagick is not properly configured: invalid directory given for the ImageMagick command!' in /home/moremus/public_html/omeka/application/libraries/Omeka/File/Derivative/Strategy/ExternalImageMagick.php:83
Stack trace:
#0 /home/moremus/public_html/omeka/application/libraries/Omeka/File/Derivative/Strategy/ExternalImageMagick.php(39): Omeka_File_Derivative_Strategy_ExternalImageMagick->_getConvertPath()
#1
/home/moremus/public_html/omeka/application/libraries/Omeka/File/Derivative/Creator.php(76): Omeka_File_Derivative_Strategy_ExternalImageMagick->createImage('/tmp/dc9cab7ad0...', '/tmp/fullsize_d...', 'fullsize', 800, 'image/jpeg')
#2 /home/moremus/public_html/omeka/application/models/File.php(362): Omeka_File_Derivative_Creator->create('/tmp/dc9cab7ad0...', 'dc9cab7ad053688...', 'image/jpeg')
#3 /home/moremus/public_html/omeka/application/models/Job/FileProcessUpload.php(22): File->createDerivatives()
#4 /home/moremus/public_html/omeka/application/libraries/Omeka/Job/Dispatcher/Adapter/Synchronous.php(25):

Please help!
Thanks
Alberto

OK, in config.ini I replaced:

fileDerivatives.strategy =
"Omeka_File_Derivative_Strategy_ExternalImageMagick"

with

fileDerivatives.strategy = "Omeka_File_Derivative_Strategy_Imagick"

Now it works!
(Anyway Omeka ImageMagick path test still fails, but this is not a great problem).
Alberto

Thanks salab, after a few days off, but for me it doesn't work.

In config.ini I first uncommented the following line, just to be sure:
fileDerivatives.strategy =
"Omeka_File_Derivative_Strategy_ExternalImageMagick"
As expected, nothing changed.

Then I commented back this line and uncommented the one you did:
fileDerivatives.strategy = "Omeka_File_Derivative_Strategy_Imagick"

Now I got an error message whatever I try to do in the backend as well as in the frontend.
The /application/logs/errors.log content ends now like:

2015-01-19T15:46:09+01:00 ERR (3): exception 'Omeka_File_Derivative_Exception' with message 'This derivative strategy requires ext/imagick.' in /home/dioceseq/www/bibliotheque/application/libraries/Omeka/File/Derivative/Strategy/Imagick.php:27
Stack trace:
#0 /home/dioceseq/www/bibliotheque/application/libraries/Omeka/Application/Resource/Filederivatives.php(43): Omeka_File_Derivative_Strategy_Imagick->__construct()
#1 /home/dioceseq/www/bibliotheque/application/libraries/Zend/Application/Bootstrap/BootstrapAbstract.php(695): Omeka_Application_Resource_Filederivatives->init()
#2 /home/dioceseq/www/bibliotheque/application/libraries/Zend/Application/Bootstrap/BootstrapAbstract.php(638): Zend_Application_Bootstrap_BootstrapAbstract->_executeResource('filederivatives')
#3 /home/dioceseq/www/bibliotheque/application/libraries/Zend/Application/Bootstrap/BootstrapAbstract.php(598): Zend_Application_Bootstrap_BootstrapAbstract->_bootstrap(NULL)
#4 /home/dioceseq/www/bibliotheque/application/libraries/Zend/Application.php(355): Zend_Application_Bootstrap_BootstrapAbstract->bootstrap(NULL)
#5 /home/dioceseq/www/bibliotheque/application/libraries/Omeka/Application.php(51): Zend_Application->bootstrap()
#6 /home/dioceseq/www/bibliotheque/admin/index.php(28): Omeka_Application->initialize()
#7 {main}`

For me it means that Imagick is not found on the server, just like Image Magick.

Any idea on what to do now apart from getting back in touch with the hosting team? Thanks a lot.

As someone who just finished debugging a similar situation, please note that having the ImageMagick path is the first in a chain of things that need to be in place for the use of ImageMagick.

A key PHP feature that needs to be enabled is "proc_open" (and several others). If these have been disabled in your shared hosting environment you will either see a failed Settings test, or the test may work but the conversions will fail.

I don't claim this to be an exhaustive list, but make sure the following are not disabled: proc_open, proc_close, escapeshellarg, escapeshellcmd

You may be able to adjust them in your php.ini file.

Why would these features be disabled? The features, in general, are used by site hackers for various nefarious purposes. Turning them off makes the site less useful if someone attacks you.

Hi,

Use the ExternalImageMagick and remove all checks that are done before sending command in

application/libraries/Omeka/File/Derivative/Strategy/ExternalImageMagick.php

and add in config.ini:

fileDerivatives.strategyOptions.convert_path = "convert"

Sincerely,

Daniel Berthereau
Infodoc & Knowledge management

Hi,

The simpler solution is to use GD as the file derivatives strategy (available in Omeka 2.3).

Sincerely,

Daniel Berthereau
Infodoc & Knowledge management

Hi,

thank for your two last messages.

- As for the latter, it sounds fine but when could we expect Omeka 2.3 to become available?

- Regarding the previous one, I modified config.ini as to let uncommented only the following lines in the "Derivative Images" section:

fileDerivatives.strategy = "Omeka_File_Derivative_Strategy_ExternalImageMagick"
fileDerivatives.strategyOptions.convert_path = "convert"

In the setup screen the path to ImageMagick is /usr/bin/. Any need to edit it?

As to remove all checks from ExternalImageMagick.php, I'm not sure what to remove as there are a lot of "if" clauses through the 6 functions it contains. Could you please be more specific (sorry, I wish I had more knowledge in php coding :-/ ).

Thank again!

Jean-Paul

Hi,

See https://gist.github.com/Daniel-KM/c8534e60e9d839442ea9 for the hack.

Omeka 2.3 is already available on Github (https://github.com/omeka/Omeka) and in some days here.

Sincerely,

Daniel Berthereau
Infodoc & Knowledge management

Hi,
I tried the 2 solutions:

- Replaced "ExternalImageMagick.php" by the hack you gave me. Then all pages went blank either on frontend and backend. Error.log read:
2014-12-04T16:35:03+01:00 ERR (3): ImageMagick failed with status code -1.

- downloaded and installed omeka 3 (actually omeka-master; i hope it's ok) find on github, in a separate directory and another DB. After renaming config.ini.changeme in config.ini, the install went fine.
But still no thumbnails, the uploaded document being a pdf or a jpg picture as well.
I guess there is something to change in config.ini in orger to set GD as the choosen option but there is no clue on how to do that.
Assuming there is then no need for ImageMagick, I didn't fill in the path in the settings parameters.
I think I have forgotten nothing important...

Sorry for asking again. Perhaps there is something simple i'm missing...
Jean-Paul

I should note that, while we've bumped the version in the GitHub repo, changes will still likely be coming for the actual release of Omeka 2.3. I don't anticipate major differences, but it's worth bearing in mind if you grab what's currently in GitHub.

Thanks patrickmj; don't worry, I am aware that changes are likely to come. It was just for me to know whether this new feature (GD use instead of ImageMagick) could solve my problem when this issue will be released (2.3 and not 3, of course). I'm waiting for some advice about my unsuccessful test.

Hi,

I have a site on Ovh (http://bibliothequedesphares.fr) and it uses the file I send via Gist (one year ago, it was another one, but they change their config without warning).

In config.ini, I have:

    background.php.path = "/usr/bin/php"
    cache.locale.backend.options.cache_dir = "/home/myaccount/tmp/"
    fileDerivatives.strategy = "ExternalImageMagick"
    fileDerivatives.strategyOptions.convert_path = "convert"

(myaccount is your account of course).

For GD, you should use the same options, but:

    fileDerivatives.strategy = "GD"

Sincerely,

Daniel Berthereau
Infodoc & Knowledge management

Hi,
First, GD on omeka 2.3:
with fileDerivatives.strategy = "GD" I get an error.
I tried fileDerivatives.strategy = "Omeka_File_Derivative_Strategy_GD"
It finally works with jpg files, but not with pdf. From what I can read about GD libraries, not very surprising.

Second, ImageMagick. I am still stuck.
fileDerivatives.strategy = "ExternalImageMagick" causes a blank tab. The full option name doesn't cause that.
I'm a bit confused about "my account". I tried my site domain name, my customer id...

Couldn't we go on private messages. I see that you are willing to help me but I'm afraid that it spoils that forum.
May I send you my email address via your website** contact form? (plus, we could go further... in French ;-))

**very interesting one as I live in Brest!
Thank again
Jean-Paul

Hi,

Private message is not allowed here, but my mail is easy to find on Github.

Sincerely,

Daniel Berthereau
Infodoc & Knowledge management