FileMakerServer19をLinuxのCLI 環境のみで稼働


はじめに

対象読者

Claris FileMaker Server 19 リリースノート

追記

  • 2021/12/06 Ubuntu 18.04 環境における 19.4.1 稼働
    • 前提として 19.4.1 以後は Ubuntu のみのサポートへ変更されました
    • 逆に 19.2 までは CentOS のみ
    • やや煩雑になりますが、以下の記述では両パターンについてのインストール方法を記しておきます

前提

  • 先述の前編記事で環境構築が済んでいること

前準備

apache の ver. 確認

  • 知っておかないと個人的にすわりが悪いので……

コマンド

  • Ubuntu の場合
apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2021-09-28T22:27:27
  • CentOS の場合
httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Apr  2 2020 13:13:23

インストール先ディレクトリの確認

path

/opt/FileMaker/

apache 設定ファイルの確認

path

/opt/FileMaker/FileMaker Server/HTTPServer/conf/httpd.conf

ファイアウォールの設定

前提

  • GCP 環境の場合は GCP 側でファイアウォールを設定することが多いと思うので、以下はスルーで構いませんので、初期設定の項まで飛ばしてしまってください

確認

  • 前編記事で設定している場合は、以下のように結果が表示されると思います
    • zonename = active な zone の名前
    • xxx.xxx.xxx.xxx = 許可元の ip address
sudo firewall-cmd --list-all
zonename (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client
  ports: 80/tcp 443/tcp 2399/tcp 5003/tcp 16000/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
        rule family="ipv4" source address="xxx.xxx.xxx.xxx" port port="22" protocol="tcp" accept

すべての通信について許可元 ip address からのみの接続とする

  • セキュリティポリシーや運用方法次第ですが、すべての通信について許可元 ip address からのみの接続とした方が、安全と思いますので、そうします

    • 今後の自動アップデートの時、どうするかはまた考える……
  • コマンドを一つずつ打って対応するのも面倒なので、設定ファイルを直接編集します

    • zonename = くどいようですが active な zone の名前を指定
    • xxx.xxx.xxx.xxx = こちらもくどいようですが、許可元 ip address を指定
sudo vim /etc/firewalld/zones/zonename.xml
/etc/firewalld/zones/zonename.xml--before
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="dhcpv6-client"/>
  <port protocol="tcp" port="80"/>
  <port protocol="tcp" port="443"/>
  <port protocol="tcp" port="2399"/>
  <port protocol="tcp" port="5003"/>
  <port protocol="tcp" port="16000"/>
  <rule family="ipv4">
    <source address="xxx.xxx.xxx.xxx"/>
    <port protocol="tcp" port="22"/>
    <accept/>
  </rule>
</zone>
/etc/firewalld/zones/zonename.xml--after
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="dhcpv6-client"/>
  <rule family="ipv4">
    <source address="xxx.xxx.xxx.xxx"/>
    <port protocol="tcp" port="22"/>
    <accept/>
  </rule>
  <rule family="ipv4">
    <source address="xxx.xxx.xxx.xxx"/>
    <port protocol="tcp" port="80"/>
    <accept/>
  </rule>
  <rule family="ipv4">
    <source address="xxx.xxx.xxx.xxx"/>
    <port protocol="tcp" port="443"/>
    <accept/>
  </rule>
  <rule family="ipv4">
    <source address="xxx.xxx.xxx.xxx"/>
    <port protocol="tcp" port="2399"/>
    <accept/>
  </rule>
  <rule family="ipv4">
    <source address="xxx.xxx.xxx.xxx"/>
    <port protocol="tcp" port="5003"/>
    <accept/>
  </rule>
  <rule family="ipv4">
    <source address="xxx.xxx.xxx.xxx"/>
    <port protocol="tcp" port="16000"/>
    <accept/>
  </rule>
</zone>

設定リロードと反映確認

  • 設定リロード
sudo firewall-cmd --reload
  • 反映されていること確認
sudo firewall-cmd --list-all
zonename (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
        rule family="ipv4" source address="xxx.xxx.xxx.xxx" port port="22" protocol="tcp" accept
        rule family="ipv4" source address="xxx.xxx.xxx.xxx" port port="80" protocol="tcp" accept
        rule family="ipv4" source address="xxx.xxx.xxx.xxx" port port="443" protocol="tcp" accept
        rule family="ipv4" source address="xxx.xxx.xxx.xxx" port port="2399" protocol="tcp" accept
        rule family="ipv4" source address="xxx.xxx.xxx.xxx" port port="5003" protocol="tcp" accept
        rule family="ipv4" source address="xxx.xxx.xxx.xxx" port port="16000" protocol="tcp" accept

初期設定

サインイン画面

開く

  • https://xxx.xxx.xxx.xxx/admin-console/signin
    • 接続許可した ip address 環境から上記 url へアクセスして、以下の画面が表示されれば OK です
    • 許可していない ip address 環境からのアクセスが遮断されていることも確認しましょう

ユーザー名/パスワード入力

  • インストール時に自身で設定した username / password を入力

セキュリティ設定

証明書

  • ひとまずテストサーバということで Claris デフォルト証明書を使用

  • リスクを受け入れる

ダッシュボードの表示

  • まずは無事に表示されることが確認できました

FileMaker Pro 19 からのアクセス

サンプルファイルを開いてみる

  • FileMaker Pro 19 を起動
  • ホストへ FileMaker Server の ip address を指定してみると、以下のようなアラートが出るけれど、分かっていることなので接続する

  • サンプルファイルが表示される

  • サンプルファイルを開く。問題なく開けました!

自作したローカルファイルをホストさせる

ファイルの用意

  • 適当に starter で指定したファイルを用意
    • ホストにアップロードをする際に詰まらないよう、パスワード設定する
    • ファイルは閉じる

ホストにアップロードを用いるやり方

  • ホストにアップロードを実行



  • ホスティングされていることを AdminConsole で確認

  • 初期設定では以下のディレクトリに格納される
    • /opt/FileMaker/FileMaker Server/Data/Databases/

ファイルを直接設置して AdminConsole で開くやり方

  • データベースファイルの置き場にディレクトリにファイルを置く。以下は初期設定

    • /opt/FileMaker/FileMaker Server/Data/Databases/
  • AdminConsole でファイルを開く

おわりに

感想

  • 特に問題なく Linux CLI 環境で運用できます!