本Webサイトが稼働しているサーバのOSをFedora 29から30にアップグレードしてみたところ、MediaWikiでハマった件。

By | 2019年6月19日 , Last update: 2020年12月31日

はじめに

この記事で「6月にFedora 30のアップグレードをやりまーす。」と宣言した当時は6月の早い段階で行う予定だったアップグレード作業でしたが、本Webサイトへのアクセス状況(アクセスが少なめになるタイミングを見計らってましたが、意外に盛り上がってました。)やその他諸々の事情により、ようやく作業ができるタイミングが到来いたしましたので、アップグレードを行うこととしました。

この記事ではアップグレード作業の顛末について書いていきます。

スポンサーリンク

Fedora 30へのアップグレード

事前作業

本Webサイトが稼働しているサーバにはMediaWikiが同居しています。

このMediaWikiが画像等のファイルを大量に溜め込んでいるので、他のPCにコピーします。

なお、コピー元の画像ファイルは一旦削除し、ディスクスペースを空けておきます。

本Webサイトのデータも不測の事態に備えてバックアップを取得し、他のPCに転送しておきます。

アップデート

アップデート作業を行う前に、以下の手順でFedora 29のアップデートを行い、最新の状態に更新しておきます。

  1. アップデート前のkernelのバージョンを確認します。
  2. root権限で以下のコマンドを実行します。
    # dnf upgrade --refresh

     

  3. サーバを再起動します。
  4. アップデート後のkernelのバージョンを確認します。5.1.9になりました。

アップグレード

システムのアップデートができたら、以下の手順でアップグレードします。

  1. root権限で以下のコマンドを実行します。
    # dnf install dnf-plugin-system-upgrade
    # dnf system-upgrade download --releasever=30

     

  2. 手順1でアップグレードの対象外のパッケージが存在することがわかったので、root権限で以下のコマンドを実行し、アップグレードの対象外のパッケージを削除します。
    # dnf remove python2-qrcode-core
    # dnf remove python2-sss-murmur
    # dnf remove python2-acme

     

  3. root権限で以下のコマンドを再度実行し、エラーが発生しないことを確認します。
    # dnf system-upgrade download --releasever=30

     
    途中で、ダウンロードするファイルのサイズの合計が表示され、ダウンロードを開始してよいかどうか確認されますので、その値よりストレージの空き容量が多いことを確認し、”y”と入力してEnterキーを押します。

  4. アップグレードに使用されるパッケージがダウンロードされます。
  5. root権限で以下のコマンドを実行し、サーバを再起動します。
    # dnf system-upgrade reboot

     

  6. サーバが再起動し、アップグレードが実行されます。ストレージがSSDの仮想マシン上で30-40分ほどかかりました。
  7. アップデート後のkernelのバージョンを確認します。kernel本体のバージョンは5.1.9で、アップグレードの前と変わりませんが、Fedora 30用のものがインストールされていることがわかります。

後片付け

画像のリストア


スポンサーリンク

アップグレードの実行前に、他のPCにコピーしておいた画像等のファイルをサーバに再度コピーします。

Python3関係

この記事の「Python3関連の後始末。」に記載のtwitter及びgoogle-api-python-clientをアップデートしました。

WordPress関連の追加作業

SNAP Posterプラグインが以下のようなエラーを/var/log/php-fpm/www-error.logに出力しまくっていたので、最新版(この記事を最初に書いた時点(2019年6月)では4.3.7)に入れ替えました。

MediaWiki関連の追加作業

次にMediaWikiの動作確認を試みたのですが…

セットアップ画面が表示されてしまいました。_| ̄|○

「LocalSettings.phpがないよー。」

と言われています。

「index.phpがあるディレクトリに置いたはずなのに、おかしいなぁ…」と思いながら、試しにセットアップ画面からLocalSettings.phpを作り直して、/usr/share/mediawikiの下に置いてみると、画像ファイルなどへのアクセスはできないものの、文書の表示はできるようです。


スポンサーリンク

そこで、試行錯誤したり、LocalSettings.phpを読み込む処理を行っている部分を読んでみたり、Google先生にお伺いを立ててみたりしたところ、参考文献の情報を見つけました。

MediaWiki 1.31以降では、MediaWikiのインスタンスをMediaWikiのデフォルトのインストール先(Fedora 30では/usr/share/mediawiki)以外のところにシンボリックリンクを使って作成していると、各インスタンスの下にLocalSettings.phpを置いても読み込みことができなくなっているようです。

そういえば、Fedora 29のときのMediaWikiのバージョンは1.29だったような気がします。

そこで、httpd.conf(またはIncludeされている他の設定ファイル)のMediaWikiのインスタンスについての設定ができる箇所(VirtualHostタグの下でも構いません。)に以下の1行を追加します(パスはMediaWikiのインスタンスが存在するパスを指定します)。

SetEnv MW_INSTALL_PATH /path/to/wiki

 
追加ができたら、root権限で以下のコマンドを実行し、Apache httpdを再起動します。

# systemctl restart httpd

 

まとめ

サーバのアップグレード作業はいつやっても緊張しますね。

今回はWordpressでもエラーが発生するプラグインがあったのと、サーバに同居しているMediaWikiでLocalSetting.phpの読み込みができなかったりしたことと、原因についての情報をすぐには見つけることができなかったために、余計に緊張が走りました。

また、SNAP posterプラグインのエラーメッセージはプラグインの最新版への交換に伴い、出力されなくなったようですので、これで様子を見ます。

ご参考にしていただければと思います。

この記事は以上です。

References / 参考文献