首先我尝试按照以下步骤安装 Apache 和 mod_perl本指南。
然而,我愚蠢地使用 安装了 Apache sudo apt-get install apache2
,它在我的系统上安装了 2.4。
perl Makefile.PL <options>
按照说明运行后,我得到了同样的错误这家伙。
它告诉我我应该卸载 2.4 并安装 2.2,这就是我尝试做的sudo apt-get remove --purge apache2
。
当我运行时,which apache2
它什么也没有返回,所以我认为它消失了,但是当我运行which httpd
(给出了一条线)然后httpd -V
,它给了我:
Server version: Apache/2.4.10 (Unix)
Server built: Aug 6 2014 20:38:13
Server's Module Magic Number: 20120211:36
Server loaded: APR 1.5.1-dev, APR-UTIL 1.5.3
Compiled using: APR 1.5.1-dev, APR-UTIL 1.5.3
Architecture: 32-bit
Server MPM: event
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT=""
-D SUEXEC_BIN="/bin/suexec"
-D DEFAULT_PIDLOG="/logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/conf/mime.types"
-D SERVER_CONFIG_FILE="/conf/httpd.conf"
因此我尝试使用 删除 httpdsudo apt-get remove httpd
但其中一条消息是Virtual packages like 'httpd' can't be removed
。
现在我真的很害怕在我的 Ubuntu 系统上安装/删除任何其他东西,因为我真的不知道我在做什么。我怎样才能完全删除 Apache/httpd/whatever 2.4 服务器并只安装 2.2,这样它才能让我安装 mod_perl?
我去了这里按照他们的步骤操作,但是在尝试运行 perl makefile 时收到与之前相同的错误后,我再次尝试查看httpd -V
,它告诉我我仍然有 2.4.10。
有人可以指导我完全卸载我可能已安装到我的 ubuntu 上的所有内容,然后正确设置 mod_perl/apache httpd 2.2 系统,以便我可以开始使用它吗?
编辑:删除/usr/local/apache2
并运行后sudo apt-get install libapache2-mod-perl2
,这是我的结果。
$ which apache2
/usr/sbin/apache2
$ which httpd
/bin/httpd
$ apache2 -v
Server version: Apache/2.4.7 (Ubuntu)
Server built: Jul 22 2014 14:36:39
$ httpd -V
# same as previous in original text
$ perl -Mmod_perl2\ 999
mod_perl2 version 999 required--this is only version 2.000008.
BEGIN failed--compilation aborted.
这是否意味着我已成功完成所有操作?仍然担心 httpd/apache 问题
答案1
(你可以直接跑掉sudo apt-get install libapache2-mod-perl2
然后就完事了。)
看起来您已在本地编译并安装了httpd
二进制文件。如果您仍保留运行命令的源代码make
,则可以进入那里并运行sudo make uninstall
。希望它受支持,并且会httpd
从您的系统中删除。如果这不起作用,希望文件已安装到文件夹中/usr/local
,您可以httpd
手动删除相关文件。
编辑:它似乎make
已安装httpd
到/bin/httpd
。运行后dpkg -S /bin/httpd
验证它不是软件包的一部分,您可以删除该文件。除此之外,一切正常。