Instalar la herramienta de manipulación de imágenes ImageMagick en RHEL/CentOS y Fedora

ImageMagick es un conjunto de software simple de código abierto y gratuito para cualquier tipo de manipulación de imágenes que se utiliza para crear, editar, convertir y mostrar archivos de imagen.

Puede leer y escribir más de 200 archivos de imagen como formatos de imagen JPEG, GIF, PNG, TIFF y Photo CD, y también se utiliza para la generación de miniaturas o captchas. También incluye opciones de línea de comandos para crear formatos de imagen GIF transparentes o animados y muchas más características como cambiar tamaño, afilar, rotar o agregar efectos especiales a una imagen.

Para usar la herramienta ImageMagick con el lenguaje de programación PHP o Perl, necesitarás instalar ImageMagick con la extensión Imagick PHP para PHP y la extensión ImageMagick-Perl para Perl.

Imagick es una extensión simple de PHP para crear y modificar imágenes utilizando el programa API de ImageMagick. Hay una confusión en el nombre, ya que la gente piensa que ImageMagick e Imagick son lo mismo, pero puedes usar ImageMagick sin la extensión Imagick, pero necesitas tener ambas instaladas en tu máquina para poder usarlas y ejecutarlas.

Instalando ImageMagick desde el repositorio

Primero, instala los siguientes paquetes necesarios php-pear, php-devel y gcc para compilar la extensión Imagick de PHP.

# yum install php-pear php-devel gcc 
Install PHP Extensions in CentOS 8

Una vez que hayas instalado los paquetes php-pear, php-devel, y gcc, ahora puedes instalar el software ImageMagick para el soporte de PHP y Perl utilizando el comando yum.

# yum install ImageMagick ImageMagick-devel ImageMagick-perl

IMPORTANTE: ImageMagick no está disponible en CentOS/RHEL 8, y en su lugar ha sido reemplazado por GraphicsMagick, que es un fork de ImageMagick.

Para instalar GraphicsMagick en CentOS/RHEL 8, ejecuta el siguiente comando.

# dnf info GraphicsMagick
# dnf install GraphicsMagick GraphicsMagick-devel GraphicsMagick-perl
Install GraphicsMagick in CentOS 8

A continuación, verifica que ImageMagick se haya instalado en tu sistema comprobando su versión.

# convert --version
 
Version: ImageMagick 6.7.8-9 2019-02-01 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP    

Los usuarios de CentOS/RHEL 8 pueden ejecutar el siguiente comando para verificar la versión de GraphicsMagick instalada en el sistema.

# gm version

GraphicsMagick 1.3.33 2019-07-20 Q16 http://www.GraphicsMagick.org/
Copyright (C) 2002-2019 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.

Instalación de ImageMagick 7 desde el código fuente

Para instalar ImageMagick desde la fuente, necesitas un entorno de desarrollo adecuado con un compilador y herramientas de desarrollo relacionadas. Si no tienes los paquetes necesarios en tu sistema, instala las herramientas de desarrollo como se muestra a continuación:

# yum groupinstall 'Development Tools'
# yum -y install bzip2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel giflib-devel zlib-devel ghostscript-devel djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel libX11-devel libXext-devel libXt-devel lcms-devel libxml2-devel librsvg2-devel OpenEXR-devel php-devel

Ahora, descarga la última versión del código fuente de ImageMagick utilizando el siguiente comando wget y extráelo.

# wget https://www.imagemagick.org/download/ImageMagick.tar.gz
# tar xvzf ImageMagick.tar.gz

Configure y compila el código fuente de ImageMagick. Dependiendo de las especificaciones de hardware de tu servidor, esto puede tardar un tiempo en finalizar.

# cd ImageMagick*
# ./configure
# make
# make install

Verifica que la compilación e instalación de ImageMagick fueron exitosas.

# magick -version

Version: ImageMagick 7.0.8-28 Q16 x86_64 2019-02-19 https://imagemagick.org
Copyright: © 1999-2019 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP 
Delegates (built-in): bzlib djvu fontconfig freetype jng jpeg lzma openexr pangocairo png tiff wmf x xml zlib

Instala la Extensión de PHP Imagick

A continuación, compila Imagick para la extensión de PHP. Para hacerlo, simplemente ejecuta el siguiente comando ‘pecl‘. Esto instalará el módulo de extensión de ImageMagick e Imagick PHP ‘imagick.so‘ en el directorio /usr/lib/php/modules. Si estás utilizando un sistema de 64 bits, la ruta del directorio del módulo sería /usr/lib64/php/modules.

Nota: Te pedirá que proporciones el prefijo de instalación de Imagemagick, simplemente presiona enter para detectarlo automáticamente.

# pecl install imagick 

downloading imagick-3.4.3.tgz ...
Starting to download imagick-3.4.3.tgz (245,410 bytes)
...................................................done: 245,410 bytes
19 source files, building
running: phpize
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
Please provide the prefix of Imagemagick installation [autodetect] : 

Ahora, añade la extensión ‘imagick.so‘ al archivo ‘/etc/php.ini‘.

echo extension=imagick.so >> /etc/php.ini

A continuación, reinicia el servidor web Apache.

# service httpd restart

Verifica la extensión de PHP Imagick ejecutando el siguiente comando. Verás la extensión de Imagick similar a la siguiente.

# php -m | grep imagick

imagick

Instala la Extensión de PHP GMagick

Ejecuta los siguientes comandos para compilar e instalar la Extensión de PHP GMagick.

# cd /usr/local/src
# wget https://pecl.php.net/get/gmagick
# tar xfvz gmagick
# cd gmagick-*
# phpize
# ./configure
# make
# make install

Ahora, añade la extensión ‘gmagick.so‘ al archivo ‘/etc/php.ini‘.

# echo extension=gmagick.so >> /etc/php.ini

A continuación, reinicia el servidor web Apache.

# systemctl restart httpd

Verifica la extensión de PHP gmagick ejecutando el siguiente comando.

# php -m | grep gmagick

gmagick

Alternativamente, puedes crear un archivo llamado ‘phpinfo.php‘ en el directorio raíz del sitio web (por ejemplo: /var/www/html/).

# vi /var/www/html/phpinfo.php

Agrega el siguiente código.

<?php

     phpinfo ();
?>

Abre tu navegador web favorito y escribe ‘http://localhost/phpinfo.php‘ o ‘http://dirección-ip/phpinfo.php‘ y verifica la extensión.

Check Imagick Version
Verify Gmagick PHP Extension

Source:
https://www.tecmint.com/install-imagemagick-in-linux/