12.04から14.04にアップデートしたばかりで、Apache 2.4のセットアップが困難になりました。次のエラーが表示されます。
Setting up Apache2 (2.4.10-1+deb.sury.org~trusty+1) ...
ERROR: Module mpm_prefork is enabled - cannot proceed due to conflicts. It needs to be disabled first!
dpkg: error processing package Apache2 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
Apache2
E: Sub-process /usr/bin/dpkg returned an error code (1)
Apacheが続行できるように、mpm_preforkを無効にするにはどうすればよいですか?
適切なコマンドを使用して、Apacheのmodを無効にします。
Sudo a2dismod mpm_prefork
シンボリックリンク/etc/Apache2/mods-enabled/mpm_prefork.{conf,load}
を削除してください:
rm /etc/Apache2/mods-enabled/mpm_prefork.{conf,load}
次に、Apache2
パッケージの構成を再起動します。
apt-get install -f
または:
apt-get install Apache2
しかし、もっと重要なのは、これらがどのようにインストールされているかを事前に自問することです。 /etc/Apache2
を起動する前に、これらの(たとえば)古いapt-get install Apache2
ディレクトリをコピーした可能性があります。
このモジュールには明らかに3つの異なるバージョンがあります (mpm_worker
vs mpm_prefork
vs mpm_event
)、およびエラーコードは誤解を招く可能性があります。 3つのバリアントをすべて無効にしてから再インストールしてください。私の場合(Mint 19.1/Ubuntu 18.04、php7.2)は3番目でした:
root@machine:/var/www/html# Sudo a2dismod mpm_worker
Module mpm_worker already disabled
root@machine:/var/www/html# Sudo a2dismod mpm_prework
ERROR: Module mpm_prework does not exist!
root@machine:/var/www/html# Sudo a2dismod mpm_event
Module mpm_event disabled.
この後、Apache php modのインストールは機能し(Sudo a2enmod php7.2
)、コードは正しく実行されました。