Debian: Fessをインストール

Fessは全文検索システムです。

Debianへのインストール時にpluginでコケたのでメモしておきます。

参考にしたページなど

elasticsearchのインストール

apt lineの設定

まずはgpg鍵をサードパーティレポジトリ用の鍵保管場所に置きます(参考: Debian: “apt-key is deprecated.” と怒られた時の対応):

cd /dokoka
wget https://artifacts.elastic.co/GPG-KEY-elasticsearch
gpg --no-default-keyring --keyring temp-keyring.gpg --import GPG-KEY-elasticsearch
gpg --no-default-keyring --keyring temp-keyring.gpg --export --output elasticsearch.gpg
sudo mkdir -p /usr/local/share/keyrings
sudo cp elasticsearch.gpg /usr/local/share/keyrings

次はapt lineを編集します:

sudo touch /etc/apt/sources.list.d/elasticsearch.list
sudo editor /etc/apt/sources.list.d/elasticsearch.list

aptの中身は以下のようにしています(一行です):

deb [arch=amd64 signed-by=/usr/local/share/keyrings/elasticsearch.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main

インストールです:

apt-cache madison elasticsearch
sudo apt-get update
sudo apt-get install elasticsearch

pluginのインストール

pluginは以下の四つを入れています。dataformatは7.13対応が無いようなので無視しました。

  • elasticsearch-analysis-fess
  • elasticsearch-analysis-extension
  • minhash
  • configsync

configsyncはコケるので別で入れます。

sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-fess:7.13.0
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.org.codelibs:elasticsearch-analysis-extension:7.13.0
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-minhash:7.13.0

configsyncでコケる対応

configsyncはsecurity関係でインストールに失敗しました。なので手動で入れてみました。

まず手動でzipを展開します。

cd /dokoka
wget https://repo1.maven.org/maven2/org/codelibs/elasticsearch-configsync/7.13.0/elasticsearch-configsync-7.13.0.zip

sudo mkdir /usr/share/elasticsearch/plugins/configsync

cd /usr/share/elasticsearch/plugins/configsync

sudo unzip /path/to/elasticsearch-configsync-7.13.0.zip

sudo editor plugin-security.policy

plugin-security.policyの中のpermissionの行をコメントアウトしちゃいます。これで正しいかどうかは分かりませんが、とりあえずfessは動いています。

grant {
  // permission java.io.FilePermission "<>", "read,write";
};

設定

/etc/elasticsearch/elasticsearch.yml の最後に以下を追記します:

configsync.config_path: /var/lib/elasticsearch/config

fessのインストール

debファイルをダウンロードします:

wget https://github.com/codelibs/fess/releases/download/fess-13.13.0/fess-13.13.0.deb

インストールします:

sudo dpkg -i fess-13.13.0.deb

設定

/usr/share/fess/bin/fess.in.sh に以下を追記もしくは以下になるように修正
FESS_DICTIONARY_PATH=/var/lib/elasticsearch/config/

起動

systemctlから起動・停止させます:

sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service
sudo systemctl restart elasticsearch.service
sudo systemctl status elasticsearch.service

fessを起動するまえにelasticsearchを起動しておきます。

sudo systemctl start fess.service
sudo systemctl stop fess.service
sudo systemctl restart fess.service