Ошибка при установке Apache на 12.04 LTS

Ошибка при установке Apache на 12.04 LTS

На сервере Ubuntu 12.04 LTS мне нужноApache 2.4.5 или выше. Я делаю это:

add-apt-repository ppa:ondrej/php5
apt-get update
apt-get install apache2

Но когда я запускаю последнюю команду, я получаю:

Setting up apache2 (2.4.20-1+deb.sury.org~precise+1) ...
Feature bundle "5.16" is not supported by Perl 5.14.2 at /usr/sbin/a2enmod line 14
BEGIN failed--compilation aborted at /usr/sbin/a2enmod line 14.
dpkg: error processing apache2 (--configure):
 subprocess installed post-installation script returned error exit status 255
Errors were encountered while processing:
 apache2
E: Sub-process /usr/bin/dpkg returned an error code (1)

Кажется, мне нужна более новая версия Perl. Как мне ее получить? Я не могу найти PPA с ней.

решение1

Поскольку у меня тоже была эта проблема на некоторых серверах Ubuntu 12.04, которые я обслуживал, я решил создать клон PPA Ондрея с последними известными рабочими пакетами Ubuntu 12.04.

https://launchpad.net/~nickmoline/+archive/ubuntu/php55

Переход на этот PPA позволил мне успешно установить Apache и PHP снова.

это блокирует Apache на версии 2.4.16 вместо неработоспособной 2.4.20

Прежде чем сделать это, я связался с Ондржеем, который сообщил мне, что в конечном итоге они исправят проблему, но не назвали конкретных сроков. Когда они это сделают, я обновлю свой PPA и добавлю примечание о том, что вы можете прекратить его использование.

Не стесняйтесь использовать его, если он будет вам полезен.

решение2

Подробную информацию о PPA вы всегда можете просмотреть, посетив его страницу в Launchpad.

Используемый вами PPA можно найти по адресуhttps://launchpad.net/~ondrej/+archive/ubuntu/php5, и по словам его сопровождающего, добавленный вами PPA не поддерживает Ubuntu 12.04.

This PPA contains latest PHP 5.5 packaged for Ubuntu 14.04 LTS (Trusty).

[...]

If you need other PHP versions use:
  PHP 5.4: ppa:ondrej/php5-oldstable (Ubuntu 12.04 LTS)
  PHP 5.5: ppa:ondrej/php5 (Ubuntu 14.04 LTS)
  PHP 5.6: ppa:ondrej/php5-5.6 (Ubuntu 14.04 LTS - Ubuntu 16.04 LTS)
  PHP 5.6 and PHP 7.0: ppa:ondrej/php (Ubuntu 14.04 LTS - Ubuntu 16.04 LTS)

PPA от того же разработчика, который используется для 12.04 (ppa:ondrej/php5-oldstable), не включает Apache 2.4 и больше не поддерживается.

Обновление (от ondrej): Я наконец-то разобрался с кодом Perl a2enmod, и исправление для Ubuntu 12.04 в итоге оказалось не таким уж и сложным, так что 2.4.20-1+deb.sury.org~precise+2 должен содержать исправленный код.

Обновление 2 (от ondrej): Я переместил все пакеты, связанные с apache2, в , ppa:ondrej/apache2чтобы избежать дублирования. К сожалению, нет способа выразить это в зависимостях PPA.

решение3

Вы можете найти и загрузить старые пакеты из истории сборок:

wget -A deb -m --no-parent https://launchpad.net/~ondrej/+archive/ubuntu/php5/+build/7886307
wget https://launchpad.net/~ondrej/+archive/ubuntu/php5/+build/7886308/+files/apache2-data_2.4.16-4+deb.sury.org~precise+4_all.deb

Этот набор пакетов взят из предыдущей версии и не должен зависеть от Perl 5.16.

Связанный контент