xubuntu20.04のトラブルその2

 これまでClipItの問題しか気づいていなかった。
doroyamada.hatenablog.jp

 ここにきて新たな不具合発見。ローカルのapache2が動いていなかった。
 sudo service apache2 startの結果は次の通り。

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sun 2020-05-31 00:03:28 JST; 10min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 67758 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

 5月 31 00:03:28 oscar systemd[1]: Starting The Apache HTTP Server...
 5月 31 00:03:28 oscar apachectl[67762]: apache2: Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php7.2.load: Cannot load /usr/lib/apache2/modules/libphp7.2.so into server: /usr/lib/apache2/modules/libphp7.2.so: cannot open shared object file: No such file or directory
 5月 31 00:03:28 oscar apachectl[67758]: Action 'start' failed.
 5月 31 00:03:28 oscar apachectl[67758]: The Apache error log may have more information.
 5月 31 00:03:28 oscar systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
 5月 31 00:03:28 oscar systemd[1]: apache2.service: Failed with result 'exit-code'.
 5月 31 00:03:28 oscar systemd[1]: Failed to start The Apache HTTP Server.

 /usr/lib/apache2/modules/を見てみるとlibphp7.2.soはなく、libphp7.4.soがあった。phpが7.4になったのに /etc/apache2/mods-enabled/php7.2.loadが残っていて、そこに書いてあるlibphp7.2.soを読み込もうとしているということのもよう。
 php7.2.loadをもとにphp7.4.loadを以下の内容で作成。php7.2.loadはphp7.4.load.oldにリネーム。

# Conflicts: php5
# Depends: mpm_prefork
LoadModule php7_module /usr/lib/apache2/modules/libphp7.4.so

 問題なくスタートすることができた。

 こういうのはアップグレード時に自動で対応してくへれんのと思って、関連ファイルを見てみた。

kazz@oscar ~# ls -l /etc/apache2/mods-enabled/php*
lrwxrwxrwx 1 root root  29 2017-02-11 21:47 /etc/apache2/mods-enabled/php7.1.conf.org -> ../mods-available/php7.1.conf
lrwxrwxrwx 1 root root  29 2017-02-11 21:47 /etc/apache2/mods-enabled/php7.1.load.org -> ../mods-available/php7.1.load
-rw-r--r-- 1 root root 867 2020-04-23 20:03 /etc/apache2/mods-enabled/php7.2.conf
-rw-r--r-- 1 root root 102 2020-05-31 00:19 /etc/apache2/mods-enabled/php7.2.load.old
lrwxrwxrwx 1 root root  29 2020-05-28 21:33 /etc/apache2/mods-enabled/php7.4.conf -> ../mods-available/php7.4.conf
-rw-r--r-- 1 root root 102 2020-05-31 00:20 /etc/apache2/mods-enabled/php7.4.load
kazz@oscar ~# 

 php7.4.loadは対応していなかったが、php7.4.confは他のファイルへのリンクとして作成されている。設定をいじったせいかも。想像するに

  • .confファイルは新しく作成されるファイルへのリンクなので古いファイルは不要。
  • .confファイルの削除は試みているが、軽いエラーとしてスキップ。
  • .loadファイルは7.1の内容を元に作成されるけど、7.1がないので軽いエラーとしてスキップ。新規にファイルを作ることはしない。
  • .loadファイルの削除は試みているが、軽いエラーとしてスキップ。

 といったところか。