
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 サーバーでこの問題が発生していたため、最後に動作することが確認されている Ubuntu 12.04 パッケージを使用して Ondrej の PPA のクローンを作成することにしました。
https://launchpad.net/~nickmoline/+archive/ubuntu/php55
この PPA に切り替えることで、Apache と PHP を再度正常にインストールできるようになりました。
これにより、Apacheは動作しない2.4.20ではなく2.4.16に固定されます。
これを実行する前に、Ondrej に連絡して、最終的には問題を修正する予定だが、期限は決まっていないことを伝えてもらいました。期限が決まり次第、PPA を更新し、使用を停止できるというメモを追加します。
役に立つ場合はお気軽にご利用ください。
答え2
Launchpad のページにアクセスすると、いつでも PPA の詳細を表示できます。
使用している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)
12.04で使用されている同じメンテナからのPPA(ppa:ondrej/php5-oldstable
) には Apache 2.4 が含まれていないため、サポートされなくなりました。
更新 (ondrej より): ようやく a2enmod Perl コードに取り組み、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 に依存しない以前のバージョンのものです。