Virtualminのドタバタインストール記録

ホームページで、気がついたら「503 Service Temporarily Unavailable」となっていました。
なんだろうって、ログを見たら
[proxy:error] [pid 28252] (111)Connection refused: AH00957: FCGI: attempt to connect to 127.0.0.1:8001 (*) failed
[proxy_fcgi:error] [pid 28252] [client xx.xx.xx.xx:yyyy] AH01079: failed to make connection to backend: localhost
の嵐!!
このサーバーでは、Virtualminで構成された環境上で、現在3つのサイトが運用されていて、どれも同じ503エラーが。。
apacheのエラーログをたどっていくと、どのサイトも同じ日の同じ時間からエラーが開始されています。
日付からすると、Webminのパッチを当てた日かも。。orz

目次

503の解消方法を調べてみました。

ログをキーワードでググってみたら、意外とたくさんの情報が。。。
日本語は殆どないのですが、英語では結構あったので、google翻訳さんを頼りに調べてみました。
いろんな記事があったんですが、ドンピシャの記事を発見。
proxy: error FCGI: attempt to connect to 127.0.0.1 failed
Virtualminのサイトの記事です。
期待度MAXで読み進めました。
最終的には

/etc/php-fpm.d/161328761822152.confにある、listen = localhost:8000のポート番号と、各サーバー設定である
<FilesMatch \.php$>
SetHandler proxy:fcgi://localhost:8001
</FilesMatch>
がずれてるから、これを併せて、php-fpmを再起動しろとのこと。
やってみたんですが、エラーはなくなったのですが、画面には「File Not Found」となってしまいました。

あきらめました。。

あまり時間もかけれないので、復旧は諦めましたorz
サイトの数も少ないですから、きれいさっぱり再インストールして復旧させることとしました。
手順としては下記になります。
1)Virtualminでフルバックアップする
2)Linuxをインストールする
3)Webminをインストールする
4)Virtualminをインストールする
5)Virtualminでバックアップからリストアする
1)2)はいいとして、3)4)を記載します。

インストールの開始

Webminをインストールします。

# yum install http://download.webmin.com/download/yum/webmin-1.920-1.noarch.rpm
※バージョンはサイトを見て確認してください。(2021/04/28 : 1.973-1)
# chkconfig
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
webmin 0:off 1:off 2:on 3:on 4:off 5:on 6:off
# /etc/rc.d/init.d/webmin start
あとは、日本語にしたり・・・・

Virtualminをインストールします。

# cd /tmp
# wget http://software.virtualmin.com/gpl/scripts/install.sh
# chmod +x install.sh
# ./install.sh
2021-02-09 10:32:03 URL:https://software.virtualmin.com/lib/slib.sh [22148/22148] -> “slib.sh” [1]

checkは標準のままで実施したのですが、最後にデフォルトホスト仮想サーバーの作成で、デフォルトのIPアドレスが検出できないとのエラーがでました。
「仮想サーバーの作成に失敗しました:新しい仮想サーバーにIPアドレスがありません!おそらくVirtualminはシステムのデフォルトIPを計算できませんでした。」
これは、構成されたIPv4が仮想サーバーの作成プロセスによって自動的に捕捉されなくなったために発生します。
仕方ないので、手動でデフォルトのIPアドレスを設定しました。

Vertualmin Configuration → Network Setting → Default virtual server IPv4 address にデフォルトのIPアドレスを設定します。

これで、仮想サーバーが作成できましたが。。。
今度はLet’s Encryptで証明書が取得できない状態です。

Please upgrade your ACME client to a version that supports ACMEv2 / RFC 8555.

Let’s Encryptの対応

原因としてはAPI V2に移行して、API V1が閉じられてしまったことが原因です。
これに対応するには、現在のCertbotではなく、snapのCertbotを利用する必要があります。
手順としては、certbot instructions のサイトに書かれています。
1)既存のCertbotを削除します。
# yum remove certbot
※私の環境では「python2-certbot.noarch」がありましたが、それはそのままにしてあります。
2)snapdパッケージをインストールします。
# yum install snapd
3)メインスナップ通信ソケットを管理するsystemdユニットを有効にします。
# systemctl enable –now snapd.socket
4)従来のsnapサポートを有効にするには、以下を実行して/var/lib/snapd/snapの/snapへのシンボリックリンクを作成します。
# ln -s /var/lib/snapd/snap /snap

ログアウトして再度ログインするか、システムを再起動して、スナップのパスが正しく更新されていることを確認します。

5)snapdのバージョンが最新であることを確認します。
# snap install core
# snap refresh core
6)certbotのインストール
# snap install –classic certbot
7)certbotコマンドを実行できるようにします。
# ln -s /snap/bin/certbot /usr/bin/certbot
シンボリックリンクを確認してください。
$ ls -la /usr/bin/certbot
lrwxrwxrwx 1 root root 17 4月 28 11:29 /usr/bin/certbot -> /snap/bin/certbot
$ ls -la /snap/bin/certbot
lrwxrwxrwx 1 root root 13 4月 28 11:27 /snap/bin/certbot -> /usr/bin/snap
バージョン
$ certbot –version
certbot 1.14.0

SSL証明書の作成

Webminにログインをし直して、Let’s EncryptでSSL証明書の取得をしてみてください。
できる・・・はずです(^^;

おまけ。。。

Virtualminでは画面から操作しますが、コマンド単体で操作をする場合。。
・証明書を取得してインストールする場合
# certbot –apache

・証明書を取得するだけの場合
# certbot certonly –apache

・ドキュメントルート(webroot)を指定して証明書を作成する場合
# certbot certonly –webroot -w /var/www/html/hoge/ -d hoge.com

・自動更新をテストする
$ certbot renew –dry-run

・タイマーの確認
$ systemctl list-timers

終わりに。。。

最新?のVertualminって、表示が??なところがあります。
一番ビックリしたのがQuotasの設定。。
単位が、いままではMBとかGBだったんですが、今回は1048576とか1073741824とかになっています(^^;
ダッシュボードの「ディスククォータ」ではGBとか表示してくれるんですが、ちょっとびっくりしました(^^;


Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA