SSL証明証の移行

サーバー機の代替や故障、あるいは引越し、そしてOSの変更等の色々な理由でサーバー機が替わることがあります。
各種サーバーの設定等は再設定しますがSSL証明証はドメインに関連付けられていますので新サーバーに移行しなくてはなりません。
そこで、当サイトでも紹介している Let's Encrypt より取得した認証証明書について覚え書きを残しておきます。

旧サーバー側処理

◆証明書関連ファイルのバックアップ
Let’s Encrypt で取得したSSL証明書関連ファイルは「/etc/letsencrypt」配下に保存されているで、そのディレクトリをroot権限でアクセス権やオーナー情報ごとバックアップします。
homeにバックアップファイルを作成しますのでhomeに移動します。
[root@vm-system]#cd /home
バックアップを実行します。
[root@vm-system]#tar -zcvf letsencrypt_back.tar.gz -C /etc/letsencrypt/*
バックアップファイルをFTP等や各種メディア等を使いサーバーより取り出します。
残ったバックアップファイルの削除します。
[root@vm-system]#rm letsencrypt_back.tar.gz

新サーバー側処理

◆snapd のインストールと有効化
EPELからインストールするためのリポジトリを追加します。
[root@vm-system]#dnf -y install epel-release
他リポジトリとのパッケージの競合をさけるため、enabled=0 として普段は読まないようにしておきます。
[root@vm-system]#sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/epel.repo
snapd をインストールします。
[root@vm-system]#dnf --enablerepo=epel -y install snapd
snapd のシンボリックの作成と有効化をします。
[root@vm-system]#ln -s /var/lib/snapd/snap /snap
[root@vm-system]#echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' > /etc/profile.d/snap.sh
[root@vm-system]#systemctl enable --now snapd.service snapd.socket
◆Certbot のインストール
Snap からインストールします。
[root@vm-system]#snap install certbot --classic
シンボリックの作成をします。
[root@vm-system]#ln -s /snap/bin/certbot /usr/bin/certbot
◆バックアップファイルの保存・解凍
バックアップファイルを新サーバーにFTP等や各種メディア等を使い保存し、そのディレクトリに移動します。
[root@vm-system]#cd /***** ← *****は保存したディレクトリ
バックアップファイルを旧サーバーと同じ「/etc/letsencrypt」解凍します。
[root@vm-system]#tar -zxvf letsencrypt_back.tar.gz /etc
バックアップファイルの削除をします。
[root@vm-system]#rm letsencrypt_back.tar.gz
◆動作確認
以下のコマンドでSSL証明書を参照できることを確認します。
[root@vm-system]#certbot certificates
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - -
Found the following certs:
Certificate Name: www.vm-system.net
Serial Number: f5asdc261z4g21vvc2465f45d6vcxd15gjks
Key Type: RSA
Domains: www.vm-system.net
Expiry Date: 2000-00-00 00:00:00+00:00 (VALID: 70 days)
Certificate Path: /etc/letsencrypt/live/www.vm-system.net/fullchain.pem
Private Key Path: /etc/letsencrypt/live/www.vm-system.net/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - -
また、WEBサーバー、メールサーバー等でSSL通信を行い正常に動作することを確認します。