Eu resolvi meu problema:
-
Instalando o pacote
Debian e Ubuntu
aptitude install libssl-dev
CentOS ou Fedora
yum install -y openssl-devel'
-
Compilando o módulo manualmente
sudo cpan Crypt/OpenSSL/AES.pm
Já faz alguns dias que estou puxando o meu cabelo tentando fazer com que um script Perl legado funcione como cgi dentro de um servidor apache2. Requer Crypt :: OpenSSL :: AES. Nos logs de erros do Apache:
Can't locate Crypt/OpenSSL/AES.pm in @INC
O mais fácil seria se um pacote do Ubuntu pudesse instalá-lo comigo, mas não consigo localizar nenhum pacote com os arquivos apropriados. O seguinte não retorna nada:
apt-file search AES.pm
Como usuário comum, instalei o cpan e o usei para instalar módulos perl, para que Crypt :: OpenSSL :: AES seja instalado no meu diretório de usuários em /home/user/.cpan/build/Crypt-OpenSSL-AES-0.02-H74J64/lib
. Infelizmente, se eu copiar manualmente AES.pm para seu local adequado ( /usr/local/lib/perl/5.10.1/...
como por @INC) ou se eu adicionar a variável env PERL5LIB nos arquivos de configuração apache2 ( SetEnv PERL5LIB /home/user/.cpan/build/Crypt-OpenSSL-AES-0.02-H74J64/lib
), os logs de erro agora mostram que há uma falta objeto compartilhado:
Can't locate loadable object for module Crypt::OpenSSL::AES in @INC
A mensagem de erro é sutilmente diferente da primeira (eu não a percebi no início): agora ela encontra AES.pm, mas há outra dependência em um "objeto carregável" não especificado "e eu não tenho idéia de qual. Openssl está instalado no meu sistema.
Então:
Geralmente, qual é a maneira correta (em um sistema Linux-Ubuntu) de instalar módulos perl para trabalhar com um servidor apache2? (Eu procurei e há muitas respostas para essa pergunta, mas ainda não funciona).
Especificamente, como posso satisfazer adequadamente a dependência do aplicativo cgi perl no Crypt :: OpenSSL :: AES?
Normalmente existem pacotes * -dev no repositório do Ubuntu, para desenvolvedores e administradores criarem outro software. Assim, os pacotes para simplesmente executar o programa podem ficar menores em tamanho.
Você deve procurar no link . Ele fornece uma maneira de gerar seus próprios arquivos .deb a partir de pacotes CPAN. Você poderia tentar apenas capturar seus pacotes pré-empacotados, mas apenas esteja ciente de que eles poderiam quebrar devido às diferenças entre as máquinas Debian para as quais foram construídos e qualquer versão do Ubuntu que você esteja usando: "There's Dragon's Here. "
Que tal criar um pacote com dh-make-perl
( link )? Um pouco tarde demais, mas pode ajudar alguém.