Let's Encrypt のワイルドカード証明書をFileMaker Server19に入れてみた
Linux版です。備忘録的なメモです。
すでにFileMaker Serverはインストールされた状態からです。ちなみにバージョンは19.2.1
まずはcerbotをインストール。といっても、そのままだと入らないのでリポジトリとアパッチ用のphytion2も一緒にインストールします。
sudo yum install epel-release
yum -y install certbot.noarch
yum -y install python2-certbot-apache
実は、cerbotのインストールにかなり苦戦しました。
こちらのページでとても丁寧に説明されており、おかげで無事にインストールすることが出来ました。ありがとうございます<(_ _)>
無事にcerbotがインストール出来たところで次はワイルドカード証明書の発行ですが、なぜワイルドカード証明書かと言いますと・・・
別の有料の証明書を使用していたWebサーバーが期限を迎え、これを気にそちらもLet's Encryptにしようかな〜と思ったら・・・CentOS6のためかcertbotが見つからない。
じゃあ他にもサーバーあるしワイルドカード証明書試してみるか
ということでワイルドカード証明書やってみます。
ワイルドカード証明書にすると更新の度にDNSのTXTレコードを触る必要がありますが、複数台使う予定なのでこれでどうかな〜楽に出来ないかな〜と言ったところです。
個人的にもう一つ良いところは、ワイルドカード証明書の場合DNS認証で証明書が発行されるため、そのサーバーで認証のためだけにApache動かしてポート空けてってしなくても良いのも利点と思います。
閑話休題。
さて、ワイルドカード証明書発行に当たってはこちらのページを参考にしました。
こちらも大変丁寧に説明されており、おかげさまでスムーズに証明書発行にこぎ着けることが出来ました。
ありがとうございます<(_ _)>
まずはこちらのコマンドを実行します。
certbot certonly --manual \
--server https://acme-v02.api.letsencrypt.org/directory \
--preferred-challenges dns \
-d *.hoge.com -d hoge.com \
-m you@hoge.com \
--agree-tos \
--manual-public-ip-logging-ok
hoge.comの部分はご自身のドメインに、you@hoge.comは連絡先のメールアドレスに変更してください。
Please deploy a DNS TXT record under the name
_acme-challenge.hoge.com with the following value:
CTbYKkeeyjOv_zPHZtyYoYc5hZm7xG0suz9Llfw2Kdc
Before continuing, verify the record is deployed.
---------------------------------------------------
Press Enter to Continue
さぁココです。
要するに、DNSに _acme-challenge.hoge.com って名前でTXTレコードを追加して、値としてCTbYKkeeyjOv_zPHZtyYoYc5hZm7xG0suz9Llfw2Kdcを設定しなさいってことなんですが・・・
お名前.comならこんな感じですね
最後にある Press Enter to Continue を押すのを早まってはいけません。
上記の設定が反映してから出ないとエラーとなり、やり直しになっちゃいます。
certbot certonly --manual・・・からやり直しになりますので、当然 DNSのレコード設定もやり直しです。(私も一度やり直したw)
手元でnslookupしてTXTレコードが読めても安心してはいけません
Let's Encryptのサーバーから読めないと意味がありませんからとりあえず私はこのためだけに使う予定のないbindを入れ、AWS上のCentOSからDNSに設定したTXTレコードが読めることを確認した上で10分ほど放置してEnterを押したらうまくいきました♪
ちなみに失敗したときのメッセージはこれ
- The following errors were reported by the server:
Domain: hoge.com
Type: unauthorized
Detail: Incorrect TXT record
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" found at
_acme-challenge.hoge.com
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A/AAAA record(s) for that domain
contain(s) the right IP address.
成功すると
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/hoge.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/hoge.com/privkey.pem
Your cert will expire on 2021-04-15. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Congratulations!ときました。証明書ファイルが保存されているパスが書かれていますので確認すると
ls /etc/letsencrypt/live/hoge.com/
cert.pem chain.pem fullchain.pem privkey.pem README
おー出来てます。READMEの中にはrenewするときに使うからここからファイルを動かさないで!名前も変えないで!ってことと、それぞれの証明書ファイルの役割が書いてました。
あとはこれをローカルに取得して保存・FileMaker Serverにインポートするだけです。
とココでまた問題が・・・
scpですんなりダウンロード出来ないんですよねパーミッションの関係で。
変えちゃえばいいんですが、とりあえず今回はエディタで開いて中身をコピーして持ってきちゃいました!!www
動くのかそれw
とか思いましたが、キチンと動きました。びっくりですね。
こんな感じインポートすればOKです。
プレイベートキーパスワードは設定していないので空白のままで問題なし♪
他にも色々なページを参考にさせていただきました。特にfukkyさんにはスペシャルサンクスです。実は scp って知りませんでした(^^;
参考になれば幸いです。
どのくらい自動化できるかなぁ