Instale a ferramenta ImageMagick (Manipulação de Imagem) no RHEL / CentOS e Fedora


ImageMagick é um pacote de software simples de código aberto gratuito para qualquer tipo de manipulação de imagem que é usado para criar, editar, converter e exibir arquivos de imagem.

Ele pode ler e gravar mais de 200 arquivos de imagem, como formatos de imagem JPEG, GIF, PNG, TIFF e Photo CD, e também é usado para geração de miniaturas ou captcha. Também inclui opções de linha de comando para a criação de formatos de imagem gif transparentes ou animados e muitos outros recursos, como redimensionar, aumentar a nitidez, girar ou adicionar efeitos especiais a uma imagem.

Para usar a ferramenta ImageMagick com a linguagem de programação PHP ou Perl, você precisará instalar o ImageMagick com a extensão Imagick PHP para PHP e a extensão ImageMagick-Perl para Perl.

Imagick é uma extensão simples de PHP para criar e modificar imagens usando o programa ImageMagick API. Há uma confusão no nome, pois as pessoas pensam que ImageMagick e Imagick são iguais, mas você pode usar o ImageMagick sem a extensão Imagick, mas você precisa de ambos instalados em sua máquina para usá-lo e executá-lo.

Instalando ImageMagick do Repositório

Primeiro, instale os seguintes pacotes de pré-requisito php-pear, php-devel e gcc para compilar a extensão Imagick PHP.

# yum install php-pear php-devel gcc 

Depois de instalar os pacotes php-pear, php-devel e gcc, agora você pode instalar o software ImageMagick para suporte a PHP e Perl usando o comando yum.

# yum install ImageMagick ImageMagick-devel ImageMagick-perl

IMPORTANTE: ImageMagick não está disponível no CentOS/RHEL 8 e foi substituído pelo GraphicsMagick, que é um fork do ImageMagick.

Para instalar o GraphicsMagick no CentOS/RHEL 8, execute o seguinte comando.

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

Em seguida, verifique se o ImageMagick foi instalado em seu sistema verificando sua versão.

# 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    

Os usuários do CentOS/RHEL 8 podem executar o seguinte comando para verificar a versão do GraphicsMagick instalado no 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.

Instalando ImageMagick 7 a partir do código-fonte

Para instalar o ImageMagick a partir do código-fonte, você precisa de um ambiente de desenvolvimento adequado com um compilador e ferramentas de desenvolvimento relacionadas. Se você não tiver os pacotes necessários em seu sistema, instale as ferramentas de desenvolvimento conforme mostrado:

# 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

Agora, baixe a versão mais recente do código-fonte do ImageMagick usando o seguinte comando wget e extraia-o.

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

Configure e compile o código-fonte do ImageMagick. Dependendo das especificações de hardware do servidor, isso pode levar algum tempo para ser concluído.

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

Verifique se a compilação e instalação do ImageMagick foram bem-sucedidas.

# 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 extensão PHP Imagick

Em seguida, compile a extensão Imagick para PHP. Para fazer isso, basta executar o seguinte comando ‘pecl’. Ele irá instalar ImageMagick e imagick módulo de extensão PHP ‘imagick.so’ no diretório/usr/lib/php/modules. Se você estiver usando um sistema de 64 bits, o caminho do diretório do módulo seria/usr/lib64/php/modules.

Nota: Será solicitado que você forneça o prefixo de instalação do Imagemagick, simplesmente pressione Enter para detectar automaticamente.

# 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] : 

Agora, adicione a extensão ‘imagick.so’ ao arquivo ‘/etc/php.ini’.

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

Em seguida, reinicie o servidor da web Apache.

# service httpd restart

Verifique a extensão Imagick PHP executando o seguinte comando. Você verá a extensão Imagick semelhante à abaixo.

# php -m | grep imagick

imagick

Instale a extensão GMagick PHP

Execute os seguintes 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

Agora, adicione a extensão ‘gmagick.so’ ao arquivo ‘/etc/php.ini’.

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

Em seguida, reinicie o servidor da web Apache.

# systemctl restart httpd

Verifique a extensão gmagick do PHP executando o seguinte comando.

# php -m | grep gmagick

gmagick

Como alternativa, você pode criar um arquivo chamado ‘phpinfo.php’ no diretório raiz do site (ex:/var/www/html /).

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

Adicione o seguinte código.

<?php

     phpinfo ();
?>

Abra seu navegador favorito e digite ‘http: //localhost/phpinfo.php’ ou ‘http: //ip-addresss/phpinfo.php’ e verifique a extensão.