全文検索サーバー Fess導入

ホストOS:Debian GNU/Linux 10.7
ゲストOS:Debian GNU/Linux 10.7

参考サイト:Fessドキュメント

Apacheインストール

# apt -y install apache2
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libbrotli1
  libjansson4 liblua5.2-0
提案パッケージ:
  apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser
以下のパッケージが新たにインストールされます:
  apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
  libbrotli1 libjansson4 liblua5.2-0
アップグレード: 0 個、新規インストール: 11 個、削除: 0 個、保留: 0 個。
2,606 kB のアーカイブを取得する必要があります。
この操作後に追加で 8,881 kB のディスク容量が消費されます。
---省略---
Enabling conf localized-error-pages.
Enabling conf other-vhosts-access-log.
Enabling conf security.
Enabling conf serve-cgi-bin.
Enabling site 000-default.
Created symlink /etc/systemd/system/multi-user.target.wants/apache2.service → /lib/systemd/system/apache2.service.
Created symlink /etc/systemd/system/multi-user.target.wants/apache-htcacheclean.service → /lib/systemd/system/apache-htcacheclean.service.
systemd (241-7~deb10u5) のトリガを処理しています ...
man-db (2.8.5-2) のトリガを処理しています ...
libc-bin (2.28-10) のトリガを処理しています ...

openjdk-11インストール

# apt-get install openjdk-11-jdk
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  adwaita-icon-theme at-spi2-core ca-certificates-java dbus-user-session dconf-gsettings-backend dconf-service
  fontconfig fonts-dejavu-extra glib-networking glib-networking-common glib-networking-services
  gsettings-desktop-schemas gtk-update-icon-cache hicolor-icon-theme java-common libasound2 libasound2-data
  libatk-bridge2.0-0 libatk-wrapper-java libatk-wrapper-java-jni libatk1.0-0 libatk1.0-data libatspi2.0-0
  libavahi-client3 libavahi-common-data libavahi-common3 libcairo-gobject2 libcairo2 libcolord2 libcups2
  ---省略---
  mime-support (3.62) のトリガを処理しています ...
libglib2.0-0:amd64 (2.58.3-2+deb10u2) のトリガを処理しています ...
libc-bin (2.28-10) のトリガを処理しています ...
man-db (2.8.5-2) のトリガを処理しています ...
ca-certificates (20200601~deb10u1) のトリガを処理しています ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

done.
done.
glib-networking:amd64 (2.58.0-2+deb10u2) を設定しています ...
libsoup2.4-1:amd64 (2.64.2-2) を設定しています ...
libsoup-gnome2.4-1:amd64 (2.64.2-2) を設定しています ...
librest-0.7-0:amd64 (0.8.1-1) を設定しています ...
libgtk-3-0:amd64 (3.24.5-1) を設定しています ...
libgtk-3-bin (3.24.5-1) を設定しています ...
libatk-wrapper-java-jni:amd64 (0.33.3-22) を設定しています ...
libgdk-pixbuf2.0-0:amd64 (2.38.1+dfsg-1) のトリガを処理しています ...
libc-bin (2.28-10) のトリガを処理しています ...

Apache、JAVAの設定が完了していること。

# which java
/usr/bin/java
# java -version
openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode, sharing)
/usr/local/src# javac HelloWorld.java
/usr/local/src# java HelloWorld
Hello Java World !

elasticsearchインストール

安定版elasticsearch-7.10.2をインストールした。
Fessのバージョンに対応する Elasticsearch バージョンを合わせることが必須である。

debパッケージをダウンロードする。

# cd /usr/local/src/
/usr/local/src# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-amd64.deb
--2021-02-27 15:00:10--  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-amd64.deb
artifacts.elastic.co (artifacts.elastic.co) をDNSに問いあわせています... 34.120.127.130, 2600:1901:0:1d7::
artifacts.elastic.co (artifacts.elastic.co)|34.120.127.130|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 318852724 (304M) [application/octet-stream]
`elasticsearch-7.10.2-amd64.deb' に保存中

elasticsearch-7.10.2-amd64.d 100%[=============================================>] 304.08M  2.80MB/s 時間 2m 10s

2021-02-27 15:02:21 (2.33 MB/s) - `elasticsearch-7.10.2-amd64.deb' へ保存完了 [318852724/318852724]

ダウンロードしたファイルが正しいモノか信頼性を確認するためsha512をダウンロードする。

# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-amd64.deb.sha512
--2021-02-27 15:03:07--  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-amd64.deb.sha512
artifacts.elastic.co (artifacts.elastic.co) をDNSに問いあわせています... 34.120.127.130, 2600:1901:0:1d7::
artifacts.elastic.co (artifacts.elastic.co)|34.120.127.130|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 160 [application/octet-stream]
`elasticsearch-7.10.2-amd64.deb.sha512' に保存中

elasticsearch-7.10.2-amd64.d 100%[=============================================>]     160  --.-KB/s 時間 0s

2021-02-27 15:03:07 (622 KB/s) - `elasticsearch-7.10.2-amd64.deb.sha512' へ保存完了 [160/1

確認する!

# shasum -a 512 -c elasticsearch-7.10.2-amd64.deb.sha512
elasticsearch-7.10.2-amd64.deb: OK

インストールする

# dpkg -i elasticsearch-7.10.2-amd64.deb
以前に未選択のパッケージ elasticsearch を選択しています。
(データベースを読み込んでいます ... 現在 61346 個のファイルとディレクトリがインストールされています。)
elasticsearch-7.10.2-amd64.deb を展開する準備をしています ...
Creating elasticsearch group... OK
Creating elasticsearch user... OK
elasticsearch (7.10.2) を展開しています...
elasticsearch (7.10.2) を設定しています ...
Created elasticsearch keystore in /etc/elasticsearch/elasticsearch.keystore
systemd (241-7~deb10u5) のトリガを処理しています ...

Fessダウンロード

# wget https://github.com/codelibs/fess/releases/download/fess-13.10.3/fess-13.10.3.deb
--2021-02-27 15:06:45--  https://github.com/codelibs/fess/releases/download/fess-13.10.3/fess-13.10.3.deb
github.com (github.com) をDNSに問いあわせています... 13.114.40.48
github.com (github.com)|13.114.40.48|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: https://github-releases.githubusercontent.com/12801725/6a237480-76ec-11eb-826f-ccd0177f2537?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210227%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210227T060645Z&X-Amz-Expires=300&X-Amz-Signature=e9ac934aedd069a044bae9a6c856bd31e0458f4ebb3db7c33952667b3e3b0411&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=12801725&response-content-disposition=attachment%3B%20filename%3Dfess-13.10.3.deb&response-content-type=application%2Foctet-stream [続く]
--2021-02-27 15:06:45--  https://github-releases.githubusercontent.com/12801725/6a237480-76ec-11eb-826f-ccd0177f2537?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210227%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210227T060645Z&X-Amz-Expires=300&X-Amz-Signature=e9ac934aedd069a044bae9a6c856bd31e0458f4ebb3db7c33952667b3e3b0411&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=12801725&response-content-disposition=attachment%3B%20filename%3Dfess-13.10.3.deb&response-content-type=application%2Foctet-stream
github-releases.githubusercontent.com (github-releases.githubusercontent.com) をDNSに問いあわせています... 185.199.109.154, 185.199.110.154, 185.199.111.154, ...
github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.109.154|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 165639850 (158M) [application/octet-stream]
`fess-13.10.3.deb' に保存中

Fessインストール

# dpkg -i fess-13.10.3.deb
以前に未選択のパッケージ fess を選択しています。
(データベースを読み込んでいます ... 現在 62399 個のファイルとディレクトリがインストールされています。)
fess-13.10.3.deb を展開する準備をしています ...
Creating fess group... OK
Creating fess user... OK
fess (13.10.3) を展開しています...
fess (13.10.3) を設定しています ...
systemd (241-7~deb10u5) のトリガを処理しています ...

elasticsearch.yml に下記追記。

# vi /etc/elasticsearch/elasticsearch.yml
下記追記
configsync.config_path: /var/lib/elasticsearch/config

Elasticsearch プラグインを インストールする。

/usr/share# ./elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-fess:7.10.0
-> Installing org.codelibs:elasticsearch-analysis-fess:7.10.0
-> Downloading org.codelibs:elasticsearch-analysis-fess:7.10.0 from maven central
[=================================================] 100%??
Continue with installation? [y/N]y
-> Installed analysis-fess
/usr/share# ./elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-extension:7.10.0
-> Installing org.codelibs:elasticsearch-analysis-extension:7.10.0
-> Downloading org.codelibs:elasticsearch-analysis-extension:7.10.0 from maven central
[=================================================] 100%??

Continue with installation? [y/N]y
-> Installed analysis-extension
/usr/share# ./elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-configsync:7.10.0
-> Installing org.codelibs:elasticsearch-configsync:7.10.0
-> Downloading org.codelibs:elasticsearch-configsync:7.10.0 from maven central
[=================================================] 100%??

Continue with installation? [y/N]y
-> Installed configsync
/usr/share# ./elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-dataformat:7.10.0
-> Installing org.codelibs:elasticsearch-dataformat:7.10.0
-> Downloading org.codelibs:elasticsearch-dataformat:7.10.0 from maven central
[=================================================] 100%??

Continue with installation? [y/N]y
-> Installed dataformat
/usr/share# ./elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-minhash:7.10.0
-> Installing org.codelibs:elasticsearch-minhash:7.10.0
-> Downloading org.codelibs:elasticsearch-minhash:7.10.0 from maven central
[=================================================] 100%??
Warning: sha512 not found, falling back to sha1. This behavior is deprecated and will be removed in a future release. Please update the plugin to use a sha512 checksum.
-> Installed minhash

Fess を起動する前に Elasticsearch を起動する。

elasticsearch起動

# systemctl status elasticsearch.service

elasticsearchステータス確認

# systemctl status elasticsearch.service
● elasticsearch.service - Elasticsearch
   Loaded: loaded (/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2021-02-27 18:34:32 JST; 9s ago
     Docs: https://www.elastic.co
 Main PID: 3808 (java)
    Tasks: 56 (limit: 3491)
   Memory: 1.2G
   CGroup: /system.slice/elasticsearch.service
           tq3808 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true
           mq3955 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
2月 27 18:33:05 sub.server-bff.net systemd[1]: Starting Elasticsearch...

fess起動

# systemctl start fess.service

fessステータス確認

# systemctl status fess.service
● fess.service - Fess
   Loaded: loaded (/lib/systemd/system/fess.service; disabled; vendor preset: enabled)
   Active: active (running) since Sat 2021-02-27 18:35:19 JST; 20s ago
     Docs: http://fess.codelibs.org/
 Main PID: 4002 (java)
    Tasks: 18 (limit: 3491)
   Memory: 156.5M
   CGroup: /system.slice/fess.service
           mq4002 /bin/java -Xms512m -Xmx512m -XX:MaxMetaspaceSize=256m -XX:CompressedClassSpaceSize=32m -Djava.awt.headless=true -Dhttp.maxConnections=20 -Djna.nosys=true -Djdk.io.permissionsUse

 2月 27 18:35:19 sub.server-bff.net systemd[1]: Started Fess.

ブラウザでアクセスする。
ホスト名:8080/

 

Fess管理画面にブラウザでアクセスする。( 初期値ユーザー名、パスワードともに admin )

ホスト名:8080/login/

 

管理画面からクロール対象の登録およびスケジュールを登録する。

 

以上