シナリオ
- ubuntu 22.04にFess14.xをインストール
- 事前にFess14.xに必要なJava17(OpenJDK)とElasticsearch8をインストールする
- その後Fess14.xをインストール
Java17(OpenJDK)のインストール
- インストール
$ sudo apt install -y openjdk-17-jdk
- バージョンの確認
$ java --version
openjdk 17.0.4 2022-07-19
OpenJDK Runtime Environment (build 17.0.4+8-Ubuntu-122.04)
OpenJDK 64-Bit Server VM (build 17.0.4+8-Ubuntu-122.04, mixed mode, sharing)
Elasticsearch8のインストール
- PGPキーのインストール
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
- リポジトリの保存
$ echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
- パッケージ管理に反映
$ sudo apt update
- Elasticsearch8のインストール
$ sudo apt install elasticsearch
- インストール完了後下記赤字のpasswordを控えておく。後で設定時に使用する。
--------------------------- Security autoconfiguration information ------------------------------
Authentication and authorization are enabled.
TLS for the transport and HTTP layers is enabled and configured.
The generated password for the elastic built-in superuser is : <ここの文字列を控える>
If this node should join an existing cluster, you can reconfigure this with
'/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token '
after creating an enrollment token on your existing cluster.
You can complete the following actions at any time:
Reset the password of the elastic built-in superuser with
'/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic'.
Generate an enrollment token for Kibana instances with
'/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana'.
Generate an enrollment token for Elasticsearch nodes with
'/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node'.
-------------------------------------------------------------------------------------------------
- 動作確認(サービス起動)
$ sudo systemctl start elasticsearch.service
- ステータス確認 Active: active (running) になっていればOK
$ sudo systemctl status elasticsearch.service
● elasticsearch.service - Elasticsearch
Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2022-08-27 01:20:40 JST; 1min 1s ago
~後略~
Fessのインストール
- ダウンロードするバージョンを確認 https://github.com/codelibs/fess/releases/
この例ではfess-14.3.0.debをダウンロードする
- ダウンロード ※下記赤字部分を適宜書き換える この例では14.3.0
$ wget https://github.com/codelibs/fess/releases/download/fess-14.3.0/fess-14.3.0.deb
- ダウンロードできているか確認
$ ls -l
-rw-rw-r-- 1 hoge hoge 156108696 7月 23 11:08 fess-14.3.0.deb
- Elasticsearchを止めておく
$ sudo systemctl stop elasticsearch.service
- Elasticsearchのステータスを確認 Active: inactive (dead) になっていれば停止している
$ sudo systemctl status elasticsearch.service
○ elasticsearch.service - Elasticsearch
Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)
Active: inactive (dead)
~後略~
- プラグインをインストールするためElasticsearchのバージョンを確認する
$ sudo /usr/share/elasticsearch/bin/elasticsearch --version
Version: 8.4.0, Build: deb/f56126089ca4db89b631901ad7cce0a8e10e2fe5/2022-08-19T19:23:42.954591481Z, JVM: 18.0.2
- この例では8.4.0なのでそのバージョン用のプラグインをインストールする
- 下記URLを参照しパスを確認する この例では8.4.0.0になっている
- https://repo1.maven.org/maven2/org/codelibs/elasticsearch-analysis-fess/
- プラグインをインストールする ※下記赤字部分を適宜書き換える この例では8.4.0.0
- コマンド実行後 Continue with installation? [y/N] が表示した場合はyで応答する
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-fess:8.4.0.0
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-extension:8.4.0.0
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-minhash:8.4.0.0
- インストールできているか確認 3つあればOK
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin list
analysis-extension
analysis-fess
minhash
- ElasticsearchとFessを同期させるための設定 ※下記赤字部分を適宜書き換える この例では8.4.0.0
$ curl -o /tmp/configsync.zip https://repo1.maven.org/maven2/org/codelibs/elasticsearch-configsync/8.4.0.0/elasticsearch-configsync-8.4.0.0.zip
$ sudo mkdir -p /usr/share/elasticsearch/modules/configsync
$ sudo unzip -d /usr/share/elasticsearch/modules/configsync /tmp/configsync.zip
- 内容確認 4行あればOK
$ ls -l /usr/share/elasticsearch/modules/configsync
-rw-r--r-- 1 root root 353793 11月 12 2020 commons-codec-1.15.jar
-rw-r--r-- 1 root root 51157 8月 25 07:19 elasticsearch-configsync-8.4.0.0.jar
-rw-r--r-- 1 root root 227 8月 25 07:17 plugin-descriptor.properties
-rw-r--r-- 1 root root 78 8月 25 07:17 plugin-security.policy
- Elasticsearch設定ファイル:/etc/elasticsearch/elasticsearch.yml の最終行に下記を追加
configsync.config_path: /var/lib/elasticsearch/config
- Fessのインストール この例では14.3.0だが適宜書き換える
$ sudo dpkg -i fess-14.3.0.deb
- /etc/fess/fess_config.propertiesの下記3ヶ所を変更する
- elasticsearch.http.ssl.certificate_authorities:CA証明書のファイルパス
- elasticsearch.username: Elasticsearchの接続ユーザ名 (elastic)
- elasticsearch.password: Elasticsearchの接続ユーザのパスワード
# Elasticsearch
elasticsearch.http.ssl.certificate_authorities=/etc/elasticsearch/certs/http_ca.crt
elasticsearch.username=elastic
elasticsearch.password=Elasticsearch8のインストールで控えたpassword
- /usr/share/fess/bin/fess.in.shの下記2ヶ所を変更する
- ES_HTTP_URL: Elasticsearchのエンドポイント (https//localhost:9200)
- FESS_DICTIONARY_PATH: 辞書ディレクトリのパス (/var/lib/elasticsearch/config/)
# External elasticsearch cluster
ES_HTTP_URL=https://localhost:9200
FESS_DICTIONARY_PATH=/var/lib/elasticsearch/config/
- fessユーザをelasticsearchグループに追加する。これをしないとFessブラウザアクセス時に404エラーになる。Fessサーバ起動時にCA証明書(http_ca.crt)がpermission deniedエラーになる。
$ sudo usermod -aG elasticsearch fess
- ElasticsearchとFessをサービスに登録
$ sudo systemctl daemon-reload
$ sudo systemctl enable elasticsearch.service
$ sudo systemctl enable fess.service
Fessの起動
- 先に Elasticsearchが起動する必要がある
- ※Fess、Elasticsearchを再起動する場合 Fess停止→Elasticsearch再起動→Fess起動の順番
$ sudo systemctl start elasticsearch.service
- Elasticsearchのステータスを確認 Active: active (running) になっていればOK
$ sudo systemctl status elasticsearch.service
● elasticsearch.service - Elasticsearch
Loaded: loaded (/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-08-27 03:15:26 JST; 5min ago
~後略~
- Fessの起動
$ sudo systemctl start fess.service
- Fessのステータスを確認 Active: active (running) になっていればOK
$ sudo systemctl status fess.service
● fess.service - Fess
Loaded: loaded (/lib/systemd/system/fess.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-08-27 03:27:00 JST; 1min 1s ago
~後略~
ブラウザでアクセス
- 今回インストールしたサーバのIPアドレスは 10.0.0.5
- http://10.0.0.5:8080 を開くと下記画面が表示する
Fess管理者のデフォルトパスワードを変更する
- ログインから ID:admin PW:admin で入る
- 新たなパスワードを設定する
- 戻るボタンでトップ画面に戻る