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


ImageMagick es un paquete de software simple de código abierto gratuito para cualquier tipo de manipulación de imágenes que se utilice 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 captcha. También incluye opciones de línea de comandos para crear formatos de imagen gif animados o transparentes y muchas más funciones como cambiar el tamaño, enfocar, rotar o agregar efectos especiales a una imagen.

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

Imagick es una extensión PHP simple para crear y modificar imágenes usando el programa API ImageMagick. Hay una confusión en el nombre, ya que la gente piensa que ImageMagick e Imagick son lo mismo, pero puede usar ImageMagick sin la extensión Imagick, pero necesita que ambos estén instalados en su máquina para usarlo y ejecutarlo.

Instalación de ImageMagick desde el repositorio

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

# yum install php-pear php-devel gcc 

Una vez que haya instalado los paquetes php-pear, php-devel y gcc, ahora puede instalar el software ImageMagick para soporte PHP y Perl usando el comando yum.

# yum install ImageMagick ImageMagick-devel ImageMagick-perl

IMPORTANTE: ImageMagick no está disponible en CentOS/RHEL 8, y en su lugar se ha reemplazado por GraphicsMagick, que es una bifurcación de ImageMagick.

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

# dnf info GraphicsMagick
# dnf install GraphicsMagick GraphicsMagick-devel GraphicsMagick-perl

A continuación, verifique que ImageMagick se haya instalado en su 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, necesita un entorno de desarrollo adecuado con un compilador y herramientas de desarrollo relacionadas. Si no tiene los paquetes necesarios en su sistema, instale las herramientas de desarrollo como se muestra:

# 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, descargue la última versión del código fuente de ImageMagick usando el siguiente comando wget y extráigalo.

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

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

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

Verifique que la compilación e instalación de ImageMagick se hayan realizado correctamente.

# 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

Instalar la extensión PHP Imagick

A continuación, compile la extensión Imagick para PHP. Para hacerlo, simplemente ejecute el siguiente comando "pecl". Instalará ImageMagick y el módulo de extensión PHP imagick "imagick.so" en el directorio/usr/lib/php/modules. Si está utilizando un sistema de 64 bits, la ruta del directorio del módulo sería/usr/lib64/php/modules.

Nota: Le pedirá que proporcione el prefijo de instalación de Imagemagick, simplemente presione enter para detectar 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, agregue la extensión "imagick.so" al archivo "/etc/php.ini".

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

A continuación, reinicie el servidor web Apache.

# service httpd restart

Verifique la extensión Imagick PHP ejecutando el siguiente comando. Verá la extensión Imagick similar a la siguiente.

# php -m | grep imagick

imagick

Instalar la extensión PHP GMagick

Ejecute los siguientes comandos para compilar e instalar GMagick PHP Extension.

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

Ahora, agregue la extensión "gmagick.so" al archivo "/etc/php.ini".

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

A continuación, reinicie el servidor web Apache.

# systemctl restart httpd

Verifique la extensión PHP gmagick ejecutando el siguiente comando.

# php -m | grep gmagick

gmagick

Alternativamente, puede 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 ();
?>

Abra su navegador web favorito y escriba "http://localhost/phpinfo.php" o "http://ip-addresss/phpinfo.php" y verifique la extensión.