CentOS7にFessをインストールする

FessはElasticsearchをバックエンド(検索エンジン)に持つ全文検索サーバ。今回は専用に用意したCentOS7のマシンにインストールした際のメモです。

使用したFessのバージョンは12.1.2で、Elasticsearch関連のバージョンも互換のものを選択する必要があります。

もくじ:

スクリプト

インストールの基本は公式のマニュアル通りです。
面倒なのでbashスクリプトにしました。
サービスとして自動起動するよう設定しているので、インストール完了後はマシンの起動時にサーバが立ち上がるはずです。

あまりよろしくはありませんがrootで作業しているので、他のユーザを使う場合はsudoなどで昇格が必要です。インストール用のバイナリ等を一時保存するためのディレクトリ($inst_tmp)を作成しています。

Fessを起動するには、マシンを再起動するか、もしくはいつものSystemd(systemctlコマンド)を使いElasticsearch→Fessの順でサービスを起動します。

インストール

上記のスクリプトの詳細を記載しておきます。環境に合わせて修正して下さい。

前提条件

Fessの前提となるJavaランタイムをインストールします。

今回はファイヤウォールを使っているので、ない場合はインストールします。

ダウンロード

curlコマンドを使ってパッケージ(RPM)類をダウンロードします。バージョンは必要なものを選ぶ必要がありますので注意。

プロキシがある環境でElasticsearchプラグインのオンラインインストールに躓いたので、今回はオフラインでインストールさせるためそちらもダウンロードしておきます。

Elasticsearchのセットアップ

ElasticsearchをRPMからインストールし、Fess連携のためYAMLファイルに設定を追加します。

Fess向けのプラグインをオフラインでインストールします。--batchオプションはプラグインインストール実行時の確認プロンプトを抑止するためのものです。

Fessのインストール

FessをRPMからインストールし、起動スクリプトを変更します。

また、外部からアクセスを許可するため、ファイヤウォールを設定しておきます。ポートはデフォルトでTCP8080番ですが、Fessの設定変更に応じて変えて下さい。

あとはElasticsearchとFessをサービスとして設定します。FessはElasticsearchに依存しているので手動で起動する際はElasticsearchのほうを先にします。

スペックによりますが、FessやElasticsearchの起動にはそれなりに時間がかかる場合があります。トップページにアクセスしても反応がないときはsystemctl status ...コマンドを使って状態を確認するのも手ですね。

インストールが正常に完了したら、一時保存用のディレクトリは削除して構いません。

おわり。