Назад | Перейти на главную страницу

Как установить Perl-модуль Crypt :: OpenSSL :: AES?

Прошло несколько дней, когда я дергал себя за волосы, пытаясь заставить устаревший Perl-скрипт работать как cgi на сервере apache2. Для этого требуется Crypt :: OpenSSL :: AES. Из журналов ошибок Apache:

Can't locate Crypt/OpenSSL/AES.pm in @INC

Самым простым было бы, если бы пакет ubuntu мог установить его вместе со мной, но я не могу найти какой-либо пакет с нужными файлами. Следующее ничего не возвращает:

apt-file search AES.pm

Как обычный пользователь, я установил cpan и использовал его для установки модулей perl, так что Crypt :: OpenSSL :: AES является установлен в моем пользовательском каталоге в /home/user/.cpan/build/Crypt-OpenSSL-AES-0.02-H74J64/lib. К сожалению, копирую ли я вручную AES.pm в нужное место (/usr/local/lib/perl/5.10.1/... согласно @INC) или я добавляю переменную env PERL5LIB в файлы конфигурации apache2 (SetEnv PERL5LIB /home/user/.cpan/build/Crypt-OpenSSL-AES-0.02-H74J64/lib), журналы ошибок теперь показывают, что отсутствует общий объект:

Can't locate loadable object for module Crypt::OpenSSL::AES in @INC 

Сообщение об ошибке немного отличается от первого (сначала я этого не заметил): теперь оно делает найдите AES.pm, но есть еще одна зависимость от неуказанного «загружаемого объекта», и я не знаю, какой именно. Openssl установлен в моей системе.

Так:

Как правило, как правильно (в системе Linux-ubuntu) установить модули Perl для работы с сервером apache2? (Я искал, и на этот вопрос есть много ответов, но он все равно не работает).

В частности, как я могу должным образом удовлетворить зависимость моего приложения cgi perl от Crypt :: OpenSSL :: AES?

Я решил свою проблему:

  1. Установка пакета

    Debian и Ubuntu

    aptitude install libssl-dev
    

    CentOS или Fedora

    yum install -y openssl-devel`
    
  2. Компиляция модуля вручную

    sudo cpan Crypt/OpenSSL/AES.pm
    

Обычно в репозитории Ubuntu есть пакеты * -dev, чтобы разработчики и администраторы могли создавать другое программное обеспечение. Таким образом, пакеты для простого запуска программы могут уменьшиться в размере.

Ты должен посмотреть на http://debian.pkgs.cpan.org/. Он дает вам возможность создавать свои собственные файлы .deb из пакетов CPAN. Вы можете попытаться просто выстрелить в их предварительно упакованные, но помните, что они могут сломаться из-за различий между машинами Debian, для которых они были созданы, и какой бы версией Ubuntu вы не пользовались: «Здесь есть Дракон».

Как насчет создания пакета с dh-make-perl (https://wiki.debian.org/PerlFAQ)? Слишком поздно, но может кому-то помочь.