2022年9月19日
2024年2月2日
ubuntu22.04にアップグレードしたらはまった話

転職活動真っ只中の高木です。一旦は正社員として腰を据えて落ち着きたい。
そんな中、今取り組んでいるログローテート設定のためいつも通りSSHでログインしたら
鯖「よう、OSの新バージョン出てんで! アップデートできるで!」
とのメッセージ。ほほう!と思い何も考えずにYES ENTER
これがまずかった。
目次
何が起きたか
SMBのファイルサーバー以外全部逝った。
WEBサーバー系が軒並み利用不可になりました。マジ焦る。
Apache2で以下の3つを動かしています
・Doku wiki
・zabbix
・motion
原因
まずはApache2のログを確認
sudo journalctl -xeu apache2.service
Syntax error on line 146 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/php7.3.load: Cannot load /usr/lib/apache2/modules/libphp7.4.so into server: /usr/lib/apache2/modules/libphp7.4.so: cannot open shared object file: No such file or directory
Apache2「php7.4読み込めねーんだけど?」
今まではphp7.4でしたがアップデートでphp8になったことが原因。
そもそもzabbix5.0はphp8はサポート外らしい。Apache2の起動すらできない状態となりました。
解決に向けて
自分の取った選択はphp8→php7.4へのダウングレードして復旧を目指すこととした。
sudo apt-get install php7.4
sudo apt-get install php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-mysql php7.4-mbstring php7.4-zip php7.4-fpm php7.4-intl php7.4-simplexml
sudo a2dismod php8.0
sudo a2enmod php7.4
sudo update-alternatives --set php /usr/bin/php7.4
sudo update-alternatives --set phar /usr/bin/phar7.4
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.4
sudo update-alternatives --set phpize /usr/bin/phpize7.4
sudo update-alternatives --set php-config /usr/bin/php-config7.4
sudo service apache2 restart
第2の問題
ここまでの作業でApache2の起動には成功!
いざブラウザでアドレス打ち込みアクセスしたら、真っ白の画面にphpのソースコードが表示されているだけ。
apache2.confの一番下に以下を追記
AddType application/x-httpd-php .php
そして完全復旧へ
zabbixもダッシュボードにはアクセスできるものの全てのグラフがphp関係のエラーメッセージで埋め尽くされている。
sudo apt install php7.4-bcmath
このコマンドを叩いても円グラフだけが表示されない。
sudo apt -y install php7.4-gd
sudo systemctl restart zabbix-server
これでzabbixも完全復旧!!!!! なお深夜2時まで汗ダラダラ流しながら必死漕いでエラーと格闘していました。
↓参考になったサイト