🌊

Claris FileMaker Server for Linuxをインストールする(Vagrant:CentOS7.8編)

15 min read

たまには普通のことをしようと思いました

今回はClaris FileMaker Server for Linux (以下FMS19と略す)のインストールを簡単に試すためにVagrantを使ってローカルにインストールしてみます。

もう少し噛み砕くと、Vagrantという仮想OS構築ツールを使ってVirtualBoxという仮想化ソフトウェア上にCentOSを作ってそこにFMS19をインストールしてみます。

この記事でやることは恐らく現時点(2021.02.19)ではM1のmacではできないと思います。

環境

  • macOS Catalina (10.15.7)
  • VirtualBox 6.1.16
  • Vagrant 2.2.14
  • CentOS 7.8
  • FileMaker Server 19.2.1.23

準備

VirtualBoxやVagrant無い方はインストールしてください。

1. FMS19をインストールするVagrantディレクトリを作って初期化する

どこに作ってもいいですけどズボラな方は後で見失なって消し忘れないよう、わかりやすいところにわかりやすい名前で作るのをおすすめします。

% mkdir fms19-centos78
% cd fms19-centos78
fms19-centos78 % vagrant init

2. FMSインストーラを作ったディレクトリに放り込む

fms_19.2のCentOS用インストーラ(展開前)をコピーして図のような状態にする。
ライセンス持ってない方は無料試用版ダウンロードしてください。

3. Vagrantfileを書き換え

fms19-centos78/Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

  config.vm.box = "bento/centos-7.8"
  # config.vm.box_check_update = false

  # config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.network "public_network", ip: "<任意のローカルIP>"

  # config.vm.synced_folder "../data", "/vagrant_data"

  config.vm.provider "virtualbox" do |vb|
    # Customize the amount of memory on the VM:
    vb.memory = "1024"
  end

  config.vm.provision "file", source: "fms_19.2.1.23.zip", destination: "/tmp/fms_19.2.1.23.zip"
end

Vagrantfileの補足

config.vm.box = "bento/centos-7.8"がCentOS7.8の仮想OSを作るぞの指定です。
ローカルにBoxファイル(仮想OSのファイル的な)ない場合はVagrant CloudからBoxファイルを取得してきますのでCentOSのOSイメージを一生懸命探したり作ったりする必要はありません。

config.vm.network "public_network", ip: "<任意のローカルIP>"で任意のIPを指定しておけば、LAN内で通信できる仮想OSとして作成されます。インストールさえ出来ればよくて接続確認とかイラン!という場合はコメントアウトしてください。

4. 起動

vagrant upでVagrantfileに従って仮想OS(この記事ではCentOS7.8)の生成が始まります。
Which interface should the network bridge to?で自身のPCで利用できるネットワークインターフェースから選択しています。この記事では1のWi-Fiを選択(入力)してEnterしています。
これはVagrantfileでpublic_networkを使用する設定にしているからです。

fms19-centos78 % vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'bento/centos-7.8'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'bento/centos-7.8' version '202010.22.0' is up to date...
==> default: Setting the name of the VM: fms19-centos78_default_1613731978882_74545
==> default: Clearing any previously set network interfaces...
==> default: Available bridged network interfaces:
1) en1: Wi-Fi (Wireless)
2) en0: Ethernet
3) en11: USB Ethernet(?)
4) en2: Thunderbolt 1
5) en3: Thunderbolt 2
6) en4: Thunderbolt 3
7) en5: Thunderbolt 4
8) bridge0
9) p2p0
10) awdl0
11) llw0
==> default: When choosing an interface, it is usually the one that is
==> default: being used to connect to the internet.
==> default: 
    default: Which interface should the network bridge to? 1
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: bridged
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: 
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default: 
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => <記載省略>/fms19-centos78
==> default: Running provisioner: file...
    default: fms_19.2.1.23.zip => /tmp/fms_19.2.1.23.zip

ここからが本番ですよ

無事起動したら早速CentOSの中に入りましょう。vagrant sshでCentOSにsshで入れます。
user名vagrantでsudoできるアカウントでログインされます。
redhat-releaseの中を確認してCentOS7.8であることを確認しています。

fms19-centos78 % vagrant ssh
Last login: Fri Feb 19 11:04:49 2021 from 10.0.2.2

This system is built by the Bento project by Chef Software
More information can be found at https://github.com/chef/bento
[vagrant@localhost ~]$ cat /etc/redhat-release 
CentOS Linux release 7.8.2003 (Core)
[vagrant@localhost ~]$ 

ログイン後条件反射的にsudo yum updateをしないでください!
CentOS7.9になってしまいますよ!

0. 泣きながらCentOSのバージョン固定の設定をする

なぜClaris社はサポートされるオペレーティングシステムをCentOS7.8と固定してしまったのでしょう。
CentOS7.8~ではいけなかったのでしょうか?
このままだとyum updateするとバージョンが7.9に上がってしまいます。

CentOSの正確なバージョン名を確認して、rootユーザーにスイッチして/etc/yum.repos.d/CentOS-Base.repoの設定を書き換えます。

$ cat /etc/redhat-release 
CentOS Linux release 7.8.2003 (Core)
$ sudo su -
# echo 7.8.2003 > /etc/yum/vars/releasever
# sed -i".org" -e "s/^mirror/#mirror/" \
> -e "s/^#baseurl/baseurl/g" \
> -e "s/mirror.centos/vault.centos/g" \
> /etc/yum.repos.d/CentOS-Base.repo
# yum clean all
# yum update
# cat /etc/redhat-release 
CentOS Linux release 7.8.2003 (Core)

Claris社のサポートバージョンが上がった時は/etc/yum/vars/releaseverの内容を書き換えるか
設定を元に戻せば大丈夫です。

以後はrootの状態であることを前提に記載していきます。

1. FMS19インストール:まずはunzipする

/tmpに放り込んであるfms_19.2.1.23.zipを展開しましょう。
unzipが入っていない場合はインストールします。

# which unzip
/usr/bin/which: no unzip in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
# yum install unzip -y && yum clean all

unzipコマンドで展開します。

# unzip fms_19.2.1.23.zip -d fms_19.2.1.23
Archive:  fms_19.2.1.23.zip
  inflating: fms_19.2.1.23/Assisted Install.txt  
  inflating: fms_19.2.1.23/filemaker_server-19.2.1-23.x86_64.rpm  
  inflating: fms_19.2.1.23/FMS License (English).rtf  
  inflating: fms_19.2.1.23/FMS License (French).rtf  
  inflating: fms_19.2.1.23/FMS License (German).rtf  
  inflating: fms_19.2.1.23/FMS License (Italian).rtf  
  inflating: fms_19.2.1.23/FMS License (Japanese).rtf  
  inflating: fms_19.2.1.23/FMS License (Spanish).rtf  
  inflating: fms_19.2.1.23/README_Installation_English.txt  
  inflating: fms_19.2.1.23/README_Installation_French.txt  
  inflating: fms_19.2.1.23/README_Installation_German.txt  
  inflating: fms_19.2.1.23/README_Installation_Italian.txt  
  inflating: fms_19.2.1.23/README_Installation_Japanese.txt  
  inflating: fms_19.2.1.23/README_Installation_Spanish.txt  
# cd fms_19.2.1.23

展開されたファイル群のうち、filemaker_server-19.2.1-23.x86_64.rpmがCentOS用のFMS19インストーラです。

2. 穴に向かって進まない

さっそくインストールと行きたいところですが先に入れておく必要があるものがあります。
centos-release-sclを入れておかないとFMS19(19.2)のインストールに失敗してしまいます。

# yum install centos-release-scl -y && yum clean all

この件はHelpのインストール手順とサポートに記載されています。
Claris FileMaker Server 19.2.1 を Linux にインストールできません
Claris FileMaker Server 19 インストールおよび構成ガイド

3. インストールする

ようやくインストールであります。

# yum install filemaker_server-19.2.1-23.x86_64.rpm

手元にrpmパッケージがあるとついrpmコマンドでインストールしてしまいがちですが、
yumコマンドでインストールしましょう。
依存パッケージやライブラリも合わせてインストールしてくれます。

  I confirm that I have read and agree to the terms of the Claris FileMaker Server Software License Agreement included with the software.
  	Agree (y)	Decline (n)  [y/n] 

同意しましょう。

  0 ) Claris FileMaker Server
  1 ) Claris FileMaker WebDirect Worker
  Choose 0 to install Claris FileMaker Server or 1 to install Claris FileMaker WebDirect Worker. [0/1] 

今回は0ですね。ワーカーを入れたいんだと言う方はどうぞご自由に。

  Perform installation for Claris FileMaker Server.
  Set up the Claris FileMaker Server Admin Console account for Claris FileMaker Server.
  Use this account when you sign into Claris FileMaker Server Admin Console.
  Enter User Name: admin
  Create a password to sign into Claris FileMaker Server Admin Console.
  Enter password: 
  Confirm password: 
  Create a 4-digit PIN needed to reset Claris FileMaker Server Admin Console account password via the command line interface.
  Enter PIN: 
  Confirm PIN: 
  Set Claris FileMaker Server Admin Console account information.
  Claris FileMaker Server is being installed by root to run as fmserver of fmsadmin group.
  Create fmsadmin group.
  Create fmserver user in fmsadmin group.

Admin Console にログインするためのユーザー名他を入力していきます。この記事ではadminにしていますが任意のユーザー名にしてください。

インストールが終わったら状態を確認してみましょう。

# ps aux | grep fms
fmserver  3987  0.5  2.7 956676 27824 ?        Ssl  12:15   0:00 /opt/FileMaker/FileMaker Server/Database Server/bin/fmshelper
fmserver  4048  0.2  8.6 910108 88112 ?        Sl   12:16   0:00 /opt/FileMaker/FileMaker Server/Database Server/bin/fmsib
fmserver  4055  0.0  1.0 437128 10416 ?        Ssl  12:16   0:00 ./fmslogtrimmer -f access_log,error_log,ssl_access_log,ssl_request_log,ssl_error_log,fmsadminserver_access_log,fmsadminserver_error_log,fmsadminserver_ssl_request_log
fmserver  4064  0.5  9.6 1079548 97544 ?       Sl   12:16   0:00 /opt/FileMaker/FileMaker Server/Database Server/bin/fmserverd
fmserver  4130  6.3  8.4 1720072 85704 ?       Sl   12:16   0:02 /opt/FileMaker/FileMaker Server/Admin/FAC/facstart.sh
fmserver  4244  0.7  9.1 1000012 93300 ?       Sl   12:16   0:00 /opt/FileMaker/FileMaker Server/Database Server/bin/fmsased
root      4359  0.0  0.0  10692   972 pts/0    R+   12:16   0:00 grep --color=auto fms

fmshelperは大丈夫そうですね。

# ps aux | grep httpd
root      4429  0.0  0.0  10692   972 pts/0    R+   12:18   0:00 grep --color=auto httpd

おや?httpdのプロセスがいない?

# systemctl status com.filemaker.httpd.graceful.service
● com.filemaker.httpd.graceful.service - Filemaker.com monitor system and graceful httpd
   Loaded: loaded (/etc/systemd/system/com.filemaker.httpd.graceful.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2021-02-19 12:15:50 UTC; 4min 24s ago

Feb 19 12:15:50 localhost.localdomain systemd[1]: Starting Filemaker.com monitor system and graceful httpd...
Feb 19 12:15:50 localhost.localdomain env[3906]: /opt/FileMaker/FileMaker Server/HTTPServer/bin/httpdctl: line 41: /opt/rh/httpd24/root/usr/sbin/httpd: No such file or directory
Feb 19 12:15:50 localhost.localdomain systemd[1]: com.filemaker.httpd.graceful.service: control process exited, code=exited status=127
Feb 19 12:15:50 localhost.localdomain systemd[1]: Failed to start Filemaker.com monitor system and graceful httpd.
Feb 19 12:15:50 localhost.localdomain systemd[1]: Unit com.filemaker.httpd.graceful.service entered failed state.
Feb 19 12:15:50 localhost.localdomain systemd[1]: com.filemaker.httpd.graceful.service failed.

むむむ!?

だがしかしご安心を、これは想定内です。
rebootしましょう。

# reboot

再起動コマンドを実行したため、CentOSからログアウトされてローカルPCに戻ってきます。

少し時間をおいてから再度CentOSにログインします。

% vagrant up
...
% vagrant ssh
...
ここからはCentOS上での操作
$ ps aux | grep httpd
root      1281  0.0  0.7 183244  7364 ?        Ss   12:21   0:00 /opt/rh/httpd24/root/usr/sbin/httpd -k start -D FILEMAKER -f /opt/FileMaker/FileMaker Server/HTTPServer/conf/httpd.conf
fmserver  1307  0.0  1.0 905204 10892 ?        Sl   12:21   0:00 /opt/rh/httpd24/root/usr/sbin/httpd -k start -D FILEMAKER -f /opt/FileMaker/FileMaker Server/HTTPServer/conf/httpd.conf
fmserver  1308  0.0  0.8 774132  9124 ?        Sl   12:21   0:00 /opt/rh/httpd24/root/usr/sbin/httpd -k start -D FILEMAKER -f /opt/FileMaker/FileMaker Server/HTTPServer/conf/httpd.conf
fmserver  1309  0.0  0.8 774132  9124 ?        Sl   12:21   0:00 /opt/rh/httpd24/root/usr/sbin/httpd -k start -D FILEMAKER -f /opt/FileMaker/FileMaker Server/HTTPServer/conf/httpd.conf
vagrant   1973  0.0  0.0  10664   688 pts/0    R+   12:29   0:00 grep --color=auto httpd

やったね!

雑に確認

Vagrantfileで指定したipにSafariでアクセスすれば

https://xxx.xxx.xxx.xxx:16000/admin-console/signin


Claris デフォルト証明書を使用する


うぇ〜い

FileMaker Proでも接続確認

fmnet:/xxx.xxx.xxx.xxx/FMServer_Sample.fmp12

デフォルトの証明書ではブラウザのセキュリティが増してSafari以外ではそもそもアクセス出来ないのと、
WebDirectの起動センター画面が開かないとかファイルアップロード出来ないとかありますが、ちゃんとした証明書をいれれば大丈夫。だと思います。恐らく。

今回は使える環境を構築するのではなく、取り敢えずFMS19をCentOSにインストールするよ。
という記事です。インストールの手順や勝手の理解に役立てば幸いです。

掃除

確認したからもういいや。いらない。と言う場合は不要となったものを削除しましょう。

1. CentOSの停止と削除

CentOS上でexitコマンドでログアウト

$ exit
logout
Connection to 127.0.0.1 closed.

vagrant コマンドでCentOSの停止と削除

% vagrant halt
==> default: Attempting graceful shutdown of VM...
==> default: Forcing shutdown of VM...
 % vagrant destroy
    default: Are you sure you want to destroy the 'default' VM? [y/N] 

2. VagrantのBoxファイルを削除する

Vagrant CloudからダウンロードしてきているBoxファイルを削除します。
再利用したい場合は削除しなくて大丈夫です。

% vagrant box remove bento/centos-7.8 

3. Vagrantfileのあるディレクトリを削除

後でこれは何だったっけ?とならないように不要ならさっさと削除しましょう。

% cd <Vagrantfileファイルのあるディレクトリ>
% cd ../
% rm -r <Vagrantfileファイルのあるディレクトリ>

何をやっているのか理解できている方のみrm -rfを使ってください。
よく分かってない場合はGUIから操作してディレクトリを削除しましょう。

4. VagrantとVirtualBoxのアンインストール

これらソフトも不要であればアンインストールしましょう。
書くのが辛くなってきたので、
Vagrantのアンインストール
VirtualBoxのアンインストール

おまけ

手順がほぼ同じなので別途記事にはしませんが、CentOSのバージョンが7.9でも構わないのであればバージョンを固定する手順を飛ばすだけで後は問題なくインストールできます。

どうしても自作のファイルなんかを配置したい場合は/opt/FileMaker/FileMaker\ Server/Data/Databases/に直接ファイルを置いてからfmsadminコマンドかAdmin Console上でファイルをオープン状態にして上げればできます。
ファイルはVagrantfileがあるディレクトリ(本記事ではfms19-centos78)がCentOS上に/vagrantとしてマウントされているのでコピーか移動してファイルのオーナーや権限を変更してあげればいいと思います。

Discussion

ログインするとコメントできます