如何安装Perl模块Crypt :: OpenSSL :: AES?

过了好几天,我正在拉我的头发,试图在apache2服务器中获得一个传统Perl脚本,作为cgi工作。 它需要Crypt :: OpenSSL :: AES。 从Apache错误日志中:

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

最简单的情况是,如果一个Ubuntu的包可以安装它,但我无法find正确的文件的任何包。 以下内容不会返回:

 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/... @r /usr/local/lib/perl/5.10.1/... lib /usr/local/lib/perl/5.10.1/... perl /5.10.1 /usr/local/lib/perl/5.10.1/...按照@INC),或者我在apache2configuration文件中添加PERL5LIB envvariables( SetEnv PERL5LIB /home/user/.cpan/build/Crypt-OpenSSL-AES-0.02-H74J64/lib ),错误日志现在显示有一个缺less的共享对象:

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

错误消息与第一个消息有细微的差别(我一开始并没有注意到):现在它确实find了AES.pm,但是对未指定的“可载入对象”还有另一个依赖关系,我不知道哪一个依赖于哪一个。 Openssl安装在我的系统上。

所以:

一般来说,安装perl模块与apache2服务器一起工作的正确方法是什么(在Linux-ubuntu系统上)? (我search了这个问题有很多答案,但它仍然不起作用)。

具体来说,如何正确地满足我的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包,供开发人员和pipe理员构build其他软件。 所以只运行程序的软件包可以变小。

你应该看看http://debian.pkgs.cpan.org/ 。 它为您提供了一种从CPAN包生成自己的.deb文件的方法。 你可以试着用预先打包好的软件包,但是要知道,因为Debian机器和你使用的任何版本的Ubuntu之间的差异,它们可能会被打破: “有龙在这里”。

如何使用dh-make-perlhttps://wiki.debian.org/PerlFAQ )创build软件包? 有点太迟了,但对某人可能有帮助。