Installing without proc_open/on shared hosting

I haven't found a clear answer to this question on the forums; sorry to repeat.

If my host has disabled proc_open, is there any way to use Omeka on my server?

Imagick PHP is installed on the server, the host tells me.

If they have the Imagick extension installed, you should be able to use Omeka 2.2 or higher (including the latest version).

You'll have to add a line to your application/config/config.ini:

fileDerivatives.strategy = "Omeka_File_Derivative_Strategy_Imagick"

Thanks, John. What do you make of this?



Omeka_File_Derivative_Exception

    Failed to execute command: /usr/bin/convert -version.

#0 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Omeka/File/Derivative/Strategy/ExternalImageMagick.php(154): Omeka_File_Derivative_Strategy_ExternalImageMagick::executeCommand('/usr/bin/conver...', NULL, NULL, NULL)
#1 /home/paulnj21/public_html/reedhistory/echarvest/application/controllers/SettingsController.php(196): Omeka_File_Derivative_Strategy_ExternalImageMagick::isValidImageMagickPath('/usr/bin')
#2 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Zend/Controller/Action.php(516): SettingsController->checkImagemagickAction()
#3 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('checkImagemagic...')
#4 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#5 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Zend/Application/Bootstrap/Bootstrap.php(101): Zend_Controller_Front->dispatch()
#6 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#7 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Omeka/Application.php(79): Zend_Application->run()
#8 /home/paulnj21/public_html/reedhistory/echarvest/admin/index.php(28): Omeka_Application->run()
#9 {main}

Where are you seeing that error?

It looks like maybe from the Test button on the Settings page? You don't need to use that or the setting that goes with it if you're using the Imagick derivative strategy.

You're right. Here is the error when I add a file.



Omeka_File_Derivative_Exception

    Failed to execute command: /usr/bin/convert '/tmp/0b7c9826af97108585c5755e59f012cf.jpg[0]' -background white -flatten -thumbnail '800x800>' '/tmp/fullsize_0b7c9826af97108585c5755e59f012cf.jpg'.

#0 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Omeka/File/Derivative/Strategy/ExternalImageMagick.php(49): Omeka_File_Derivative_Strategy_ExternalImageMagick::executeCommand('/usr/bin/conver...', NULL, NULL, NULL)
#1 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Omeka/File/Derivative/Creator.php(76): Omeka_File_Derivative_Strategy_ExternalImageMagick->createImage('/tmp/0b7c9826af...', '/tmp/fullsize_0...', 'fullsize', 800, 'image/jpeg')
#2 /home/paulnj21/public_html/reedhistory/echarvest/application/models/File.php(362): Omeka_File_Derivative_Creator->create('/tmp/0b7c9826af...', '0b7c9826af97108...', 'image/jpeg')
#3 /home/paulnj21/public_html/reedhistory/echarvest/application/models/Job/FileProcessUpload.php(22): File->createDerivatives()
#4 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Omeka/Job/Dispatcher/Adapter/Synchronous.php(25): Job_FileProcessUpload->perform()
#5 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Omeka/Job/Dispatcher/Default.php(136): Omeka_Job_Dispatcher_Adapter_Synchronous->send('{"className":"J...', Array)
#6 /home/paulnj21/public_html/reedhistory/echarvest/application/models/File.php(209): Omeka_Job_Dispatcher_Default->send('Job_FileProcess...', Array)
#7 [internal function]: File->afterSave(Array)
#8 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Omeka/Record/AbstractRecord.php(277): call_user_func(Array, Array)
#9 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Omeka/Record/AbstractRecord.php(550): Omeka_Record_AbstractRecord->runCallbacks('afterSave', Array)
#10 /home/paulnj21/public_html/reedhistory/echarvest/application/models/Item.php(335): Omeka_Record_AbstractRecord->save()
#11 /home/paulnj21/public_html/reedhistory/echarvest/application/models/Builder/Item.php(204): Item->saveFiles()
#12 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/globals.php(573): Builder_Item->addFiles('Upload', 'file', Array)
#13 /home/paulnj21/public_html/reedhistory/echarvest/application/models/Item.php(320): insert_files_for_item(Object(Item), 'Upload', 'file', Array)
#14 /home/paulnj21/public_html/reedhistory/echarvest/application/models/Item.php(230): Item->_uploadFiles()
#15 [internal function]: Item->beforeSave(Array)
#16 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Omeka/Record/AbstractRecord.php(277): call_user_func(Array, Array)
#17 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Omeka/Record/AbstractRecord.php(531): Omeka_Record_AbstractRecord->runCallbacks('beforeSave', Array)
#18 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Omeka/Controller/AbstractActionController.php(209): Omeka_Record_AbstractRecord->save(false)
#19 /home/paulnj21/public_html/reedhistory/echarvest/application/controllers/ItemsController.php(89): Omeka_Controller_AbstractActionController->editAction()
#20 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Zend/Controller/Action.php(516): ItemsController->editAction()
#21 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('editAction')
#22 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#23 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Zend/Application/Bootstrap/Bootstrap.php(101): Zend_Controller_Front->dispatch()
#24 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#25 /home/paulnj21/public_html/reedhistory/echarvest/application/libraries/Omeka/Application.php(79): Zend_Application->run()
#26 /home/paulnj21/public_html/reedhistory/echarvest/admin/index.php(28): Omeka_Application->run()

Are you sure you're using Omeka 2.2 or higher and you put the line I mentioned above in your application/config/config.ini file?

You shouldn't get that error if you have it set up to use Imagick.

Version 2.2.2

Here is the relevant section of the config.ini


;;;;;;;;;;;;;;;;;;;;;
; Derivative Images ;
;;;;;;;;;;;;;;;;;;;;;

; fileDerivatives.strategy
; Controls what method Omeka uses to create derivative images.
; default: Omeka_File_Derivative_Strategy_ExternalImageMagick
;
; The built-in strategies are ExternalImageMagick (the old default) and
; Imagick (requires PECL ext/imagick), but others can be added by plugins.
;
; fileDerivatives.strategy = "Omeka_File_Derivative_Strategy_Imagick"

; fileDerivatives.strategyOptions
; Specific settings for the configured derivative strategy.
;
; Subkeys to this entry specify each option.
;
; fileDerivatives.strategyOptions.page = "0"

; fileDerivatives.typeWhitelist[]
; If set, Omeka will only attempt to create derivatives for files with the
; given MIME types.
;
; This entry can be specified multiple times, once for each type in the list.
;
;fileDerivatives.typeWhitelist[] = "image/jpeg"

; fileDerivatives.typeBlacklist[]
; If set, Omeka will not attempt to create derivatives for files with the
; given MIME types.
;
; Both this blacklist and the whitelist can be set at the same time, but the
; whitelist will control.
;
; This entry can be specified multiple times, once for each type in the list.
;
;fileDerivatives.typeBlacklist[] = "image/jpeg"

If you remove the semi-colon before the fileDerivatives.strategy line, it should work for you.

;;;;;;;;;;;;;;;;;;;;;
; Derivative Images ;
;;;;;;;;;;;;;;;;;;;;;

; fileDerivatives.strategy
; Controls what method Omeka uses to create derivative images.
; default: Omeka_File_Derivative_Strategy_ExternalImageMagick
;
; The built-in strategies are ExternalImageMagick (the old default) and
; Imagick (requires PECL ext/imagick), but others can be added by plugins.
;
fileDerivatives.strategy = "Omeka_File_Derivative_Strategy_Imagick"

Yes, I should have clarified.

Lines starting with a semicolon in that file are comments and get ignored. Like sheepeeh says, you need to take that semicolon at the front of the line away.