2022年9月10日土曜日

Web サーバの再構築

これまで職場の web サーバに Pentium M の載った Let's Note CF-W2 (液晶のバックライトが点かない) を使っていた.OSは Ubuntu 18.04LTS だったので,期限間近.CPU が 32 ビットなので新しい Ubuntu は使えないし,さすがに 5年経ってるので,マシン自体入れ替えようと思っていて,準備を始めた.

新マシンは Celeron J1800 の載ったファンレスの小型機.LAN ポートが 4つあるが,ビデオは VGA のみ,USB も 2つしかなく,基本的にサーバ系の用途を想定しているもの.SSD は mSATA の 32 GB で,いちおう Win7 のライセンスが付いている.メモリは DDR3L の SO-DIMM が 1枚挿せて,2 GB.って,以前,NATルータを作る実験 をしたときのマシンが,結局,死蔵されていたので,これを使うことに.

OS は Xubuntu 22.04LTS を最小構成でインストール.CLI 専用にしてもよかったのだが,結局,設定の中にはディストロ付属の GUI ツール使った方が簡単なものも多いので,GUI だけは一応入れておくことにした.まあ,ふだんの管理は ssh でログインしてターミナルでやるのではあるけど.

USB ブートでインストールすると,メモリが苦しくてかなり厳しかったが,たぶん ram ディスクとかでも食ってるんだろうなあ.実運用時には 2 GB でも大丈夫な気はするけれど,ちょうど 4 GB のが余ってたので,インストール後の再起動時に挿し換えておいた.

apache2 と openssh server を apt で入れて,apache2 は UserDir を有効に (a2enmod userdir).旧マシンから /etc/shadow のパスワード部をコピペして,ユーザアカウントを移動できるようにして,あとはぼちぼちやるか,と考えていたところで,やばいことが.

なんと,運用中のマシンが挙動不審になっていて,ファイルシステムがリードオンリーになっていて,設定変更とか何もできなくなってしまった.とりあえず,再起動くらいしようかと思ったら,起動できなくなってしまった.けっこうやばい.再起動前に,外部マシンに本体内に作っていたバックアップファイルを吸い出しておくべきであったが,すでに後の祭り.

新サーバの設定を急がなくてはならないので,予定を変えて作業することにした.

とりあえず,apache2 は設定をいじる部分はドキュメントルートの変更だけで済みそうなので,そこを修正.

/home 以下のファイルは,一ヶ月くらい前のデータが外部に取り出してあったので,そこまでで復元することに.幸いなことに,この間にデータの更新を行なっていたのは自分だけっぽいので,影響はほぼないはず (自分だけの分は変更データが別に保存してある).ということで,tar アーカイブから /home 以下を復元.

うちのネットワークにつなぐには sshd はパスワード認証を禁止しなくてはならないという規約があるのだが,TeraTerm で RSA 鍵を使ってログインしようとすると失敗することが判明.WinSCP や PuTTY では今までの鍵ファイルで接続できるので,TeraTerm の問題ということになる.実は,今の openssh server は RSA-SHA1 をデフォルトでは拒否するようになっていて,TeraTerm は RSA-SHA1 でしか接続できないので蹴られていることが判明.PuTTY とかは RSA-SHA2 で接続できるので問題なかったらしい.ということで,sshd の設定で RSA-SHA1 を許可するように設定.セキュリティ的にはよくないのだろうが,しばらくはしかたない.

あとはこれまで同様に /home 以下を毎日 tar でバックアップするように cron に設定.これを外のマシンに送ることが困難なのがうちのネットワークの問題だよなあ.定期的に取りに行く別サーバが必要になるが,当面は思い出したときに手動で取り出そう.これは前のサーバのときからの課題で,方法はあるんだけどあれこれ面倒くさくて後回しにしていたら,今回,1月前のバックアップしかなかったという状況になってしまったので,ちゃんと対策がいる.

で,現状,優先順位が高いのが UPS.これまではノート PC を流用してたので,停電しても短時間ならバッテリで動くし,残量がなくなってくれば自動シャットダウンもしてくれる.しかし,今度のは AC 駆動オンリーなので,UPS がないとやばい.しかし,これが結構いいお値段だからなあ.

0 件のコメント:

コメントを投稿