Time4VPS に FileMaker Server を構築する3

前回 CentOS に FileMaker Server を立てた。

Time4VPS に FileMaker Server を構築する2 – with a Christian Wife
https://wacw.cf/2021/07/02/filemaker-server-on-time4vps-2/

次は Let's Encrypt の証明書を設定する手順に進む。

環境:
・Time4VPS「Linux 8」(CPU: 2 x 2.60 GHz、RAM: 8192 MB、Storage: 80 GB、Bandwidth: 8 TB、Port speed: 100 Mbps、Virtualization: KVM)、CentOS 7.8
・FileMaker Server for Linux 19.0.1.22(英語)
・macOS Catalina Version 10.15.6(英語環境) で SSH 接続
・Freenom のドメイン(サブドメイン)
・FileMaker Pro 18 Advanced
・FileMaker Go 18

(1)Freenom のドメインを Time4VPS の IP アドレスに向ける。

Freenom – A Name for Everyone
https://www.freenom.com/en/index.html?lang=en

(2)FileMaker Server の Admin Console にログインし、「Configuration>General Settings>Server Information>Server Name」に1のドメイン名を記入する(これはしなくていい作業かもしれない)。

(3)root でログインする。

(4)システムのアップデート。

1# yum check-update
2# yum update --exclude=kernel*

(5)Certbot クライアントをインストール。

1# yum install epel-release
2# yum install certbot python-certbot-apache

(6)Certbot での Let's Encrypt の証明書の取得には、webroot モード、standalone モード、manual モードがある。

いろいろ試し、証明書の更新のことまで考えると、standalone モードで証明書を取得し、更新は webroot モードで行なうのが一番スマートのようだ。manual モードは特殊な状況で使われるようなので、今回は関係ない。

さて、standalone モードでは Web サーバー無しで証明書の取得ができる。逆に言えば Web サーバーが起動していると Certbot にエラーが出てしまう。ただ、FileMaker Server をインストールすると Apache(httpd)も同時にインストールされるものの、なぜか FileMaker Server が動いている間は Apache が止まっている。以下のコマンドを実行しても、いつも inactive なのだ。

# systemctl status httpd.service

万が一 active になっていた場合は、以下のコマンドで停止させよう。

# systemctl stop httpd.service

一方 webroot モードでは Web サーバーが動いていても証明書の更新ができる。つまり Web サービスを止めずに、cron で普通に実行すればいい。

(7)Let's Encrypt 証明書を作成する。

# certbot certonly --email [メールアドレス] -d [ドメイン] --agree-tos --standalone

オプションの説明:
・–email オプションで、登録メールアドレスを指定。
・–agree-tos オプションで、利用規約に同意する画面を省略する(同意したことになる)。

Congratulations! と表示されれば成功だ。

証明書の情報は以下のコマンドで確認できる。

# certbot certificates

(8)/etc/letsencrypt/live/[ドメイン]/ に保存された証明書を FileMaker Server のディレクトリ(/opt/FileMaker/FileMaker Server/CStore)にコピーする。

1# cd /etc/letsencrypt/live/[ドメイン]/
2
3# ls
4cert.pem chain.pem fullchain.pem privkey.pem README
5
6# cp cert.pem chain.pem privkey.pem /opt/FileMaker/FileMaker\ Server/CStore/
7
8# cd

(11)証明書を FileMaker Server にインポートする。

# fmsadmin certificate import /opt/FileMaker/FileMaker\ Server/CStore/cert.pem --keyfile /opt/FileMaker/FileMaker\ Server/CStore/privkey.pem --intermediateCA /opt/FileMaker/FileMaker\ Server/CStore/chain.pem

(12)FileMaker Serverを再起動する。

1# fmsadmin close -y -u [ユーザー名] -p [パスワード]
2# systemctl restart fmshelper.service

(13)Admin Console にログインすると「Configuration>SSL Certificate」が Let's Encrypt のものになっていた。

CentOS を再起動することで、ブラウザで Admin Console にアクセスした際、ブラウザの証明書が Let's Encrypt になっていることを確認できた。

FileMaker Pro Advanced や FileMaker Go からアクセスすると、しばらくすれば鍵アイコンがオレンジ色だったものが緑に変わる。反映には少し時間(1時間程度?)がかかるようだ。

次は Let's Encrypt の証明書の更新について書く。

(続く)

参考:
How to Update FileMaker Server on Linux | Soliant Consulting
https://www.soliantconsulting.com/blog/updating-filemaker-server-linux/

ディレクトリを作成する!mkdirコマンドの詳しいまとめ【Linuxコマンド集】
https://eng-entrance.com/linux-command-mkdir

FileMakerServer19をCentOS7.8のCLI 環境のみで稼働 – Qiita
https://qiita.com/Hi_Noguchi/items/f0d0cedc81a807cedbb1#apache-%E3%81%AE-ver-%E7%A2%BA%E8%AA%8D

Let's EncryptでFileMaker ServerをSSL化 – Qiita
https://qiita.com/sikkim/items/06783ada798c616a134a

Let’s Encryptの更新と失敗したときの対処方法
https://note.affi-sapo-sv.com/letsencrypt-uodate.php

無料のSSL証明書Let’s Encryptを設定・更新・自動更新する方法(CentOS7, Apache2.4対応) | プログラミング入門ナビ
https://blog.proglus.jp/105/#SSL-2

Let's Encrypt で webroot 利用時に更新(renew)がこけた時の対処方法 – Qiita
https://qiita.com/fallout/items/6676011cdfe42be6334a

Let's Encrypt の証明書が更新されない時の調査記録(renew に失敗編) – Qiita
https://qiita.com/hiroto_otake/items/bec2de5bcee542d7b57f

「certbot renew」のエラーを解決した話 – Qiita
https://qiita.com/goodevelop5323/items/bc3962a3c1234075d445