FileMaker Server for Linux をUbuntuに入れたかった
珍しく頑張ろうとしたけど結局あきらめた話
先日Claris Community にアイデアとして投稿しました。
I want Claris FileMaker Server 19 for Linux to be available for Debian/Ubuntu.
元々はCentOS用に配布されているrpmパッケージを変換したらUbuntuにも入るのでは?と安易な気持ちで変換してみようと試みたが色々と躓いて諦めた。
何故やろうとした?
単純にCentOSよりもUbuntuの方が好きだから。
以下、Redhat/CentOSをRedHat系、Debian/UbuntuをDebian系と略して記載します。
やったこと
- Alienでrpmをdebに変換
- インストールのシェルスクリプトをゴニョる
- SELinux関係コメントアウト
- firewall-cmd を ufwに書き換え
- 依存してるぽいライブラリやパッケージを調べてDebian系で相当するものをインストール
- fmshelper起動スクリプトに記述されてるRedHat系的な記述を変更してみる
以上のことをやってみたけど駄目でした。とことん調査して書き換えたりすれば可能性はあるけどバージョンアップのたびに毎回書き換えるとか自己満足にしかならないし。不明点も多く割に合わないと判断して諦めた。
分からないこと
1. rhというディレクトリが生成されるのなんで?
CentOSに普通にインストールした場合/opt配下に「rh」というディレクトリが生成されてなんかFileMaker Server で使うhttpd(Apache)のためにいろいろ詰め込まれている。
どうやらSCLでApacheをインストールしているせいでそうなっているようだ。CentOS詳しくないので知らなかった。
これをDebian系の場合どう対応したものか判断つかなかった。
尚、サービス制御を行うシェルスクリプトには以下のような分岐処理が記述されている。
LSB=$(/usr/bin/lsb_release -i | cut -f 2)
if [[ $LSB = "Ubuntu" ]]
then
COMMAND=/usr/sbin/apache2
else
COMMAND=/opt/rh/httpd24/root/usr/sbin/httpd
fi
Ubuntuだと!?
しかし肝心のApacheの設定ファイルの方がRedHat系のまま。おかげでライブラリ読み込みエラーが出る。。
RedHat系とDebian系でApacheの設定の管理方法が違うので設定ファイルを書き換えという手段はちょっと違うような気がする。正規のApacheの方にFileMaker Server用のホスト設定を追加したら動くのかな?
起動スクリプトがDebian系にない関数を使っている
FileMaker Serverのサービス起動系スクリプトでRedHat系で用意されている/etc/init.d/functionsという共通関数のようなものを読み込んで使っているが、Debian系にある似たような/lib/lsb/init-functionsには存在しない関数を使っている。
具体的には/etc/init.d/functionsの echo_failure など表示テキストをちょっと加工する割とささいなもの。
全てのサービス制御スクリプトを整合性を書き換えるのか、/etc/init.d/functionsの代替スクリプトを用意して代わりに読み込ませるのか、どちらにしても何箇所も変更しなければならないのが面倒。
/opt/FileMaker/lib ディレクトリどうすれば...
CentOSにインストールした場合に /opt/FileMaker/lib ディレクトリが生成され、共有ライブラリが配置されるがこれがどこで読み込まれているのか分からない。
また、先のライブラリはRedHat系のものなのでDebian系用に別途用意しなければならないが、名前が違ったりしてどのライブラリが必要なものであるのか正確には分からないし、用意したところでそもそも正しく読み込まれるのかも分からない。
結末
httpdはともかくfmshelperだけでも起動したら少しはやる気も維持できると思ったが、試しにサービス起動してみたら以下のようなエラーになった。
残念!
という訳で諦めてClaris Communityにヨロシクと投稿しました。
Discussion