2021年12月20日(月) 20:30
この2日ほど、うちのサーバーが落ちていた。
正確に言えば、SSLに使っていた Let's Encrypt の証明書が更新できなくなってしまい、悪戦苦闘したがどうにもならず諦めて、サーバーをOSクリーンインストールからやり直したのである。当初はSSLエラー → 環境が復活するまではサイトにアクセスできないという連続技となった。
Let's Encrypt はフリーなので利用者は多いが、証明書の期限が90日しかないため油断すると期限切れが起きる。当然に自動更新を仕込んでおくが、今度は自動更新がエラーで失敗していたりする。
なぜか問題なく更新されていると錯覚していて、完全に不意打ちを食らった。
とは言え普通であれば、手動でキーを更新するだけ。クリーンインストールなんて必要もなく、サーバーダウンも1日で済んだだろう。だが今回は、なぜか手動更新もできなくなった。
certbot renew を実行すると、
The 'certbot==0.40.0' distribution was not found and is required by the application.
と、見たこともないエラーが出る。ならばと certbot を再インストールしようとすると、今度は
No module named 'uaclient'
とエラーが出て、インストールできない。
エラーメッセージは、いかなる内容でもまず最初はそのまま信じること・・・それが自分の経験なので、モジュールが無いならそれをインストールしてみる。だが、インストール途中でまた何やら別のものが無いとエラーが出る。
試行錯誤しているうちに、apt update までエラーで止まるようになった。
実のところ以前から、実用上は無害なエラーが常時出るようになっていて、無視していた。Windows はさんざん悪口を言われているが、Linux だって訳の分からないエラーが出てそれを解決するのが容易じゃないことは多い。目障りだが我慢して無視すれば使っていられるエラーまで、いちいち付き合ってるほど暇じゃないというのが正直なところだ。仕事ならともかく、個人用ホームページにそこまでやってられない。
もがけばもがくほど状況が悪化し、これはもうどうにもならないと諦めた。
SSLのエラーは放置できず、事実上サイトが使用不能である。面倒でもクリーンインストールするのが「急がば回れ」だと判断。以前からの妙なエラーもろとも初期化してしまおう!
ここで再び、Linux の特徴が面倒。
Windows だとドライブ番号という概念がある。中には、AからZまで全部使ってる剛の者もいる。しかし Linux にドライブ番号の概念は無い。Windows で言えば、ありとあらゆるドライブがCドライブだけに入っているようなものだ。
では、ここでOSをクリーンインストールしようとすれば、どうなるか?
レンタルサーバーである。OSのインストールにテクニックを使う余地はない。すると、「Cドライブ」は初期化されてしまうのだ。
Winodws なら常識的に、システムをCドライブに入れておきデーターは別のドライブに入れる。そうすると、OSをクリーンインストールしてもCドライブが消えるだけで、それ以外のドライブに入っているデーターはそのままである。
ところが Linux でOSを入れ直すと、データーも含めて「すべて」が初期化されて消えてしまうのだ!
もちろんバックアップはあるが、バックアップはレストアして初めて意味がある。
レンタルサーバーにサイトのコンテンツを、またひたすらアップロードせねばならないのだ。これは酷い。Linux の落とし穴である。
written by higashino [ネット・PC] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
Generated by MySketch GE 1.4.1
Remodelling origin is MySketch 2.7.4