VPSサーバーのOSをDebian10から11へアップグレード~若干トラブルはあったけど無事に終了

Linux

VPSサーバーのOSをアップグレードする

当サイトはVPSにdebian GNU Linux、Apache+MySQL(MariaDB)環境でWordpressを使っています。

年末年始の4連休のなので、この機会を逃すとまたズルズルとしてしまうな、と思ってVPS上のOSをDebian Gnu Linux 10(Buster)から11(Bullseye)にアップグレードすることにしました。既にBullseyeはデスクトップOSとして問題なく使っているので、後はサーバー用途にどうなのか?というところです。仕事じゃないのでサーバー用途での検証はしていませんが、VPSでアップグレードかけます。

今回の一番の目的は、PHP Ver.7.3から7.4に変更することです。PHPの小さなバージョンの差異ですがWebサービス(ブログ)を動かしている関係上結構課題になってました。ずっと引きずっていたのでこの機会にスッキリさせておきたいです。いっそのこと8.1にしてしまおうかとも思ったのですが安全な方法で進めておこうと思います。

同じく安定志向でdebianをながらく使ってきましたが、数年に一度こういうことを手間を掛けないといけないので、この先はローリングリリースを採用している「Arch Linux」なんかの方が良いんじゃないかな?という気もしてきました。歳も食ってきましたので集中して作業するのがしんどくなって来ました。なるだけこういうのは手間がかからないのが良いなと思います。昔の様に新しいバージョンが楽しいというのはとっくに過ぎ去りました。

そうするとしても、一度は大きな引っ越しをしなくてはなりませんし、安定稼働ができるのか?という不安もあります。とりあえず2023年は格安なVPSでも追加で借りて、「Arch Linux」がサーバーOSとして使えるか検証してみようかなと頭の片隅に置きつつ、今の課題であるdebian 10から11へのアップグレードを終わらせることとします。

MySQLから変更したMariaDBは安定していた

前回、debian GNU/Linux 9から10へのアップグレードでMySQLからMariaDBに変更したのを思い出しました。記録によると2019年の7月に実施した様です。

そういえば連休中に一気に色々済ませるべく、同時期にデスクトップPC用にUPSを購入したのでした。(関係ない話ですが)

MariaDBは基本的にMySQL互換とという考えで作業して、その後ずっと使い続けて来ましたが、MySQLの時に泣かされた様なトラブルには一度も遭いませんでした。そのおかげでSQLのコマンドも全然打つ機会がありませんでした。

前回のアップグレードがMariaDBへの切り替えというイベントだったので、結果的に安定稼働が得られて、あの時にやっておいて良かったと振り返っています。

debian 10から11へのアップグレード

とりあえず10から11へのアップグレードという面倒くさそうな話になりますが、特に難しいことはしません。リポジトリをBusterからBullseyeに変更し、aptでアップデート、アップグレードを実行するだけです。基本はそれだけなのですが、大抵何かしら上手くいかないことが起きるのでその対処に注力します。すんなり動かない時のトラブル対応がおっくうだというのが実情です。

ブログシステムの環境を容易に丸ごと引っ越しできるなら、新しいバージョンのOSをインストールしてリフレッシュさせた方が良いのかも知れません。将来的にはそういう方向での運用も考えてみようと思います。なるだけ手がかからない方が良いです。レンタルサーバーの方が楽で良いのかな?という気もしたりしています。

やっぱり若干のトラブルあり

案の定、今回も上手くいかない部分が起きました。debian 10から11への移行は別にトラブル無しなのですが、ブログシステム(WordPress)が上手く起動しない様でブログサイトにアクセスするとページが表示されず、代わりにファイルのダウンロードが始まります。

ダウンロードされた中身はPHPファイルです。PHPファイルが落ちてくるということはWebサーバーの問題です。非常にまずいです。DBアクセスのパスワード情報とか書いているPHPファイルもありますからね・・Apacheでサイトを無効にしておいて調査し、検証する時にサイトを有効にするなどスピード勝負で対処しなくてはなりません。

WordPressではPHPファイルをApacheと連携させてプログラムが動作する仕組みなので、ファイルが落ちてくるという事はPHPとApacheの連携が上手く行ってないんだろうなという想像がつきました。

Apache2でPHPを使うためのモジュールが入らなかった

結果的には、Apache2に本来入れなければならないPHPモジュールがインストールされませんでした。どうして移行出来なかったか?という深追いはしていませんが、必要なのに存在してものを追加インストールし、Apache2でモジュールをEnableすることで解決しました。a2enmodやa2ensite等のコマンドは久しぶりに使ったので忘れかけてました。概念的なことは覚えてましたが使わないのでコマンドが頭から抜けています。

こういうコマンドは、実験的なサイトを頻繁に作っていた時にはよく使用したものですが、最近はめっきりそういうこともしなくなったのでコマンドを忘れかけています。救いなのはサイトをApache2で有効にさせる必要がある(コマンドで操作)という事を覚えている程度です。まぁ概念的なことを理解して覚えていれば、後はネットで調べたら直ぐに判明するのでなんとかなります。便利な時代になったものだと思います。

Linux OSをサーバー用途に使うとなると、どうしても色々なパッケージを組み合わせてシステムとして動かすので、依存関係やらバージョンの差異やらの関係で今回の様に完全に移行出来ない事が起きるものです。

結果的にきちんと動作する様になったので、PHP 7.4でスッキリとWordPressの警告も表示されなくなって満足です。しばらくはこのまま使えそうですが、またPHPのバージョンで課題を突きつけられそうな気がします。

Apach2のErreor?警告?変更?

対応中にApache2の再起動を数回やったのですが、気になるメッセージが表示される事に気づきました。Configファイルは一切触っていないので方針が変わってConfigの書式が変更になったということでしょうか?

NameVirtualHost has no effect and will be removed in the next release

言葉をそのまま受け止めると、「将来的にバージョンアップでNameVirtualHostは廃止される」と読み取れます。名前ベースのバーチャルホスト機能が無くなるということか?

一応検索してみると、機能が廃止されるというのではなく、どうやらConfigにいちいち記述しなくても良くなったということの様です。最近Apache2をいじることも無いのですっかり置いて行かれてます。仕事でLinuxサーバーを触る事もなくなったので追従していく暇もなく仕方ないですけどね。

うちのWebサーバー(Apach2)では、バーチャルホストが複数動いているので、全てのConfigからNameVirtualHostの記述を削除して、コンフィグテストがパスされることを確認しました。些細なことですが今どきの習わしに従って修正できて少しスッキリです。

手放しで更新できるOSが理想

本当に歳をとったものだなぁと痛感させられるのは、こういう手間が楽しいと全く思わなくなったことです。20年程前は自宅に複数台のサーバーを24時間稼働させて遊んでいたものです。毎日仕事から帰って来て寝る時間を削って作業(学習)していても義務感の様なものは感じていませんでした。単純に新たなことを覚えられるのが楽しかったです。

そういう間隔がここ10年弱で一気に弱まってきて、ここ5年で完全になくなってしまいました。面倒くさいのとしんどいのと、あんまり探究心がくすぐられなくなったことが大きいと思います。ただ、変わってないのは、「明日楽をするためなら今夜徹夜でもする」というスタンスで、実際の徹夜はこの歳になると辛いですが、考え方としては変わっていません。

やっぱりローリングリリースのLinuxディストリビューションを安定稼働させられる方法があるなら、それに移行するというのが強いかなと思っています。運営を開始すればなるだけ手間がかからない方が良いです。もちろんトラブルも起こらない方が良いに決まっています。

ただその学習コストは自分で払って学習しなければならないと自覚しています。学習コストとは必ずしもお金ではなく時間と労力という場合もありますが。debian GNU/Linuxは気に入っていますが、今年は「Arch Linux」の学習を進めてみようかな。

MariaDB&MySQL全機能バイブル

MariaDB&MySQL全機能バイブル

鈴木 啓修, 山田 奈緒子
10,505円(11/22 00:09時点)
Amazonの情報を掲載しています
PHP7+MariaDB/MySQLマスターブック

PHP7+MariaDB/MySQLマスターブック

永田 順伸
2,950円(11/22 00:09時点)
Amazonの情報を掲載しています

コメント

タイトルとURLをコピーしました