diff --git a/de/15.9/admin/plugin-guide.rst b/de/15.9/admin/plugin-guide.rst index e4613ea7..c2830089 100644 --- a/de/15.9/admin/plugin-guide.rst +++ b/de/15.9/admin/plugin-guide.rst @@ -51,5 +51,7 @@ Plug-ins werden einzeln veröffentlicht, daher haben gemeinsam installierte Plug Die zuvor installierte Version eines Plug-ins wird gelöscht, nachdem die neue installiert wurde. Eine nicht vorhandene Version beendet den Befehl mit dem Exit-Code 1, sodass ein Build-Schritt wie ein Dockerfile fehlschlägt, statt ohne das Plug-in fortzufahren. +``bin/fess-setup list plugins`` zeigt die für dieses |Fess| veröffentlichten Plug-ins und welche davon installiert sind, ``list installed`` zeigt die installierten Plug-ins, ohne das Repository abzufragen, ``upgrade plugins`` installiert jedes installierte Plug-in in der Version neu, die zu diesem |Fess| passt, und ``remove plugin`` löscht ein Plug-in. Starten Sie |Fess| neu, nachdem Sie Plug-ins installiert, aktualisiert oder entfernt haben. Alle Befehle und Optionen finden Sie unter :doc:`../install/fess-setup`. + .. |image0| image:: ../../../resources/images/en/15.9/admin/plugin-1.png .. |image1| image:: ../../../resources/images/en/15.9/admin/plugin-2.png diff --git a/de/15.9/install/fess-setup.rst b/de/15.9/install/fess-setup.rst new file mode 100644 index 00000000..1f42e39b --- /dev/null +++ b/de/15.9/install/fess-setup.rst @@ -0,0 +1,236 @@ +====================== +Der Befehl fess-setup +====================== + +``bin/fess-setup`` (unter Windows ``bin\fess-setup.bat``) liegt dem ZIP-Paket von |Fess| bei. +Es installiert, was |Fess| benötigt, aber nicht mitliefert: OpenSearch mit den von |Fess| +benötigten Plugins, Node.js für den Playwright-Crawler und |Fess|-Plugins. Außerdem prüft es eine +Installation. + +Führen Sie es im |Fess|-Verzeichnis aus. Ohne Argumente gibt es die Liste der Befehle aus. + +:: + + $ cd /path/to/fess-15.9.0 + $ bin/fess-setup [options] + +Exit-Codes +========== + +.. list-table:: + :header-rows: 1 + :widths: 15 85 + + * - Code + - Bedeutung + * - ``0`` + - Der Befehl war erfolgreich. + * - ``1`` + - Der Befehl ist fehlgeschlagen: zum Beispiel ist ein Download fehlgeschlagen, die angeforderte + Version existiert nicht, OpenSearch veröffentlicht für diese Plattform keinen Build, oder + ``check`` hat ein Problem gefunden. + * - ``2`` + - Die Befehlszeile ist fehlerhaft: ein unbekannter Befehl oder ein fehlendes Argument wie ein + Plugin-Name. + +Installation von OpenSearch und Node.js +======================================= + +install opensearch +------------------ + +:: + + $ bin/fess-setup install opensearch [--dest ] [--version ] + +Lädt die von diesem |Fess| unterstützte OpenSearch-Version nach ``opensearch/`` im +|Fess|-Verzeichnis herunter, installiert die vier von |Fess| benötigten Plugins +(``opensearch-analysis-fess``, ``opensearch-analysis-extension``, ``opensearch-minhash`` und +``opensearch-configsync``) und fügt der ``config/opensearch.yml`` dieser Installation die folgenden +Einstellungen hinzu: + +- ``configsync.config_path``, gesetzt auf das Verzeichnis ``config/dictionary`` dieses OpenSearch +- ``plugins.security.disabled: true`` + +Eine Einstellung, die ``opensearch.yml`` bereits enthält, wird nicht erneut hinzugefügt, und +``plugins.security.disabled: true`` wird nicht hinzugefügt, wenn die Datei irgendeine +``plugins.security.*``-Einstellung enthält. Existiert das OpenSearch-Verzeichnis bereits, wird der +Download übersprungen; ein erneuter Aufruf für eine vorhandene Installation fügt daher nur die +fehlenden Einstellungen hinzu. + +Der Befehl gibt jede hinzugefügte Einstellung aus und anschließend, ob ``bin/fess.in.sh`` dieses +OpenSearch selbst findet. Das ist der Fall, wenn es das einzige OpenSearch mit einem Verzeichnis +``config/dictionary`` unter ``opensearch/`` im |Fess|-Verzeichnis ist: ``bin/fess.in.sh`` (unter +Windows ``bin\fess.in.bat``) setzt dann ``FESS_DICTIONARY_PATH`` auf dieses Verzeichnis, und für ein +OpenSearch auf demselben Host ist nichts weiter zu konfigurieren. Andernfalls gibt der Befehl die +Werte für ``SEARCH_ENGINE_HTTP_URL`` und ``FESS_DICTIONARY_PATH`` aus, die zu setzen sind, wie in +:doc:`install-linux` oder :doc:`install-windows` beschrieben. + +.. list-table:: + :header-rows: 1 + :widths: 30 70 + + * - Option + - Beschreibung + * - ``--dest `` + - Das Verzeichnis, in das OpenSearch entpackt wird, anstelle von ``opensearch/`` im + |Fess|-Verzeichnis. ``bin/fess.in.sh`` sucht außerhalb dieses Verzeichnisses nicht nach + OpenSearch. + * - ``--version `` + - Die zu installierende OpenSearch-Version. Die Plugins werden in derselben Version installiert. + +OpenSearch veröffentlicht offizielle Builds nur für Linux und Windows. Auf anderen Plattformen wie +macOS beendet sich der Befehl vor jedem Download mit dem Exit-Code ``1`` und schlägt vor, OpenSearch +mit Homebrew zu installieren und die Plugins mit ``install opensearch-plugins`` hinzuzufügen oder +Docker zu verwenden. + +.. warning:: + + Mit ``plugins.security.disabled: true`` nimmt OpenSearch Anfragen ohne Authentifizierung an. + OpenSearch lauscht nur auf der Loopback-Adresse, sofern ``network.host`` nicht gesetzt ist. Bevor + es auf einer anderen Adresse lauscht, konfigurieren Sie stattdessen das Sicherheits-Plugin; siehe + :doc:`security`. + +install opensearch-plugins +-------------------------- + +:: + + $ bin/fess-setup install opensearch-plugins --opensearch-home [--version ] + +Installiert die vier von |Fess| benötigten Plugins in ein bereits vorhandenes OpenSearch, anstatt +dessen ``bin/opensearch-plugin install`` viermal auszuführen. ``--opensearch-home`` ist das +Installationsverzeichnis von OpenSearch und muss angegeben werden. ``--version`` legt die +Plugin-Version fest, die mit der OpenSearch-Version übereinstimmen muss. + +Dieser Befehl ändert ``opensearch.yml`` nicht. Fügen Sie ``configsync.config_path`` und die übrigen +Einstellungen selbst hinzu, wie in :doc:`install-linux` oder :doc:`install-windows` beschrieben. + +install nodejs +-------------- + +:: + + $ bin/fess-setup install nodejs [--dest ] [--version ] + +Lädt Node.js, das der Playwright-Crawler benötigt, nach ``nodejs/`` im |Fess|-Verzeichnis herunter. +``bin/fess.in.sh`` (unter Windows ``bin\fess.in.bat``) findet es dort und setzt +``PLAYWRIGHT_NODEJS_PATH``. Liegt das mit ``--dest`` angegebene Verzeichnis außerhalb des +|Fess|-Verzeichnisses, gibt der Befehl stattdessen die ``PLAYWRIGHT_NODEJS_PATH``-Zeile aus, die in +``bin/fess.in.sh`` einzutragen ist. ``--version`` wählt eine andere Node.js-Version. Zum +Playwright-Crawler siehe :doc:`../config/crawler-advanced`. + +Verwaltung von Plugins +====================== + +Diese Befehle arbeiten mit dem Plugin-Verzeichnis ``app/WEB-INF/plugin`` der |Fess|-Installation. +Starten Sie |Fess| neu, nachdem Sie Plugins installiert, aktualisiert oder entfernt haben. Plugins +lassen sich auch über die Seite **System > Plugin** in der Administrationsoberfläche verwalten; siehe +:doc:`../admin/plugin-guide`. + +``install plugin``, ``list plugins`` und ``upgrade plugins`` akzeptieren ``--repository ``. +Damit werden die Versionsliste, die JARs und ihre Prüfsummen aus diesem einen Maven-Repository +bezogen, etwa einem internen Mirror, statt aus den standardmäßigen Release- und +Snapshot-Repositories und von GitHub. + +install plugin +-------------- + +:: + + $ bin/fess-setup install plugin [:]... [--version ] [--repository ] + +Installiert ein oder mehrere |Fess|-Plugins, zum Beispiel ``fess-script-groovy`` oder +``fess-ds-git``. Ein Name ohne Version installiert die neueste für dieses |Fess| gebaute Version. +``:`` legt die Version dieses Plugins fest, und ``--version`` gilt für alle Namen ohne +eigene Version. Die zuvor installierte Version eines Plugins wird gelöscht, nachdem die neue +installiert wurde. + +Ein JAR wird aus dem GitHub-Release des Plugins bezogen oder aus dem Maven-Repository, wenn das +Release keine solche Datei enthält, und wird gegen die SHA-1-Prüfsumme geprüft, die das +Maven-Repository veröffentlicht. Ein Entwicklungs-Build von |Fess| installiert auch die +Snapshot-Builds seiner eigenen Versionslinie und bevorzugt diese. + +Beispiele finden Sie unter :doc:`../admin/plugin-guide`. + +list plugins +------------ + +:: + + $ bin/fess-setup list plugins [--repository ] + +Listet die für dieses |Fess| veröffentlichten Plugins auf und kennzeichnet die installierten mit +``(installed: )``. Plugins, die installiert, aber nicht im Repository veröffentlicht sind, +etwa ein lokal gebautes JAR, werden gesondert aufgeführt. Ein Entwicklungs-Build von |Fess| +berücksichtigt zusätzlich das Snapshot-Repository. + +list installed +-------------- + +:: + + $ bin/fess-setup list installed + +Listet die installierten Plugins und ihre Versionen auf, ohne das Repository abzufragen. + +upgrade plugins +--------------- + +:: + + $ bin/fess-setup upgrade plugins [--repository ] + +Installiert jedes installierte Plugin in der Version neu, die zu diesem |Fess| passt. Ein Plugin, das +bereits diese Version hat, bleibt unverändert. Die Plugins in ``app/WEB-INF/plugin`` sind für ein +bestimmtes |Fess|-Release gebaut; führen Sie diesen Befehl daher nach einem Upgrade von |Fess| aus. + +remove plugin +------------- + +:: + + $ bin/fess-setup remove plugin ... + +Löscht die installierten JARs der angegebenen Plugins. Ein Name, der nicht installiert ist, wird +gemeldet und ändert den Exit-Code nicht. + +Prüfen einer Installation +========================= + +list +---- + +:: + + $ bin/fess-setup list + +Zeigt die Komponenten, die ``install`` herunterlädt, ``opensearch`` und ``nodejs``, jeweils mit ihrer +Version. + +check +----- + +:: + + $ bin/fess-setup check [--url ] [--playwright] + +Prüft die Installation und gibt je Prüfung eine Zeile aus, gekennzeichnet mit ``OK``, ``WARN`` oder +``FAIL``: + +- Die Suchmaschine: ob sie erreichbar ist, ihre Version (eine Warnung, wenn die Knoten + unterschiedliche Versionen melden), ob die vier von |Fess| benötigten Plugins darin installiert + sind und ob ``configsync`` antwortet. +- |Fess|: ob das Plugin-Verzeichnis existiert und beschreibbar ist, jedes installierte Plugin (eine + Warnung für ein Plugin, das für ein anderes |Fess|-Release gebaut wurde, ein Fehler für ein + Plugin, das in zwei Versionen installiert ist) und ob Node.js in ``nodejs/`` im + |Fess|-Verzeichnis installiert ist. + +Die URL der Suchmaschine ist ``--url``, andernfalls die Umgebungsvariable +``SEARCH_ENGINE_HTTP_URL``, andernfalls ``http://localhost:9200``. ``bin/fess-setup`` liest +``bin/fess.in.sh`` nicht; geben Sie daher ``--url`` an, wenn OpenSearch woanders läuft. Ein +fehlendes Node.js wird nur gemeldet, es sei denn, ``--playwright`` ist angegeben; dann gilt es als +Fehler. + +Der Befehl endet mit dem Exit-Code ``0``, wenn keine Prüfung fehlgeschlagen ist, auch wenn einige +Prüfungen Warnungen ausgegeben haben, und andernfalls mit dem Exit-Code ``1``. diff --git a/de/15.9/install/index.rst b/de/15.9/install/index.rst index 9b5375e6..57205fb5 100644 --- a/de/15.9/install/index.rst +++ b/de/15.9/install/index.rst @@ -15,6 +15,7 @@ und Fehlerbehebung. install-linux install-windows install-docker + fess-setup run security upgrade diff --git a/de/15.9/install/install-linux.rst b/de/15.9/install/install-linux.rst index f595017b..4faa859e 100644 --- a/de/15.9/install/install-linux.rst +++ b/de/15.9/install/install-linux.rst @@ -79,20 +79,49 @@ Installation mit ZIP-Version Schritt 1: Installation von OpenSearch ------------------------------------------- +.. important:: + + Installieren und betreiben Sie OpenSearch als normaler Benutzer, nicht als ``root``: OpenSearch + verweigert den Start als ``root``. Führen Sie auch ``bin/fess-setup`` unten als dieser Benutzer + aus, damit die entpackten Dateien diesem Benutzer gehören. Siehe :doc:`run`, falls ein Start als + ``root`` bereits verweigert wurde. + .. tip:: - ``bin/fess-setup``, das |Fess| beiliegt, führt die folgenden Schritte in einem Befehl aus: - OpenSearch herunterladen und entpacken, die benötigten Plugins installieren und - ``configsync`` konfigurieren. + ``bin/fess-setup``, das |Fess| beiliegt, führt die Schritte 1 bis 3 unten in einem Befehl aus. + Es lädt OpenSearch herunter und entpackt es nach ``opensearch/`` im |Fess|-Verzeichnis, + installiert die benötigten Plugins und fügt ``configsync.config_path`` und + ``plugins.security.disabled: true`` zu dessen ``config/opensearch.yml`` hinzu. Entpacken Sie + zuerst das ZIP von |Fess|, wie in Schritt 2 beschrieben. :: $ cd /path/to/fess-15.9.0 $ bin/fess-setup install opensearch + ``bin/fess.in.sh`` findet ein so installiertes OpenSearch und setzt ``FESS_DICTIONARY_PATH`` + selbst, sodass „Konfiguration von Fess" in Schritt 2 keine Änderung erfordert, solange OpenSearch + auf demselben Host läuft. Der Befehl gibt die hinzugefügten Einstellungen aus und ob + ``bin/fess.in.sh`` die Installation findet. Lesen Sie die Warnung in Schritt 3, bevor OpenSearch + auf einer anderen Adresse als ``localhost`` lauscht. + Folgen Sie den Schritten unten, um sie einzeln durchzugehen oder ein vorhandenes OpenSearch zu verwenden. Um nur die Plugins in ein vorhandenes OpenSearch zu installieren, verwenden Sie - ``bin/fess-setup install plugins --opensearch-home /path/to/opensearch``. + ``bin/fess-setup install opensearch-plugins --opensearch-home /path/to/opensearch``. + Alle Befehle finden Sie unter :doc:`fess-setup`. + +.. note:: + + OpenSearch veröffentlicht keinen Build für macOS, daher bricht + ``bin/fess-setup install opensearch`` unter macOS mit einem Fehler ab. Installieren Sie + OpenSearch mit Homebrew und fügen Sie die Plugins mit ``bin/fess-setup install opensearch-plugins`` + hinzu, oder verwenden Sie stattdessen :doc:`install-docker`:: + + $ brew install opensearch + $ bin/fess-setup install opensearch-plugins --opensearch-home $(brew --prefix opensearch) + + Konfigurieren Sie dieses OpenSearch anschließend wie in Schritt 3, und setzen Sie + ``FESS_DICTIONARY_PATH`` wie unter „Konfiguration von Fess" in Schritt 2 beschrieben. 1. Download von OpenSearch @@ -177,32 +206,45 @@ Schritt 2: Installation von Fess 2. Konfiguration von Fess - Bearbeiten Sie ``bin/fess.in.sh`` und konfigurieren Sie die Verbindungsinformationen zu OpenSearch. - Diese Datei enthält bereits vorbereitete, aber auskommentierte Einstellungen für die Verbindung zu einem externen OpenSearch-Cluster. + Die Verbindungsinformationen zu OpenSearch stehen in ``bin/fess.in.sh``. Bei einem OpenSearch, das + ``bin/fess-setup install opensearch`` nach ``opensearch/`` im |Fess|-Verzeichnis installiert hat + und das auf demselben Host läuft, muss diese Datei nicht geändert werden: + ``SEARCH_ENGINE_HTTP_URL`` ist standardmäßig ``http://localhost:9200``, und + ``FESS_DICTIONARY_PATH`` wird auf das Verzeichnis ``config/dictionary`` dieses OpenSearch gesetzt. + + Bearbeiten Sie ``bin/fess.in.sh`` in den folgenden Fällen: + + - OpenSearch wurde auf andere Weise installiert, etwa mit den Schritten 1 bis 3 oben oder mit + Homebrew, oder mit ``--dest`` außerhalb des |Fess|-Verzeichnisses. + - ``opensearch/`` im |Fess|-Verzeichnis enthält mehr als ein von ``bin/fess-setup`` + installiertes OpenSearch, zum Beispiel zwei Versionen. ``bin/fess.in.sh`` kann nicht erkennen, + welches davon verwendet wird, gibt daher eine Warnung aus und lässt ``FESS_DICTIONARY_PATH`` + ungesetzt. + - OpenSearch läuft auf einem anderen Host oder Port. :: $ vi bin/fess.in.sh - Entfernen Sie die Kommentierung (das führende ``#``) der folgenden zwei Zeilen in der Nähe des Dateianfangs. + Entfernen Sie in der Nähe des Dateianfangs das führende ``#`` der Zeile ``FESS_DICTIONARY_PATH`` + und setzen Sie den Pfad; ändern Sie bei Bedarf die URL in der Zeile ``SEARCH_ENGINE_HTTP_URL``. - Vor der Änderung (Standardzustand):: + Vor der Änderung (Standardzustand, Kommentarzeilen ausgelassen):: - # External opensearch cluster - #SEARCH_ENGINE_HTTP_URL=http://localhost:9200 + SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://localhost:9200} #FESS_DICTIONARY_PATH=/var/lib/opensearch/config/ Nach der Änderung:: - # External opensearch cluster - SEARCH_ENGINE_HTTP_URL=http://localhost:9200 + SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://localhost:9200} FESS_DICTIONARY_PATH=/path/to/opensearch-3.8.0/data/config/ .. note:: - - Setzen Sie für ``FESS_DICTIONARY_PATH`` denselben Pfad wie den in ``opensearch.yml`` von OpenSearch angegebenen ``configsync.config_path``. - - Wenn OpenSearch auf einem anderen Host ausgeführt wird, ändern Sie ``SEARCH_ENGINE_HTTP_URL`` auf den entsprechenden Hostnamen oder die IP-Adresse. Beispiel: ``SEARCH_ENGINE_HTTP_URL=http://192.168.1.100:9200`` - - Fügen Sie keine neue Zeile ``SEARCH_ENGINE_HTTP_URL=...`` hinzu, sondern entfernen Sie die Kommentierung der vorhandenen Zeile und bearbeiten Sie diese. + - Setzen Sie für ``FESS_DICTIONARY_PATH`` denselben Pfad wie den in ``opensearch.yml`` von OpenSearch angegebenen ``configsync.config_path``. Ohne diese Einstellung kann |Fess| seine Indizes nicht anlegen und startet nicht. + - Wenn OpenSearch auf einem anderen Host ausgeführt wird, ändern Sie die URL in der Zeile ``SEARCH_ENGINE_HTTP_URL`` auf diesen Host. Beispiel: ``SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://192.168.1.100:9200}``. ``FESS_DICTIONARY_PATH`` ist dann der ``configsync.config_path`` dieses Servers. + - Statt die Datei zu bearbeiten, können beide Variablen auch in der Umgebung exportiert werden, aus der |Fess| gestartet wird. Eine exportierte ``SEARCH_ENGINE_HTTP_URL`` hat Vorrang vor der URL in der Datei, und ein exportierter ``FESS_DICTIONARY_PATH`` wird verwendet, solange die entsprechende Zeile in der Datei auskommentiert bleibt. + - Fügen Sie keine neue Zeile ``SEARCH_ENGINE_HTTP_URL=...`` hinzu, sondern bearbeiten Sie die vorhandene. .. tip:: @@ -215,6 +257,11 @@ Schritt 2: Installation von Fess $ grep "SEARCH_ENGINE_HTTP_URL" bin/fess.in.sh $ grep "FESS_DICTIONARY_PATH" bin/fess.in.sh + Sobald OpenSearch läuft, meldet ``bin/fess-setup check``, ob es erreichbar ist, ob es die von + |Fess| benötigten Plugins enthält und ob ``configsync`` antwortet. Der Befehl endet mit dem + Exit-Code ``0``, wenn keine Prüfung fehlgeschlagen ist. Geben Sie ``--url`` an, wenn OpenSearch + nicht unter ``http://localhost:9200`` erreichbar ist. + Schritt 3: Start --------------------- diff --git a/de/15.9/install/install-windows.rst b/de/15.9/install/install-windows.rst index bf4eccf5..bf64aebc 100644 --- a/de/15.9/install/install-windows.rst +++ b/de/15.9/install/install-windows.rst @@ -62,17 +62,28 @@ Schritt 1: Installation von OpenSearch .. tip:: - ``bin\fess-setup``, das |Fess| beiliegt, führt die folgenden Schritte in einem Befehl aus: - OpenSearch herunterladen und entpacken, die benötigten Plugins installieren und - ``configsync`` konfigurieren. + ``bin\fess-setup``, das |Fess| beiliegt, führt die folgenden Schritte in einem Befehl aus. Es + lädt OpenSearch herunter und entpackt es nach ``opensearch\`` im |Fess|-Verzeichnis, installiert + die benötigten Plugins und fügt ``configsync.config_path`` und ``plugins.security.disabled: true`` + zu dessen ``config\opensearch.yml`` hinzu. Entpacken Sie zuerst das ZIP von |Fess|, wie in + Schritt 2 beschrieben. :: > cd C:\fess-15.9.0 > bin\fess-setup install opensearch + ``bin\fess.in.bat`` findet ein so installiertes OpenSearch und übergibt dessen Verzeichnis + ``config\dictionary`` an |Fess|, sodass „Konfiguration von Fess" in Schritt 2 keine Änderung + erfordert, solange OpenSearch auf demselben Host läuft. Der Befehl gibt die hinzugefügten + Einstellungen aus und ob ``bin\fess.in.bat`` die Installation findet. Lesen Sie die Warnung unter + „Konfiguration von OpenSearch", bevor OpenSearch auf einer anderen Adresse als ``localhost`` + lauscht. + Folgen Sie den Schritten unten, um sie einzeln durchzugehen oder ein vorhandenes OpenSearch - zu verwenden. + zu verwenden. Um nur die Plugins in ein vorhandenes OpenSearch zu installieren, verwenden Sie + ``bin\fess-setup install opensearch-plugins --opensearch-home C:\opensearch-3.8.0``. + Alle Befehle finden Sie unter :doc:`fess-setup`. Download von OpenSearch ----------------------- @@ -168,6 +179,12 @@ Download von Fess Konfiguration von Fess ----------------------- +Bei einem OpenSearch, das ``bin\fess-setup install opensearch`` nach ``opensearch\`` im +|Fess|-Verzeichnis installiert hat und das auf demselben Host läuft, ist hier nichts zu +konfigurieren. Andernfalls, zum Beispiel wenn OpenSearch mit den obigen Schritten installiert wurde, +auf einem anderen Host läuft oder ``opensearch\`` mehr als ein von ``bin\fess-setup`` installiertes +OpenSearch enthält, konfigurieren Sie die Verbindung wie folgt. + Öffnen Sie ``bin\fess.in.bat`` mit einem Texteditor. Am Ende dieser Datei sind Einstellungen für die Verbindung zu einem externen OpenSearch-Cluster bereits als auskommentierte Vorlage vorhanden. @@ -175,7 +192,7 @@ Zustand vor der Änderung (Standardzustand):: REM External opensearch cluster REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.search_engine.http_address=http://localhost:9200 - REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=%SEARCH_ENGINE_HOME%/config/ + REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=C:/opensearch/config/dictionary Entfernen Sie das ``REM `` am Anfang der unteren zwei Zeilen, um den Kommentar aufzuheben, und ändern Sie den Wert von ``fess.dictionary.path`` auf den Konfigurationssynchronisationspfad von OpenSearch. @@ -189,7 +206,7 @@ Zustand nach der Änderung:: - Setzen Sie ``fess.dictionary.path`` auf denselben Pfad, der in ``opensearch.yml`` als ``configsync.config_path`` angegeben ist. - Wenn OpenSearch auf einem anderen Host ausgeführt wird, ändern Sie den Hostnamen oder die IP-Adresse in ``fess.search_engine.http_address`` entsprechend. - - Verwenden Sie ``/`` als Pfadtrennzeichen. + - Verwenden Sie ``/`` als Pfadtrennzeichen. |Fess| fügt den Pfad in die Indexeinstellungen ein, wobei ein ``\`` verloren geht; ein mit ``\`` geschriebener Pfad wird daher nicht gefunden. - Fügen Sie keine neuen ``set FESS_JAVA_OPTS=...``-Zeilen hinzu, sondern heben Sie die vorhandenen Kommentarzeilen auf und bearbeiten Sie diese. Die doppelte Angabe derselben Option kann zu unerwünschtem Verhalten führen. .. tip:: diff --git a/de/15.9/install/install.rst b/de/15.9/install/install.rst index 6e569da2..8cbc8d4e 100644 --- a/de/15.9/install/install.rst +++ b/de/15.9/install/install.rst @@ -170,7 +170,7 @@ Verwendet OpenSearch als Suchmaschine. Die Version von OpenSearch und die Version der Plugins müssen übereinstimmen. Versionsunterschiede können zu Startfehlern oder unerwartetem Verhalten führen. -``bin/fess-setup install opensearch`` richtet OpenSearch mit diesen Plugins ein. Einzelheiten siehe :doc:`install-linux`. +``bin/fess-setup install opensearch`` richtet OpenSearch mit diesen Plugins unter Linux und Windows ein. Einzelheiten, auch zu macOS, wo OpenSearch auf andere Weise installiert werden muss, siehe :doc:`install-linux`; alle Befehle siehe :doc:`fess-setup`. Java (außer Docker-Version) ---------------------------- diff --git a/de/15.9/install/run.rst b/de/15.9/install/run.rst index c3c44964..b133b317 100644 --- a/de/15.9/install/run.rst +++ b/de/15.9/install/run.rst @@ -29,6 +29,21 @@ Für Hintergrundstart:: $ ./bin/opensearch -d +.. note:: + + ``bin/fess-setup install opensearch`` legt OpenSearch in ``opensearch/opensearch-3.8.0`` im + |Fess|-Verzeichnis ab. + +.. important:: + + Starten Sie OpenSearch als normaler Benutzer. Als ``root`` verweigert es den Start und beendet + sich mit ``can not run opensearch as root``. Der verweigerte Start hinterlässt dennoch Dateien wie + ``config/opensearch.keystore`` im Besitz von ``root``, und der nächste Start als normaler + Benutzer schlägt dann mit ``AccessDeniedException`` fehl. Übertragen Sie das + OpenSearch-Verzeichnis vor dem nächsten Start wieder an diesen Benutzer, zum Beispiel:: + + $ sudo chown -R /path/to/opensearch-3.8.0 + Start von Fess ~~~~~~~~~~~~~~ diff --git a/de/15.9/install/troubleshooting.rst b/de/15.9/install/troubleshooting.rst index 7d694172..ed0e8504 100644 --- a/de/15.9/install/troubleshooting.rst +++ b/de/15.9/install/troubleshooting.rst @@ -99,6 +99,15 @@ Beim Ausführen des Fess-Startbefehls tritt ein Fehler auf oder es endet sofort. Bei normalem Betrieb wird eine JSON-Antwort zurückgegeben. + Antwortet kein OpenSearch, versucht |Fess| es etwa eine Minute lang erneut und bricht den Start + dann mit der folgenden Meldung auf der Konsole und in ``logs/fess.log`` ab:: + + The search engine at http://localhost:9200 did not become available within 60221ms. Check that OpenSearch is running and reachable. If there is none yet, run bin/fess-setup install opensearch to set one up. + + Starten Sie OpenSearch, oder überprüfen Sie ``SEARCH_ENGINE_HTTP_URL``. Eine neue + ZIP-Installation hat kein OpenSearch, bis eines mit ``bin/fess-setup install opensearch`` + eingerichtet wurde; siehe :doc:`install-linux`. + 2. **Überprüfen Sie Portnummer-Konflikte**:: $ sudo netstat -tuln | grep 8080 diff --git a/de/15.9/install/upgrade.rst b/de/15.9/install/upgrade.rst index 9d4f362b..551bd1ec 100644 --- a/de/15.9/install/upgrade.rst +++ b/de/15.9/install/upgrade.rst @@ -484,6 +484,13 @@ Ist kein OpenSearch erreichbar, startet |Fess| nicht. ``bin/fess-setup install o richtet einen ein (nur Linux und Windows; für macOS gibt es keine offizielle OpenSearch- Distribution, verwenden Sie dort Homebrew oder Docker). +|Fess| benötigt außerdem einen ``FESS_DICTIONARY_PATH``, der mit ``configsync.config_path`` in der +``opensearch.yml`` dieses OpenSearch übereinstimmt; ohne ihn kann |Fess| seine Indizes nicht +anlegen. Das ``bin/fess.in.sh`` von 15.9 (unter Windows ``bin\fess.in.bat``) setzt ihn selbst, wenn +``opensearch/`` im |Fess|-Verzeichnis genau ein von ``bin/fess-setup install opensearch`` +installiertes OpenSearch enthält. Für jedes andere OpenSearch setzen Sie ihn wie in +:doc:`install-linux` oder :doc:`install-windows` beschrieben. + Ebenfalls entfallen: - das Verzeichnis ``es/`` (``es/modules``, ``es/plugins`` und ``es/data``) diff --git a/en/15.9/admin/plugin-guide.rst b/en/15.9/admin/plugin-guide.rst index 068d7ecc..77368656 100644 --- a/en/15.9/admin/plugin-guide.rst +++ b/en/15.9/admin/plugin-guide.rst @@ -51,6 +51,8 @@ Plugins are released separately, so the plugins installed together are not neces The previously installed version of a plugin is deleted once the new one has been installed. A version that does not exist exits with code 1, so a build step such as a Dockerfile fails instead of carrying on with the plugin missing. +``bin/fess-setup list plugins`` shows the plugins published for this |Fess| and which of them are installed, ``list installed`` shows the installed plugins without contacting the repository, ``upgrade plugins`` reinstalls every installed plugin at the version that fits this |Fess|, and ``remove plugin`` deletes a plugin. Restart |Fess| after installing, upgrading or removing plugins. See :doc:`../install/fess-setup` for every command and option. + .. |image0| image:: ../../../resources/images/en/15.9/admin/plugin-1.png .. |image1| image:: ../../../resources/images/en/15.9/admin/plugin-2.png diff --git a/en/15.9/install/fess-setup.rst b/en/15.9/install/fess-setup.rst new file mode 100644 index 00000000..2211113b --- /dev/null +++ b/en/15.9/install/fess-setup.rst @@ -0,0 +1,220 @@ +================== +fess-setup Command +================== + +``bin/fess-setup`` (``bin\fess-setup.bat`` on Windows) is included with the |Fess| ZIP package. +It installs what |Fess| needs but does not bundle: OpenSearch with the plugins |Fess| requires, +Node.js for the Playwright crawler, and |Fess| plugins. It also reports on an installation. + +Run it from the |Fess| directory. Without arguments, it prints the list of commands. + +:: + + $ cd /path/to/fess-15.9.0 + $ bin/fess-setup [options] + +Exit Codes +========== + +.. list-table:: + :header-rows: 1 + :widths: 15 85 + + * - Code + - Meaning + * - ``0`` + - The command succeeded. + * - ``1`` + - The command failed: for example, a download failed, the requested version does not exist, + OpenSearch publishes no build for this platform, or ``check`` found a problem. + * - ``2`` + - The command line is wrong: an unknown command, or a missing argument such as a plugin name. + +Installing OpenSearch and Node.js +================================= + +install opensearch +------------------ + +:: + + $ bin/fess-setup install opensearch [--dest ] [--version ] + +Downloads the OpenSearch version this |Fess| supports into ``opensearch/`` in the |Fess| directory, +installs the four plugins |Fess| requires (``opensearch-analysis-fess``, +``opensearch-analysis-extension``, ``opensearch-minhash`` and ``opensearch-configsync``), and +appends the following settings to its ``config/opensearch.yml``: + +- ``configsync.config_path``, set to the ``config/dictionary`` directory of that OpenSearch +- ``plugins.security.disabled: true`` + +A setting that ``opensearch.yml`` already has is not added again, and +``plugins.security.disabled: true`` is not added when the file has any ``plugins.security.*`` +setting. When the OpenSearch directory already exists, the download is skipped, so running the +command again on an existing installation only adds the settings that are missing. + +The command prints each setting it added, and then whether ``bin/fess.in.sh`` finds this OpenSearch +on its own. It does when this is the only OpenSearch with a ``config/dictionary`` directory under +``opensearch/`` in the |Fess| directory: ``bin/fess.in.sh`` (``bin\fess.in.bat`` on Windows) then +sets ``FESS_DICTIONARY_PATH`` to that directory, and nothing else needs to be configured for an +OpenSearch on the same host. Otherwise the command prints the ``SEARCH_ENGINE_HTTP_URL`` and +``FESS_DICTIONARY_PATH`` values to set, as described in :doc:`install-linux` or +:doc:`install-windows`. + +.. list-table:: + :header-rows: 1 + :widths: 30 70 + + * - Option + - Description + * - ``--dest `` + - The directory to extract OpenSearch into, instead of ``opensearch/`` in the |Fess| + directory. ``bin/fess.in.sh`` does not look for OpenSearch outside that directory. + * - ``--version `` + - The OpenSearch version to install. The plugins are installed at the same version. + +OpenSearch publishes official builds for Linux and Windows only. On other platforms, such as macOS, +the command exits with code ``1`` before downloading anything and suggests installing OpenSearch +with Homebrew and adding the plugins with ``install opensearch-plugins``, or using Docker. + +.. warning:: + + With ``plugins.security.disabled: true``, OpenSearch accepts requests without authentication. + OpenSearch listens only on the loopback address unless ``network.host`` is set. Before it listens + on any other address, configure the security plugin instead; see :doc:`security`. + +install opensearch-plugins +-------------------------- + +:: + + $ bin/fess-setup install opensearch-plugins --opensearch-home [--version ] + +Installs the four plugins |Fess| requires into an OpenSearch you already have, in place of running +its ``bin/opensearch-plugin install`` four times. ``--opensearch-home`` is the OpenSearch +installation directory and is required. ``--version`` sets the plugin version, which must match the +OpenSearch version. + +This command does not change ``opensearch.yml``. Add ``configsync.config_path`` and the other +settings yourself, as described in :doc:`install-linux` or :doc:`install-windows`. + +install nodejs +-------------- + +:: + + $ bin/fess-setup install nodejs [--dest ] [--version ] + +Downloads Node.js, which the Playwright crawler needs, into ``nodejs/`` in the |Fess| directory. +``bin/fess.in.sh`` (``bin\fess.in.bat`` on Windows) finds it there and sets +``PLAYWRIGHT_NODEJS_PATH``. With ``--dest`` outside the |Fess| directory, the command prints the +``PLAYWRIGHT_NODEJS_PATH`` line to add to ``bin/fess.in.sh`` instead. ``--version`` selects another +Node.js version. See :doc:`../config/crawler-advanced` for the Playwright crawler. + +Managing Plugins +================ + +These commands work on the plugin directory ``app/WEB-INF/plugin`` of the |Fess| installation. +Restart |Fess| after installing, upgrading or removing plugins. Plugins can also be managed from +the System > Plugin page in the administration screen; see :doc:`../admin/plugin-guide`. + +``install plugin``, ``list plugins`` and ``upgrade plugins`` accept ``--repository ``. It takes +the version list, the jars and their checksums from that one Maven repository, such as an internal +mirror, instead of the default release and snapshot repositories and GitHub. + +install plugin +-------------- + +:: + + $ bin/fess-setup install plugin [:]... [--version ] [--repository ] + +Installs one or more |Fess| plugins, for example ``fess-script-groovy`` or ``fess-ds-git``. A name +without a version installs the newest version built for this |Fess|. ``:`` pins the +version of that plugin, and ``--version`` is the version for every name that has none of its own. +The previously installed version of a plugin is deleted once the new one has been installed. + +A jar comes from the plugin's GitHub release, or from the Maven repository when the release has no +such asset, and is checked against the SHA-1 checksum the Maven repository publishes. A development +build of |Fess| also installs the snapshot builds of its own line, and prefers them. + +See :doc:`../admin/plugin-guide` for examples. + +list plugins +------------ + +:: + + $ bin/fess-setup list plugins [--repository ] + +Lists the plugins published for this |Fess|, and marks the installed ones with +``(installed: )``. Plugins that are installed but not published in the repository, such as +a locally built jar, are listed separately. A development build of |Fess| lists the snapshot +repository as well. + +list installed +-------------- + +:: + + $ bin/fess-setup list installed + +Lists the installed plugins and their versions, without contacting the repository. + +upgrade plugins +--------------- + +:: + + $ bin/fess-setup upgrade plugins [--repository ] + +Reinstalls every installed plugin at the version that fits this |Fess|. A plugin that is already at +that version is left as it is. The plugins in ``app/WEB-INF/plugin`` are built for one |Fess| +release, so run this command after upgrading |Fess|. + +remove plugin +------------- + +:: + + $ bin/fess-setup remove plugin ... + +Deletes the installed jars of the named plugins. A name that is not installed is reported, and does +not change the exit code. + +Checking an Installation +======================== + +list +---- + +:: + + $ bin/fess-setup list + +Shows the components that ``install`` downloads, ``opensearch`` and ``nodejs``, with the version of +each. + +check +----- + +:: + + $ bin/fess-setup check [--url ] [--playwright] + +Reports on the installation, one line per check, each marked ``OK``, ``WARN`` or ``FAIL``: + +- The search engine: whether it is reachable, its version (a warning when the nodes report + different versions), whether the four plugins |Fess| requires are installed in it, and whether + ``configsync`` responds. +- |Fess|: whether the plugin directory exists and is writable, each installed plugin (a warning for + a plugin built for another |Fess| release, a failure for a plugin installed in two versions), and + whether Node.js is installed in ``nodejs/`` in the |Fess| directory. + +The engine URL is ``--url``, otherwise the ``SEARCH_ENGINE_HTTP_URL`` environment variable, +otherwise ``http://localhost:9200``. ``bin/fess-setup`` does not read ``bin/fess.in.sh``, so pass +``--url`` when OpenSearch is somewhere else. A missing Node.js is only reported, unless +``--playwright`` is given, which makes it a failure. + +The command exits with code ``0`` when no check failed, even if some produced warnings, and with +code ``1`` otherwise. diff --git a/en/15.9/install/index.rst b/en/15.9/install/index.rst index 7501a461..b610e198 100644 --- a/en/15.9/install/index.rst +++ b/en/15.9/install/index.rst @@ -14,6 +14,7 @@ prerequisites, security settings, upgrading, and troubleshooting. install-linux install-windows install-docker + fess-setup run security upgrade diff --git a/en/15.9/install/install-linux.rst b/en/15.9/install/install-linux.rst index 3e78c8eb..402917c8 100644 --- a/en/15.9/install/install-linux.rst +++ b/en/15.9/install/install-linux.rst @@ -79,20 +79,46 @@ Installation with ZIP Version Step 1: Install OpenSearch --------------------------- +.. important:: + + Install and run OpenSearch as a regular user, not as ``root``: OpenSearch refuses to start as + ``root``. Run ``bin/fess-setup`` below as that user as well, so that the files it extracts belong + to that user. See :doc:`run` if a start as ``root`` has already been refused. + .. tip:: - ``bin/fess-setup``, included with |Fess|, performs the steps below in one command. It - downloads and extracts OpenSearch, installs the required plugins, and configures - ``configsync``. + ``bin/fess-setup``, included with |Fess|, performs steps 1 to 3 below in one command. It + downloads and extracts OpenSearch into ``opensearch/`` in the |Fess| directory, installs the + required plugins, and adds ``configsync.config_path`` and ``plugins.security.disabled: true`` + to its ``config/opensearch.yml``. Extract the |Fess| ZIP first, as described in Step 2. :: $ cd /path/to/fess-15.9.0 $ bin/fess-setup install opensearch + ``bin/fess.in.sh`` finds an OpenSearch installed this way and sets ``FESS_DICTIONARY_PATH`` on + its own, so "Configure Fess" in Step 2 needs no change as long as OpenSearch runs on the same + host. The command prints the settings it added and whether ``bin/fess.in.sh`` finds the + installation. Read the warning in step 3 before OpenSearch listens on any address other than + ``localhost``. + Follow the steps below to work through them individually, or when using an OpenSearch you already have. To install only the plugins into an existing OpenSearch, use - ``bin/fess-setup install plugins --opensearch-home /path/to/opensearch``. + ``bin/fess-setup install opensearch-plugins --opensearch-home /path/to/opensearch``. + See :doc:`fess-setup` for all commands. + +.. note:: + + OpenSearch publishes no macOS build, so on macOS ``bin/fess-setup install opensearch`` exits + with an error. Install OpenSearch with Homebrew and add the plugins with + ``bin/fess-setup install opensearch-plugins``, or use :doc:`install-docker` instead:: + + $ brew install opensearch + $ bin/fess-setup install opensearch-plugins --opensearch-home $(brew --prefix opensearch) + + Then configure that OpenSearch as in step 3, and set ``FESS_DICTIONARY_PATH`` as described in + "Configure Fess" in Step 2. 1. Download OpenSearch @@ -177,32 +203,44 @@ Step 2: Install Fess 2. Configure Fess - Edit ``bin/fess.in.sh`` to configure the connection information to OpenSearch. - This file already contains, in a commented-out state, the settings for connecting to an external OpenSearch cluster. + The connection information to OpenSearch is in ``bin/fess.in.sh``. With an OpenSearch that + ``bin/fess-setup install opensearch`` installed into ``opensearch/`` in the |Fess| directory and + that runs on the same host, this file needs no change: ``SEARCH_ENGINE_HTTP_URL`` defaults to + ``http://localhost:9200``, and ``FESS_DICTIONARY_PATH`` is set to the ``config/dictionary`` + directory of that OpenSearch. + + Edit ``bin/fess.in.sh`` in any of the following cases: + + - OpenSearch was installed another way, such as by steps 1 to 3 above or with Homebrew, or with + ``--dest`` outside the |Fess| directory. + - ``opensearch/`` in the |Fess| directory holds more than one OpenSearch installed by + ``bin/fess-setup``, for example two versions. ``bin/fess.in.sh`` cannot tell which one is in + use, so it prints a warning and leaves ``FESS_DICTIONARY_PATH`` unset. + - OpenSearch runs on another host or port. :: $ vi bin/fess.in.sh - Uncomment (remove the leading ``#`` from) the following two lines near the top of the file. + Near the top of the file, remove the leading ``#`` from the ``FESS_DICTIONARY_PATH`` line and set + the path, and change the URL in the ``SEARCH_ENGINE_HTTP_URL`` line if needed. - Before (default state):: + Before (default state, comment lines omitted):: - # External opensearch cluster - #SEARCH_ENGINE_HTTP_URL=http://localhost:9200 + SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://localhost:9200} #FESS_DICTIONARY_PATH=/var/lib/opensearch/config/ After:: - # External opensearch cluster - SEARCH_ENGINE_HTTP_URL=http://localhost:9200 + SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://localhost:9200} FESS_DICTIONARY_PATH=/path/to/opensearch-3.8.0/data/config/ .. note:: - - Set ``FESS_DICTIONARY_PATH`` to the same path specified for ``configsync.config_path`` in OpenSearch's ``opensearch.yml``. - - If OpenSearch is running on a different host, change ``SEARCH_ENGINE_HTTP_URL`` to the appropriate hostname or IP address. Example: ``SEARCH_ENGINE_HTTP_URL=http://192.168.1.100:9200`` - - Rather than adding a new ``SEARCH_ENGINE_HTTP_URL=...`` line, uncomment and edit the existing commented-out line. + - Set ``FESS_DICTIONARY_PATH`` to the same path specified for ``configsync.config_path`` in OpenSearch's ``opensearch.yml``. Without it, |Fess| cannot create its indices and does not start. + - If OpenSearch is running on a different host, change the URL in the ``SEARCH_ENGINE_HTTP_URL`` line to that host. Example: ``SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://192.168.1.100:9200}``. ``FESS_DICTIONARY_PATH`` is then the ``configsync.config_path`` of that server. + - Instead of editing the file, both variables can be exported in the environment |Fess| is started from. An exported ``SEARCH_ENGINE_HTTP_URL`` takes precedence over the URL in the file, and an exported ``FESS_DICTIONARY_PATH`` is used as long as its line in the file stays commented out. + - Rather than adding a new ``SEARCH_ENGINE_HTTP_URL=...`` line, edit the existing one. .. tip:: @@ -215,6 +253,10 @@ Step 2: Install Fess $ grep "SEARCH_ENGINE_HTTP_URL" bin/fess.in.sh $ grep "FESS_DICTIONARY_PATH" bin/fess.in.sh + Once OpenSearch is running, ``bin/fess-setup check`` reports whether it is reachable, whether it + has the plugins |Fess| requires, and whether ``configsync`` responds. It exits with code ``0`` + when no check failed. Pass ``--url`` when OpenSearch is not at ``http://localhost:9200``. + Step 3: Startup ----------------- diff --git a/en/15.9/install/install-windows.rst b/en/15.9/install/install-windows.rst index 711af0b8..558775de 100644 --- a/en/15.9/install/install-windows.rst +++ b/en/15.9/install/install-windows.rst @@ -63,16 +63,25 @@ Step 1: Install OpenSearch .. tip:: ``bin\fess-setup``, included with |Fess|, performs the steps below in one command. It - downloads and extracts OpenSearch, installs the required plugins, and configures - ``configsync``. + downloads and extracts OpenSearch into ``opensearch\`` in the |Fess| directory, installs the + required plugins, and adds ``configsync.config_path`` and ``plugins.security.disabled: true`` + to its ``config\opensearch.yml``. Extract the |Fess| ZIP first, as described in Step 2. :: > cd C:\fess-15.9.0 > bin\fess-setup install opensearch + ``bin\fess.in.bat`` finds an OpenSearch installed this way and passes its ``config\dictionary`` + directory to |Fess|, so "Configure Fess" in Step 2 needs no change as long as OpenSearch runs on + the same host. The command prints the settings it added and whether ``bin\fess.in.bat`` finds + the installation. Read the warning in "Configure OpenSearch" before OpenSearch listens on any + address other than ``localhost``. + Follow the steps below to work through them individually, or when using an OpenSearch you - already have. + already have. To install only the plugins into an existing OpenSearch, use + ``bin\fess-setup install opensearch-plugins --opensearch-home C:\opensearch-3.8.0``. + See :doc:`fess-setup` for all commands. Download OpenSearch ------------------- @@ -168,6 +177,11 @@ Download Fess Configure Fess -------------- +With an OpenSearch that ``bin\fess-setup install opensearch`` installed into ``opensearch\`` in the +|Fess| directory and that runs on the same host, nothing needs to be configured here. Otherwise, for +example when OpenSearch was installed by the steps above, runs on another host, or ``opensearch\`` +holds more than one OpenSearch installed by ``bin\fess-setup``, configure the connection as follows. + Open ``bin\fess.in.bat`` with a text editor. Near the end of this file, the settings for connecting to an external OpenSearch cluster are already present as commented-out lines. @@ -175,7 +189,7 @@ Before (default state):: REM External opensearch cluster REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.search_engine.http_address=http://localhost:9200 - REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=%SEARCH_ENGINE_HOME%/config/ + REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=C:/opensearch/config/dictionary Remove the leading ``REM `` from the bottom two lines to uncomment them, and change the value of ``fess.dictionary.path`` to the configuration synchronization path for OpenSearch. @@ -189,7 +203,7 @@ After:: - Set ``fess.dictionary.path`` to the same path specified for ``configsync.config_path`` in OpenSearch's ``opensearch.yml``. - If OpenSearch is running on a different host, change the hostname or IP address in ``fess.search_engine.http_address`` to the appropriate value. - - Use ``/`` for path separators. + - Use ``/`` for path separators. |Fess| inserts the path into the index settings, where a ``\`` is dropped, so a path written with ``\`` is not found. - Do not add new ``set FESS_JAVA_OPTS=...`` lines; instead, uncomment and edit the existing commented lines. Specifying the same option more than once may cause unexpected behavior. .. tip:: diff --git a/en/15.9/install/install.rst b/en/15.9/install/install.rst index b61a4823..da9934c5 100644 --- a/en/15.9/install/install.rst +++ b/en/15.9/install/install.rst @@ -170,7 +170,7 @@ OpenSearch is used as the search engine. The OpenSearch version and plugin versions must match. Version mismatches can cause startup errors or unexpected behavior. -``bin/fess-setup install opensearch`` sets up OpenSearch with these plugins. See :doc:`install-linux` for details. +``bin/fess-setup install opensearch`` sets up OpenSearch with these plugins on Linux and Windows. See :doc:`install-linux` for details, including macOS, where OpenSearch has to be installed another way, and :doc:`fess-setup` for all commands. Java (Non-Docker Versions) --------------------------- diff --git a/en/15.9/install/run.rst b/en/15.9/install/run.rst index 8a24cf3e..a1dd9aee 100644 --- a/en/15.9/install/run.rst +++ b/en/15.9/install/run.rst @@ -29,6 +29,21 @@ To start in the background:: $ ./bin/opensearch -d +.. note:: + + ``bin/fess-setup install opensearch`` puts OpenSearch in ``opensearch/opensearch-3.8.0`` in the + |Fess| directory. + +.. important:: + + Start OpenSearch as a regular user. It refuses to run as ``root`` and exits with + ``can not run opensearch as root``. The refused start still leaves files such as + ``config/opensearch.keystore`` owned by ``root``, and the next start as a regular user then + fails with ``AccessDeniedException``. Give the OpenSearch directory back to that user before + starting it again, for example:: + + $ sudo chown -R /path/to/opensearch-3.8.0 + Start Fess ~~~~~~~~~~ diff --git a/en/15.9/install/troubleshooting.rst b/en/15.9/install/troubleshooting.rst index 65fca143..db7a20f6 100644 --- a/en/15.9/install/troubleshooting.rst +++ b/en/15.9/install/troubleshooting.rst @@ -99,6 +99,14 @@ Fess startup command produces an error or exits immediately. If working correctly, a JSON response will be returned. + When no OpenSearch answers, |Fess| retries for about a minute and then stops starting up, with + the following message on the console and in ``logs/fess.log``:: + + The search engine at http://localhost:9200 did not become available within 60221ms. Check that OpenSearch is running and reachable. If there is none yet, run bin/fess-setup install opensearch to set one up. + + Start OpenSearch, or check ``SEARCH_ENGINE_HTTP_URL``. A new ZIP installation has no OpenSearch + until one is set up with ``bin/fess-setup install opensearch``; see :doc:`install-linux`. + 2. **Check for port conflicts**:: $ sudo netstat -tuln | grep 8080 diff --git a/en/15.9/install/upgrade.rst b/en/15.9/install/upgrade.rst index 616ee642..daf38d86 100644 --- a/en/15.9/install/upgrade.rst +++ b/en/15.9/install/upgrade.rst @@ -479,6 +479,12 @@ refuses to start when no OpenSearch is reachable. ``bin/fess-setup install opens one (Linux and Windows only; OpenSearch publishes no macOS build, so use Homebrew or Docker there). +|Fess| also needs ``FESS_DICTIONARY_PATH`` to match ``configsync.config_path`` in the +``opensearch.yml`` of that OpenSearch; without it, |Fess| cannot create its indices. The 15.9 +``bin/fess.in.sh`` (``bin\fess.in.bat`` on Windows) sets it on its own when ``opensearch/`` in the +|Fess| directory holds exactly one OpenSearch installed by ``bin/fess-setup install opensearch``. +For any other OpenSearch, set it as described in :doc:`install-linux` or :doc:`install-windows`. + Removed along with it: - the ``es/`` directory (``es/modules``, ``es/plugins`` and ``es/data``) diff --git a/es/15.9/admin/plugin-guide.rst b/es/15.9/admin/plugin-guide.rst index 2e439d95..1e721189 100644 --- a/es/15.9/admin/plugin-guide.rst +++ b/es/15.9/admin/plugin-guide.rst @@ -51,5 +51,7 @@ Los complementos se publican por separado, así que los que se instalan juntos n La versión instalada anteriormente de un complemento se elimina una vez instalada la nueva. Una versión que no existe termina con el código de salida 1, de modo que un paso de compilación como un Dockerfile falla en lugar de continuar sin el complemento. +``bin/fess-setup list plugins`` muestra los complementos publicados para este |Fess| y cuáles de ellos están instalados, ``list installed`` muestra los complementos instalados sin consultar el repositorio, ``upgrade plugins`` vuelve a instalar cada complemento instalado en la versión adecuada para este |Fess| y ``remove plugin`` elimina un complemento. Reinicie |Fess| después de instalar, actualizar o eliminar complementos. Consulte :doc:`../install/fess-setup` para ver todos los comandos y opciones. + .. |image0| image:: ../../../resources/images/en/15.9/admin/plugin-1.png .. |image1| image:: ../../../resources/images/en/15.9/admin/plugin-2.png diff --git a/es/15.9/install/fess-setup.rst b/es/15.9/install/fess-setup.rst new file mode 100644 index 00000000..89f8d95b --- /dev/null +++ b/es/15.9/install/fess-setup.rst @@ -0,0 +1,230 @@ +================== +Comando fess-setup +================== + +``bin/fess-setup`` (``bin\fess-setup.bat`` en Windows) se incluye con el paquete ZIP de |Fess|. +Instala lo que |Fess| necesita pero no incluye: OpenSearch con los plugins que requiere |Fess|, +Node.js para el rastreador de Playwright y los plugins de |Fess|. También informa sobre el estado +de una instalación. + +Ejecútelo desde el directorio de |Fess|. Sin argumentos, muestra la lista de comandos. + +:: + + $ cd /path/to/fess-15.9.0 + $ bin/fess-setup [options] + +Códigos de Salida +================= + +.. list-table:: + :header-rows: 1 + :widths: 15 85 + + * - Código + - Significado + * - ``0`` + - El comando se completó correctamente. + * - ``1`` + - El comando falló: por ejemplo, falló una descarga, la versión solicitada no existe, + OpenSearch no publica ninguna versión para esta plataforma o ``check`` detectó un problema. + * - ``2`` + - La línea de comandos es incorrecta: un comando desconocido o falta un argumento, como el + nombre de un plugin. + +Instalación de OpenSearch y Node.js +=================================== + +install opensearch +------------------ + +:: + + $ bin/fess-setup install opensearch [--dest ] [--version ] + +Descarga la versión de OpenSearch compatible con este |Fess| en ``opensearch/`` dentro del +directorio de |Fess|, instala los cuatro plugins que requiere |Fess| (``opensearch-analysis-fess``, +``opensearch-analysis-extension``, ``opensearch-minhash`` y ``opensearch-configsync``) y añade la +siguiente configuración a su ``config/opensearch.yml``: + +- ``configsync.config_path``, con el directorio ``config/dictionary`` de ese OpenSearch como valor +- ``plugins.security.disabled: true`` + +Una opción que ``opensearch.yml`` ya contiene no se vuelve a añadir, y +``plugins.security.disabled: true`` no se añade si el archivo contiene cualquier opción +``plugins.security.*``. Si el directorio de OpenSearch ya existe, se omite la descarga, de modo que +volver a ejecutar el comando sobre una instalación existente solo añade las opciones que faltan. + +El comando muestra cada opción que ha añadido y, a continuación, indica si ``bin/fess.in.sh`` +encuentra este OpenSearch por sí mismo. Lo encuentra cuando es el único OpenSearch con un +directorio ``config/dictionary`` dentro de ``opensearch/`` en el directorio de |Fess|: en ese caso +``bin/fess.in.sh`` (``bin\fess.in.bat`` en Windows) establece ``FESS_DICTIONARY_PATH`` en ese +directorio, y no hace falta configurar nada más para un OpenSearch en el mismo host. En caso +contrario, el comando muestra los valores de ``SEARCH_ENGINE_HTTP_URL`` y ``FESS_DICTIONARY_PATH`` +que debe establecer, tal como se describe en :doc:`install-linux` o :doc:`install-windows`. + +.. list-table:: + :header-rows: 1 + :widths: 30 70 + + * - Opción + - Descripción + * - ``--dest `` + - El directorio en el que extraer OpenSearch, en lugar de ``opensearch/`` dentro del + directorio de |Fess|. ``bin/fess.in.sh`` no busca OpenSearch fuera de ese directorio. + * - ``--version `` + - La versión de OpenSearch que se instala. Los plugins se instalan en la misma versión. + +OpenSearch publica versiones oficiales solo para Linux y Windows. En otras plataformas, como macOS, +el comando termina con el código ``1`` antes de descargar nada y sugiere instalar OpenSearch con +Homebrew y añadir los plugins con ``install opensearch-plugins``, o bien utilizar Docker. + +.. warning:: + + Con ``plugins.security.disabled: true``, OpenSearch acepta peticiones sin autenticación. + OpenSearch solo escucha en la dirección de loopback a menos que se establezca ``network.host``. + Antes de que escuche en cualquier otra dirección, configure en su lugar el plugin de seguridad; + consulte :doc:`security`. + +install opensearch-plugins +-------------------------- + +:: + + $ bin/fess-setup install opensearch-plugins --opensearch-home [--version ] + +Instala los cuatro plugins que requiere |Fess| en un OpenSearch que ya tenga, en lugar de ejecutar +cuatro veces su ``bin/opensearch-plugin install``. ``--opensearch-home`` es el directorio de +instalación de OpenSearch y es obligatorio. ``--version`` establece la versión de los plugins, que +debe coincidir con la versión de OpenSearch. + +Este comando no modifica ``opensearch.yml``. Añada usted mismo ``configsync.config_path`` y el +resto de la configuración, tal como se describe en :doc:`install-linux` o :doc:`install-windows`. + +install nodejs +-------------- + +:: + + $ bin/fess-setup install nodejs [--dest ] [--version ] + +Descarga Node.js, que necesita el rastreador de Playwright, en ``nodejs/`` dentro del directorio +de |Fess|. ``bin/fess.in.sh`` (``bin\fess.in.bat`` en Windows) lo encuentra allí y establece +``PLAYWRIGHT_NODEJS_PATH``. Con ``--dest`` fuera del directorio de |Fess|, el comando muestra en su +lugar la línea ``PLAYWRIGHT_NODEJS_PATH`` que debe añadir a ``bin/fess.in.sh``. ``--version`` +selecciona otra versión de Node.js. Consulte :doc:`../config/crawler-advanced` para el rastreador de +Playwright. + +Gestión de Plugins +================== + +Estos comandos trabajan sobre el directorio de plugins ``app/WEB-INF/plugin`` de la instalación de +|Fess|. Reinicie |Fess| después de instalar, actualizar o eliminar plugins. Los plugins también se +pueden gestionar desde la página Sistema > Plugin de la pantalla de administración; consulte +:doc:`../admin/plugin-guide`. + +``install plugin``, ``list plugins`` y ``upgrade plugins`` aceptan ``--repository ``. Con esta +opción, la lista de versiones, los jar y sus sumas de comprobación se obtienen de ese único +repositorio Maven, como un espejo interno, en lugar de los repositorios predeterminados de +versiones publicadas y de snapshots y de GitHub. + +install plugin +-------------- + +:: + + $ bin/fess-setup install plugin [:]... [--version ] [--repository ] + +Instala uno o varios plugins de |Fess|, por ejemplo ``fess-script-groovy`` o ``fess-ds-git``. Un +nombre sin versión instala la versión más reciente compilada para este |Fess|. +``:`` fija la versión de ese plugin, y ``--version`` es la versión para todos los +nombres que no indican una propia. La versión instalada anteriormente de un plugin se elimina una +vez instalada la nueva. + +Cada jar se obtiene de la release de GitHub del plugin, o del repositorio Maven cuando la release +no contiene ese archivo, y se verifica con la suma de comprobación SHA-1 que publica el repositorio +Maven. Una versión de desarrollo de |Fess| también instala las compilaciones snapshot de su propia +línea, y les da preferencia. + +Consulte :doc:`../admin/plugin-guide` para ver ejemplos. + +list plugins +------------ + +:: + + $ bin/fess-setup list plugins [--repository ] + +Lista los plugins publicados para este |Fess| y marca los instalados con +``(installed: )``. Los plugins que están instalados pero no publicados en el repositorio, +como un jar compilado localmente, se listan por separado. Una versión de desarrollo de |Fess| lista +también el repositorio de snapshots. + +list installed +-------------- + +:: + + $ bin/fess-setup list installed + +Lista los plugins instalados y sus versiones, sin consultar el repositorio. + +upgrade plugins +--------------- + +:: + + $ bin/fess-setup upgrade plugins [--repository ] + +Vuelve a instalar cada plugin instalado en la versión adecuada para este |Fess|. Un plugin que ya +está en esa versión se deja como está. Los plugins de ``app/WEB-INF/plugin`` se compilan para una +versión concreta de |Fess|, así que ejecute este comando después de actualizar |Fess|. + +remove plugin +------------- + +:: + + $ bin/fess-setup remove plugin ... + +Elimina los jar instalados de los plugins indicados. Un nombre que no está instalado se notifica y +no cambia el código de salida. + +Comprobación de una Instalación +=============================== + +list +---- + +:: + + $ bin/fess-setup list + +Muestra los componentes que descarga ``install``, ``opensearch`` y ``nodejs``, con la versión de +cada uno. + +check +----- + +:: + + $ bin/fess-setup check [--url ] [--playwright] + +Informa sobre la instalación, con una línea por comprobación, marcada como ``OK``, ``WARN`` o +``FAIL``: + +- El motor de búsqueda: si es accesible, su versión (una advertencia si los nodos indican versiones + distintas), si los cuatro plugins que requiere |Fess| están instalados en él y si ``configsync`` + responde. +- |Fess|: si el directorio de plugins existe y admite escritura, cada plugin instalado (una + advertencia para un plugin compilado para otra versión de |Fess|, un fallo para un plugin + instalado en dos versiones) y si Node.js está instalado en ``nodejs/`` dentro del directorio de + |Fess|. + +La URL del motor es ``--url``; si no se indica, la variable de entorno ``SEARCH_ENGINE_HTTP_URL``; +y si tampoco existe, ``http://localhost:9200``. ``bin/fess-setup`` no lee ``bin/fess.in.sh``, así +que indique ``--url`` cuando OpenSearch esté en otro lugar. La ausencia de Node.js solo se +notifica, salvo que se indique ``--playwright``, que la convierte en un fallo. + +El comando termina con el código ``0`` cuando ninguna comprobación ha fallado, aunque alguna haya +producido advertencias, y con el código ``1`` en caso contrario. diff --git a/es/15.9/install/index.rst b/es/15.9/install/index.rst index 8e96969f..700d8f26 100644 --- a/es/15.9/install/index.rst +++ b/es/15.9/install/index.rst @@ -15,6 +15,7 @@ la resolución de problemas. install-linux install-windows install-docker + fess-setup run security upgrade diff --git a/es/15.9/install/install-linux.rst b/es/15.9/install/install-linux.rst index f94ad339..7a82c90b 100644 --- a/es/15.9/install/install-linux.rst +++ b/es/15.9/install/install-linux.rst @@ -79,19 +79,50 @@ Instalación con Versión ZIP Paso 1: Instalación de OpenSearch ------------------------------------ +.. important:: + + Instale y ejecute OpenSearch con un usuario normal, no como ``root``: OpenSearch se niega a + iniciarse como ``root``. Ejecute también ``bin/fess-setup`` con ese usuario, para que los + archivos que extrae pertenezcan a ese usuario. Consulte :doc:`run` si ya se ha rechazado un + inicio como ``root``. + .. tip:: - ``bin/fess-setup``, incluido con |Fess|, realiza los pasos siguientes en una sola orden: - descarga y extrae OpenSearch, instala los plugins necesarios y configura ``configsync``. + ``bin/fess-setup``, incluido con |Fess|, realiza los pasos 1 a 3 siguientes en una sola orden. + Descarga y extrae OpenSearch en ``opensearch/`` dentro del directorio de |Fess|, instala los + plugins necesarios y añade ``configsync.config_path`` y ``plugins.security.disabled: true`` a + su ``config/opensearch.yml``. Extraiga primero el ZIP de |Fess|, tal como se describe en el + Paso 2. :: $ cd /path/to/fess-15.9.0 $ bin/fess-setup install opensearch + ``bin/fess.in.sh`` encuentra un OpenSearch instalado de esta forma y establece + ``FESS_DICTIONARY_PATH`` por sí mismo, por lo que "Configuración de Fess" en el Paso 2 no + requiere cambios mientras OpenSearch se ejecute en el mismo host. El comando muestra la + configuración que ha añadido y si ``bin/fess.in.sh`` encuentra la instalación. Lea la + advertencia del paso 3 antes de que OpenSearch escuche en cualquier dirección distinta de + ``localhost``. + Siga los pasos siguientes para revisarlos uno a uno, o cuando utilice un OpenSearch que ya tenga. Para instalar únicamente los plugins en un OpenSearch existente, utilice - ``bin/fess-setup install plugins --opensearch-home /path/to/opensearch``. + ``bin/fess-setup install opensearch-plugins --opensearch-home /path/to/opensearch``. + Consulte :doc:`fess-setup` para ver todos los comandos. + +.. note:: + + OpenSearch no publica ninguna versión para macOS, por lo que en macOS + ``bin/fess-setup install opensearch`` termina con un error. Instale OpenSearch con Homebrew y + añada los plugins con ``bin/fess-setup install opensearch-plugins``, o bien utilice + :doc:`install-docker`:: + + $ brew install opensearch + $ bin/fess-setup install opensearch-plugins --opensearch-home $(brew --prefix opensearch) + + A continuación, configure ese OpenSearch como en el paso 3 y establezca + ``FESS_DICTIONARY_PATH`` tal como se describe en "Configuración de Fess" en el Paso 2. 1. Descarga de OpenSearch @@ -176,32 +207,44 @@ Paso 2: Instalación de Fess 2. Configuración de Fess - Edite ``bin/fess.in.sh`` para configurar la información de conexión a OpenSearch. - Este archivo incluye, de forma predeterminada, la configuración para conectarse a un clúster externo de OpenSearch, comentada de antemano. + La información de conexión a OpenSearch está en ``bin/fess.in.sh``. Con un OpenSearch que + ``bin/fess-setup install opensearch`` instaló en ``opensearch/`` dentro del directorio de |Fess| + y que se ejecuta en el mismo host, este archivo no requiere cambios: ``SEARCH_ENGINE_HTTP_URL`` + tiene como valor predeterminado ``http://localhost:9200``, y ``FESS_DICTIONARY_PATH`` se + establece en el directorio ``config/dictionary`` de ese OpenSearch. + + Edite ``bin/fess.in.sh`` en cualquiera de los siguientes casos: + + - OpenSearch se instaló de otra forma, como con los pasos 1 a 3 anteriores o con Homebrew, o con + ``--dest`` fuera del directorio de |Fess|. + - ``opensearch/`` dentro del directorio de |Fess| contiene más de un OpenSearch instalado por + ``bin/fess-setup``, por ejemplo dos versiones. ``bin/fess.in.sh`` no puede saber cuál está en + uso, así que muestra una advertencia y deja ``FESS_DICTIONARY_PATH`` sin establecer. + - OpenSearch se ejecuta en otro host o puerto. :: $ vi bin/fess.in.sh - Descomente (elimine el ``#`` inicial de) las siguientes 2 líneas ubicadas cerca del principio del archivo. + Cerca del principio del archivo, elimine el ``#`` inicial de la línea ``FESS_DICTIONARY_PATH`` y + establezca la ruta, y cambie la URL de la línea ``SEARCH_ENGINE_HTTP_URL`` si es necesario. - Antes del cambio (estado predeterminado):: + Antes del cambio (estado predeterminado, sin las líneas de comentario):: - # External opensearch cluster - #SEARCH_ENGINE_HTTP_URL=http://localhost:9200 + SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://localhost:9200} #FESS_DICTIONARY_PATH=/var/lib/opensearch/config/ Después del cambio:: - # External opensearch cluster - SEARCH_ENGINE_HTTP_URL=http://localhost:9200 + SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://localhost:9200} FESS_DICTIONARY_PATH=/path/to/opensearch-3.8.0/data/config/ .. note:: - - Configure ``FESS_DICTIONARY_PATH`` con la misma ruta que especificó en ``configsync.config_path`` dentro de ``opensearch.yml`` de OpenSearch. - - Si ejecuta OpenSearch en otro host, cambie ``SEARCH_ENGINE_HTTP_URL`` al nombre de host o dirección IP apropiados. Ejemplo: ``SEARCH_ENGINE_HTTP_URL=http://192.168.1.100:9200`` - - No agregue una nueva línea ``SEARCH_ENGINE_HTTP_URL=...``; en su lugar, descomente y edite la línea existente. + - Configure ``FESS_DICTIONARY_PATH`` con la misma ruta que especificó en ``configsync.config_path`` dentro de ``opensearch.yml`` de OpenSearch. Sin ella, |Fess| no puede crear sus índices y no se inicia. + - Si ejecuta OpenSearch en otro host, cambie la URL de la línea ``SEARCH_ENGINE_HTTP_URL`` por la de ese host. Ejemplo: ``SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://192.168.1.100:9200}``. En ese caso, ``FESS_DICTIONARY_PATH`` es el ``configsync.config_path`` de ese servidor. + - En lugar de editar el archivo, puede exportar ambas variables en el entorno desde el que se inicia |Fess|. Un ``SEARCH_ENGINE_HTTP_URL`` exportado tiene prioridad sobre la URL del archivo, y un ``FESS_DICTIONARY_PATH`` exportado se utiliza mientras su línea en el archivo siga comentada. + - No agregue una nueva línea ``SEARCH_ENGINE_HTTP_URL=...``; en su lugar, edite la línea existente. .. tip:: @@ -214,6 +257,11 @@ Paso 2: Instalación de Fess $ grep "SEARCH_ENGINE_HTTP_URL" bin/fess.in.sh $ grep "FESS_DICTIONARY_PATH" bin/fess.in.sh + Una vez que OpenSearch esté en ejecución, ``bin/fess-setup check`` informa de si es accesible, + si tiene los plugins que requiere |Fess| y si ``configsync`` responde. Termina con el código + ``0`` cuando ninguna comprobación ha fallado. Indique ``--url`` cuando OpenSearch no esté en + ``http://localhost:9200``. + Paso 3: Inicio ------------------ diff --git a/es/15.9/install/install-windows.rst b/es/15.9/install/install-windows.rst index 4ec317c6..1e5425d3 100644 --- a/es/15.9/install/install-windows.rst +++ b/es/15.9/install/install-windows.rst @@ -62,16 +62,28 @@ Paso 1: Instalación de OpenSearch .. tip:: - ``bin\fess-setup``, incluido con |Fess|, realiza los pasos siguientes en una sola orden: - descarga y extrae OpenSearch, instala los plugins necesarios y configura ``configsync``. + ``bin\fess-setup``, incluido con |Fess|, realiza los pasos siguientes en una sola orden. + Descarga y extrae OpenSearch en ``opensearch\`` dentro del directorio de |Fess|, instala los + plugins necesarios y añade ``configsync.config_path`` y ``plugins.security.disabled: true`` a + su ``config\opensearch.yml``. Extraiga primero el ZIP de |Fess|, tal como se describe en el + Paso 2. :: > cd C:\fess-15.9.0 > bin\fess-setup install opensearch + ``bin\fess.in.bat`` encuentra un OpenSearch instalado de esta forma y pasa su directorio + ``config\dictionary`` a |Fess|, por lo que "Configuración de Fess" en el Paso 2 no requiere + cambios mientras OpenSearch se ejecute en el mismo host. El comando muestra la configuración que + ha añadido y si ``bin\fess.in.bat`` encuentra la instalación. Lea la advertencia de + "Configuración de OpenSearch" antes de que OpenSearch escuche en cualquier dirección distinta de + ``localhost``. + Siga los pasos siguientes para revisarlos uno a uno, o cuando utilice un OpenSearch que ya - tenga. + tenga. Para instalar únicamente los plugins en un OpenSearch existente, utilice + ``bin\fess-setup install opensearch-plugins --opensearch-home C:\opensearch-3.8.0``. + Consulte :doc:`fess-setup` para ver todos los comandos. Descarga de OpenSearch ----------------------- @@ -167,6 +179,12 @@ Descarga de Fess Configuración de Fess ---------------------- +Con un OpenSearch que ``bin\fess-setup install opensearch`` instaló en ``opensearch\`` dentro del +directorio de |Fess| y que se ejecuta en el mismo host, no es necesario configurar nada aquí. En +caso contrario, por ejemplo cuando OpenSearch se instaló con los pasos anteriores, se ejecuta en +otro host, o ``opensearch\`` contiene más de un OpenSearch instalado por ``bin\fess-setup``, +configure la conexión de la siguiente manera. + Abra ``bin\fess.in.bat`` con un editor de texto. Cerca del final de este archivo encontrará una sección de configuración para conectarse a un clúster OpenSearch externo, que ya está preparada en forma de comentario. @@ -174,7 +192,7 @@ Estado antes del cambio (estado predeterminado):: REM External opensearch cluster REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.search_engine.http_address=http://localhost:9200 - REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=%SEARCH_ENGINE_HOME%/config/ + REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=C:/opensearch/config/dictionary Elimine el ``REM `` del inicio de las dos líneas inferiores para descomentarlas, y cambie el valor de ``fess.dictionary.path`` a la ruta de sincronización de configuración de OpenSearch. @@ -188,7 +206,7 @@ Estado después del cambio:: - En ``fess.dictionary.path``, establezca la misma ruta que la indicada en ``configsync.config_path`` dentro de ``opensearch.yml`` de OpenSearch. - Si está ejecutando OpenSearch en otro host, cambie el nombre de host o la dirección IP en ``fess.search_engine.http_address`` al valor apropiado. - - Use ``/`` como separador de ruta. + - Use ``/`` como separador de ruta. |Fess| inserta la ruta en la configuración de los índices, donde se pierde cualquier ``\``, por lo que una ruta escrita con ``\`` no se encuentra. - En lugar de agregar nuevas líneas ``set FESS_JAVA_OPTS=...``, descomente y edite las líneas de comentario existentes. Especificar la misma opción de forma duplicada puede causar comportamientos no deseados. .. tip:: diff --git a/es/15.9/install/install.rst b/es/15.9/install/install.rst index c275e35b..9d56b475 100644 --- a/es/15.9/install/install.rst +++ b/es/15.9/install/install.rst @@ -170,7 +170,7 @@ Se utiliza OpenSearch como motor de búsqueda. Es necesario que coincidan las versiones de OpenSearch y los plugins. La falta de coincidencia de versiones causa errores de inicio y comportamiento inesperado. -``bin/fess-setup install opensearch`` prepara OpenSearch con estos plugins. Consulte :doc:`install-linux` para más detalles. +``bin/fess-setup install opensearch`` prepara OpenSearch con estos plugins en Linux y Windows. Consulte :doc:`install-linux` para más detalles, incluido macOS, donde OpenSearch debe instalarse de otra forma, y :doc:`fess-setup` para ver todos los comandos. Java (excepto versión Docker) ------------------------------ diff --git a/es/15.9/install/run.rst b/es/15.9/install/run.rst index 49b4a615..142a37a2 100644 --- a/es/15.9/install/run.rst +++ b/es/15.9/install/run.rst @@ -29,6 +29,21 @@ Para iniciar en segundo plano:: $ ./bin/opensearch -d +.. note:: + + ``bin/fess-setup install opensearch`` coloca OpenSearch en ``opensearch/opensearch-3.8.0`` + dentro del directorio de |Fess|. + +.. important:: + + Inicie OpenSearch con un usuario normal. Se niega a ejecutarse como ``root`` y termina con + ``can not run opensearch as root``. Aun así, el inicio rechazado deja archivos como + ``config/opensearch.keystore`` con ``root`` como propietario, y el siguiente inicio con un + usuario normal falla con ``AccessDeniedException``. Devuelva el directorio de OpenSearch a ese + usuario antes de volver a iniciarlo, por ejemplo:: + + $ sudo chown -R /path/to/opensearch-3.8.0 + Inicio de Fess ~~~~~~~~~~~~~~ diff --git a/es/15.9/install/troubleshooting.rst b/es/15.9/install/troubleshooting.rst index ee63657b..51fc01d0 100644 --- a/es/15.9/install/troubleshooting.rst +++ b/es/15.9/install/troubleshooting.rst @@ -99,6 +99,15 @@ Aparece un error al ejecutar el comando de inicio de Fess, o termina inmediatame Si es normal, se devuelve una respuesta JSON. + Cuando ningún OpenSearch responde, |Fess| lo reintenta durante aproximadamente un minuto y + después deja de iniciarse, con el siguiente mensaje en la consola y en ``logs/fess.log``:: + + The search engine at http://localhost:9200 did not become available within 60221ms. Check that OpenSearch is running and reachable. If there is none yet, run bin/fess-setup install opensearch to set one up. + + Inicie OpenSearch o compruebe ``SEARCH_ENGINE_HTTP_URL``. Una instalación ZIP nueva no tiene + OpenSearch hasta que se configura uno con ``bin/fess-setup install opensearch``; consulte + :doc:`install-linux`. + 2. **Verificar conflicto de número de puerto**:: $ sudo netstat -tuln | grep 8080 diff --git a/es/15.9/install/upgrade.rst b/es/15.9/install/upgrade.rst index 3880a732..757f3615 100644 --- a/es/15.9/install/upgrade.rst +++ b/es/15.9/install/upgrade.rst @@ -484,6 +484,13 @@ predeterminada. |Fess| no se inicia si no hay ningún OpenSearch accesible. ``bin/fess-setup install opensearch`` instala uno (solo Linux y Windows; OpenSearch no publica una versión para macOS, así que utilice Homebrew o Docker en ese caso). +|Fess| también necesita que ``FESS_DICTIONARY_PATH`` coincida con ``configsync.config_path`` en el +``opensearch.yml`` de ese OpenSearch; sin ello, |Fess| no puede crear sus índices. El +``bin/fess.in.sh`` de 15.9 (``bin\fess.in.bat`` en Windows) la establece por sí mismo cuando +``opensearch/`` dentro del directorio de |Fess| contiene exactamente un OpenSearch instalado por +``bin/fess-setup install opensearch``. Para cualquier otro OpenSearch, establézcala tal como se +describe en :doc:`install-linux` o :doc:`install-windows`. + También se han eliminado: - el directorio ``es/`` (``es/modules``, ``es/plugins`` y ``es/data``) diff --git a/fr/15.9/admin/plugin-guide.rst b/fr/15.9/admin/plugin-guide.rst index adbd7ecf..d48109f3 100644 --- a/fr/15.9/admin/plugin-guide.rst +++ b/fr/15.9/admin/plugin-guide.rst @@ -51,5 +51,7 @@ Les plugins sont publiés séparément : ceux installés ensemble ne sont donc p La version précédemment installée d'un plugin est supprimée une fois la nouvelle installée. Une version inexistante se termine avec le code de sortie 1 : une étape de build telle qu'un Dockerfile échoue au lieu de continuer sans le plugin. +``bin/fess-setup list plugins`` affiche les plugins publiés pour ce |Fess| et indique lesquels sont installés, ``list installed`` affiche les plugins installés sans contacter le dépôt, ``upgrade plugins`` réinstalle chaque plugin installé dans la version adaptée à ce |Fess|, et ``remove plugin`` supprime un plugin. Redémarrez |Fess| après avoir installé, mis à niveau ou supprimé des plugins. Consultez :doc:`../install/fess-setup` pour toutes les commandes et options. + .. |image0| image:: ../../../resources/images/en/15.9/admin/plugin-1.png .. |image1| image:: ../../../resources/images/en/15.9/admin/plugin-2.png diff --git a/fr/15.9/install/fess-setup.rst b/fr/15.9/install/fess-setup.rst new file mode 100644 index 00000000..d3053a76 --- /dev/null +++ b/fr/15.9/install/fess-setup.rst @@ -0,0 +1,230 @@ +==================== +Commande fess-setup +==================== + +``bin/fess-setup`` (``bin\fess-setup.bat`` sous Windows) est fourni avec le package ZIP de |Fess|. +Il installe ce dont |Fess| a besoin sans l'intégrer : OpenSearch avec les plugins requis par +|Fess|, Node.js pour le robot Playwright, et les plugins |Fess|. Il établit également un diagnostic +d'une installation. + +Exécutez-le depuis le répertoire de |Fess|. Sans argument, il affiche la liste des commandes. + +:: + + $ cd /path/to/fess-15.9.0 + $ bin/fess-setup [options] + +Codes de sortie +=============== + +.. list-table:: + :header-rows: 1 + :widths: 15 85 + + * - Code + - Signification + * - ``0`` + - La commande a réussi. + * - ``1`` + - La commande a échoué : par exemple, un téléchargement a échoué, la version demandée n'existe + pas, OpenSearch ne publie pas de version pour cette plateforme, ou ``check`` a détecté un + problème. + * - ``2`` + - La ligne de commande est incorrecte : commande inconnue, ou argument manquant, tel qu'un nom + de plugin. + +Installation d'OpenSearch et de Node.js +========================================= + +install opensearch +------------------ + +:: + + $ bin/fess-setup install opensearch [--dest ] [--version ] + +Télécharge la version d'OpenSearch prise en charge par ce |Fess| dans ``opensearch/`` du répertoire +de |Fess|, y installe les quatre plugins requis par |Fess| (``opensearch-analysis-fess``, +``opensearch-analysis-extension``, ``opensearch-minhash`` et ``opensearch-configsync``), puis ajoute +les paramètres suivants à son ``config/opensearch.yml`` : + +- ``configsync.config_path``, défini sur le répertoire ``config/dictionary`` de cet OpenSearch +- ``plugins.security.disabled: true`` + +Un paramètre déjà présent dans ``opensearch.yml`` n'est pas ajouté une seconde fois, et +``plugins.security.disabled: true`` n'est pas ajouté lorsque le fichier contient un paramètre +``plugins.security.*``, quel qu'il soit. Lorsque le répertoire d'OpenSearch existe déjà, le +téléchargement est ignoré : exécuter à nouveau la commande sur une installation existante n'ajoute +donc que les paramètres manquants. + +La commande affiche chaque paramètre ajouté, puis indique si ``bin/fess.in.sh`` trouve cet +OpenSearch par lui-même. C'est le cas lorsqu'il s'agit du seul OpenSearch possédant un répertoire +``config/dictionary`` sous ``opensearch/`` dans le répertoire de |Fess| : ``bin/fess.in.sh`` +(``bin\fess.in.bat`` sous Windows) définit alors ``FESS_DICTIONARY_PATH`` sur ce répertoire, et rien +d'autre n'est à configurer pour un OpenSearch situé sur le même hôte. Dans le cas contraire, la +commande affiche les valeurs de ``SEARCH_ENGINE_HTTP_URL`` et de ``FESS_DICTIONARY_PATH`` à définir, +comme décrit dans :doc:`install-linux` ou :doc:`install-windows`. + +.. list-table:: + :header-rows: 1 + :widths: 30 70 + + * - Option + - Description + * - ``--dest `` + - Répertoire dans lequel extraire OpenSearch, au lieu de ``opensearch/`` dans le répertoire de + |Fess|. ``bin/fess.in.sh`` ne recherche pas OpenSearch en dehors de ce répertoire. + * - ``--version `` + - Version d'OpenSearch à installer. Les plugins sont installés dans la même version. + +OpenSearch ne publie de versions officielles que pour Linux et Windows. Sur les autres plateformes, +comme macOS, la commande se termine avec le code ``1`` avant tout téléchargement et suggère +d'installer OpenSearch avec Homebrew puis d'ajouter les plugins avec ``install opensearch-plugins``, +ou d'utiliser Docker. + +.. warning:: + + Avec ``plugins.security.disabled: true``, OpenSearch accepte les requêtes sans authentification. + OpenSearch n'écoute que sur l'adresse de bouclage tant que ``network.host`` n'est pas défini. + Avant qu'il n'écoute sur une autre adresse, configurez plutôt le plugin de sécurité ; consultez + :doc:`security`. + +install opensearch-plugins +-------------------------- + +:: + + $ bin/fess-setup install opensearch-plugins --opensearch-home [--version ] + +Installe les quatre plugins requis par |Fess| dans un OpenSearch existant, au lieu d'exécuter quatre +fois son ``bin/opensearch-plugin install``. ``--opensearch-home`` est le répertoire d'installation +d'OpenSearch et est obligatoire. ``--version`` définit la version des plugins, qui doit correspondre +à la version d'OpenSearch. + +Cette commande ne modifie pas ``opensearch.yml``. Ajoutez vous-même ``configsync.config_path`` et +les autres paramètres, comme décrit dans :doc:`install-linux` ou :doc:`install-windows`. + +install nodejs +-------------- + +:: + + $ bin/fess-setup install nodejs [--dest ] [--version ] + +Télécharge Node.js, nécessaire au robot Playwright, dans ``nodejs/`` du répertoire de |Fess|. +``bin/fess.in.sh`` (``bin\fess.in.bat`` sous Windows) l'y trouve et définit +``PLAYWRIGHT_NODEJS_PATH``. Avec ``--dest`` en dehors du répertoire de |Fess|, la commande affiche à +la place la ligne ``PLAYWRIGHT_NODEJS_PATH`` à ajouter à ``bin/fess.in.sh``. ``--version`` permet de +choisir une autre version de Node.js. Consultez :doc:`../config/crawler-advanced` pour le robot +Playwright. + +Gestion des plugins +=================== + +Ces commandes agissent sur le répertoire des plugins ``app/WEB-INF/plugin`` de l'installation de +|Fess|. Redémarrez |Fess| après avoir installé, mis à niveau ou supprimé des plugins. Les plugins +peuvent aussi être gérés depuis la page **Système > Plugin** de l'écran d'administration ; consultez +:doc:`../admin/plugin-guide`. + +``install plugin``, ``list plugins`` et ``upgrade plugins`` acceptent ``--repository ``. Cette +option prend la liste des versions, les jars et leurs sommes de contrôle dans ce seul dépôt Maven, +par exemple un miroir interne, au lieu des dépôts release et snapshot par défaut et de GitHub. + +install plugin +-------------- + +:: + + $ bin/fess-setup install plugin [:]... [--version ] [--repository ] + +Installe un ou plusieurs plugins |Fess|, par exemple ``fess-script-groovy`` ou ``fess-ds-git``. Un +nom sans version installe la version la plus récente compilée pour ce |Fess|. +``:`` fige la version de ce plugin, et ``--version`` est la version de chaque nom qui +n'en indique pas. La version précédemment installée d'un plugin est supprimée une fois la nouvelle +installée. + +Un jar provient de la release GitHub du plugin, ou du dépôt Maven lorsque la release ne contient pas +ce fichier, et est vérifié avec la somme de contrôle SHA-1 publiée par le dépôt Maven. Une version +de développement de |Fess| installe aussi les builds snapshot de sa propre ligne, et les privilégie. + +Consultez :doc:`../admin/plugin-guide` pour des exemples. + +list plugins +------------ + +:: + + $ bin/fess-setup list plugins [--repository ] + +Liste les plugins publiés pour ce |Fess| et signale ceux qui sont installés par +``(installed: )``. Les plugins installés mais non publiés dans le dépôt, comme un jar +compilé localement, sont listés à part. Une version de développement de |Fess| consulte aussi le +dépôt snapshot. + +list installed +-------------- + +:: + + $ bin/fess-setup list installed + +Liste les plugins installés et leurs versions, sans contacter le dépôt. + +upgrade plugins +--------------- + +:: + + $ bin/fess-setup upgrade plugins [--repository ] + +Réinstalle chaque plugin installé dans la version adaptée à ce |Fess|. Un plugin qui est déjà dans +cette version est laissé tel quel. Les plugins de ``app/WEB-INF/plugin`` sont compilés pour une +version précise de |Fess| : exécutez donc cette commande après une mise à niveau de |Fess|. + +remove plugin +------------- + +:: + + $ bin/fess-setup remove plugin ... + +Supprime les jars installés des plugins indiqués. Un nom qui n'est pas installé est signalé, sans +modifier le code de sortie. + +Vérification d'une installation +================================= + +list +---- + +:: + + $ bin/fess-setup list + +Affiche les composants que ``install`` télécharge, ``opensearch`` et ``nodejs``, avec la version de +chacun. + +check +----- + +:: + + $ bin/fess-setup check [--url ] [--playwright] + +Établit un diagnostic de l'installation, une ligne par vérification, chacune marquée ``OK``, +``WARN`` ou ``FAIL`` : + +- Le moteur de recherche : s'il est joignable, sa version (un avertissement lorsque les nœuds + indiquent des versions différentes), si les quatre plugins requis par |Fess| y sont installés, et + si ``configsync`` répond. +- |Fess| : si le répertoire des plugins existe et est accessible en écriture, chaque plugin installé + (un avertissement pour un plugin compilé pour une autre version de |Fess|, un échec pour un plugin + installé en deux versions), et si Node.js est installé dans ``nodejs/`` du répertoire de |Fess|. + +L'URL du moteur est ``--url``, sinon la variable d'environnement ``SEARCH_ENGINE_HTTP_URL``, sinon +``http://localhost:9200``. ``bin/fess-setup`` ne lit pas ``bin/fess.in.sh`` : indiquez donc +``--url`` lorsqu'OpenSearch se trouve ailleurs. L'absence de Node.js est seulement signalée, sauf si +``--playwright`` est indiqué, auquel cas elle constitue un échec. + +La commande se termine avec le code ``0`` lorsqu'aucune vérification n'a échoué, même si certaines +ont produit des avertissements, et avec le code ``1`` sinon. diff --git a/fr/15.9/install/index.rst b/fr/15.9/install/index.rst index a7179052..de774122 100644 --- a/fr/15.9/install/index.rst +++ b/fr/15.9/install/index.rst @@ -15,6 +15,7 @@ dépannage. install-linux install-windows install-docker + fess-setup run security upgrade diff --git a/fr/15.9/install/install-linux.rst b/fr/15.9/install/install-linux.rst index 82eeeb19..5e30f517 100644 --- a/fr/15.9/install/install-linux.rst +++ b/fr/15.9/install/install-linux.rst @@ -79,20 +79,49 @@ Installation avec la version ZIP Étape 1 : Installation d'OpenSearch -------------------------------------- +.. important:: + + Installez et exécutez OpenSearch avec un utilisateur ordinaire, et non en tant que ``root`` : + OpenSearch refuse de démarrer en tant que ``root``. Exécutez également ``bin/fess-setup`` + ci-dessous avec cet utilisateur, afin que les fichiers qu'il extrait lui appartiennent. + Consultez :doc:`run` si un démarrage en tant que ``root`` a déjà été refusé. + .. tip:: - ``bin/fess-setup``, fourni avec |Fess|, exécute les étapes ci-dessous en une seule commande : - téléchargement et extraction d'OpenSearch, installation des plugins requis et configuration - de ``configsync``. + ``bin/fess-setup``, fourni avec |Fess|, exécute les étapes 1 à 3 ci-dessous en une seule + commande : il télécharge et extrait OpenSearch dans ``opensearch/`` du répertoire de |Fess|, + installe les plugins requis, puis ajoute ``configsync.config_path`` et + ``plugins.security.disabled: true`` à son ``config/opensearch.yml``. Décompressez d'abord le + ZIP de |Fess|, comme décrit à l'Étape 2. :: $ cd /path/to/fess-15.9.0 $ bin/fess-setup install opensearch + ``bin/fess.in.sh`` trouve un OpenSearch installé de cette façon et définit + ``FESS_DICTIONARY_PATH`` par lui-même : « Configuration de Fess » à l'Étape 2 ne nécessite donc + aucune modification tant qu'OpenSearch s'exécute sur le même hôte. La commande affiche les + paramètres ajoutés et indique si ``bin/fess.in.sh`` trouve l'installation. Lisez + l'avertissement de l'étape 3 avant qu'OpenSearch n'écoute sur une autre adresse que + ``localhost``. + Suivez les étapes ci-dessous pour les dérouler une à une, ou lorsque vous utilisez un OpenSearch existant. Pour n'installer que les plugins dans un OpenSearch existant, utilisez - ``bin/fess-setup install plugins --opensearch-home /path/to/opensearch``. + ``bin/fess-setup install opensearch-plugins --opensearch-home /path/to/opensearch``. + Consultez :doc:`fess-setup` pour toutes les commandes. + +.. note:: + + OpenSearch ne publie pas de version macOS : sous macOS, ``bin/fess-setup install opensearch`` + se termine donc par une erreur. Installez OpenSearch avec Homebrew et ajoutez les plugins avec + ``bin/fess-setup install opensearch-plugins``, ou utilisez plutôt :doc:`install-docker` :: + + $ brew install opensearch + $ bin/fess-setup install opensearch-plugins --opensearch-home $(brew --prefix opensearch) + + Configurez ensuite cet OpenSearch comme à l'étape 3, et définissez ``FESS_DICTIONARY_PATH`` + comme décrit dans « Configuration de Fess » à l'Étape 2. 1. Téléchargement d'OpenSearch @@ -177,32 +206,36 @@ Installation avec la version ZIP 2. Configuration de Fess - Modifiez ``bin/fess.in.sh`` pour configurer les informations de connexion à OpenSearch. - Ce fichier contient, à l'état commenté, les paramètres permettant de se connecter à un cluster OpenSearch externe. + Les informations de connexion à OpenSearch se trouvent dans ``bin/fess.in.sh``. Avec un OpenSearch que ``bin/fess-setup install opensearch`` a installé dans ``opensearch/`` du répertoire de |Fess| et qui s'exécute sur le même hôte, ce fichier ne nécessite aucune modification : ``SEARCH_ENGINE_HTTP_URL`` vaut ``http://localhost:9200`` par défaut, et ``FESS_DICTIONARY_PATH`` est défini sur le répertoire ``config/dictionary`` de cet OpenSearch. + + Modifiez ``bin/fess.in.sh`` dans l'un des cas suivants : + + - OpenSearch a été installé d'une autre manière, par exemple avec les étapes 1 à 3 ci-dessus ou avec Homebrew, ou avec ``--dest`` en dehors du répertoire de |Fess|. + - ``opensearch/`` dans le répertoire de |Fess| contient plus d'un OpenSearch installé par ``bin/fess-setup``, par exemple deux versions. ``bin/fess.in.sh`` ne peut pas déterminer lequel est utilisé : il affiche donc un avertissement et laisse ``FESS_DICTIONARY_PATH`` non défini. + - OpenSearch s'exécute sur un autre hôte ou un autre port. :: $ vi bin/fess.in.sh - Décommentez (supprimez le ``#`` en début de ligne) les deux lignes suivantes, situées près du début du fichier. + Près du début du fichier, supprimez le ``#`` en début de la ligne ``FESS_DICTIONARY_PATH`` et indiquez le chemin, puis modifiez si nécessaire l'URL de la ligne ``SEARCH_ENGINE_HTTP_URL``. - Avant modification (état par défaut) :: + Avant modification (état par défaut, lignes de commentaire omises) :: - # External opensearch cluster - #SEARCH_ENGINE_HTTP_URL=http://localhost:9200 + SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://localhost:9200} #FESS_DICTIONARY_PATH=/var/lib/opensearch/config/ Après modification :: - # External opensearch cluster - SEARCH_ENGINE_HTTP_URL=http://localhost:9200 + SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://localhost:9200} FESS_DICTIONARY_PATH=/path/to/opensearch-3.8.0/data/config/ .. note:: - - Définissez pour ``FESS_DICTIONARY_PATH`` le même chemin que celui indiqué dans ``configsync.config_path`` du fichier ``opensearch.yml`` d'OpenSearch. - - Si OpenSearch s'exécute sur un autre hôte, remplacez ``SEARCH_ENGINE_HTTP_URL`` par le nom d'hôte ou l'adresse IP appropriés. Exemple : ``SEARCH_ENGINE_HTTP_URL=http://192.168.1.100:9200`` - - N'ajoutez pas une nouvelle ligne ``SEARCH_ENGINE_HTTP_URL=...`` ; décommentez et modifiez plutôt la ligne existante. + - Définissez pour ``FESS_DICTIONARY_PATH`` le même chemin que celui indiqué dans ``configsync.config_path`` du fichier ``opensearch.yml`` d'OpenSearch. Sans ce paramètre, |Fess| ne peut pas créer ses index et ne démarre pas. + - Si OpenSearch s'exécute sur un autre hôte, remplacez l'URL de la ligne ``SEARCH_ENGINE_HTTP_URL`` par celle de cet hôte. Exemple : ``SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://192.168.1.100:9200}``. ``FESS_DICTIONARY_PATH`` est alors le ``configsync.config_path`` de ce serveur. + - Au lieu de modifier le fichier, les deux variables peuvent être exportées dans l'environnement à partir duquel |Fess| est démarré. Un ``SEARCH_ENGINE_HTTP_URL`` exporté est prioritaire sur l'URL du fichier, et un ``FESS_DICTIONARY_PATH`` exporté est utilisé tant que sa ligne dans le fichier reste commentée. + - N'ajoutez pas une nouvelle ligne ``SEARCH_ENGINE_HTTP_URL=...`` ; modifiez plutôt la ligne existante. .. tip:: @@ -215,6 +248,8 @@ Installation avec la version ZIP $ grep "SEARCH_ENGINE_HTTP_URL" bin/fess.in.sh $ grep "FESS_DICTIONARY_PATH" bin/fess.in.sh + Une fois OpenSearch démarré, ``bin/fess-setup check`` indique s'il est joignable, s'il dispose des plugins requis par |Fess| et si ``configsync`` répond. La commande se termine avec le code ``0`` lorsqu'aucune vérification n'a échoué. Indiquez ``--url`` lorsqu'OpenSearch ne se trouve pas à ``http://localhost:9200``. + Étape 3 : Démarrage ---------------------- diff --git a/fr/15.9/install/install-windows.rst b/fr/15.9/install/install-windows.rst index 5fec0364..3a562623 100644 --- a/fr/15.9/install/install-windows.rst +++ b/fr/15.9/install/install-windows.rst @@ -63,16 +63,27 @@ Configuration des variables d'environnement .. tip:: ``bin\fess-setup``, fourni avec |Fess|, exécute les étapes ci-dessous en une seule commande : - téléchargement et extraction d'OpenSearch, installation des plugins requis et configuration - de ``configsync``. + il télécharge et extrait OpenSearch dans ``opensearch\`` du répertoire de |Fess|, installe les + plugins requis, puis ajoute ``configsync.config_path`` et ``plugins.security.disabled: true`` + à son ``config\opensearch.yml``. Décompressez d'abord le ZIP de |Fess|, comme décrit à + l'Étape 2. :: > cd C:\fess-15.9.0 > bin\fess-setup install opensearch + ``bin\fess.in.bat`` trouve un OpenSearch installé de cette façon et transmet son répertoire + ``config\dictionary`` à |Fess| : « Configuration de Fess » à l'Étape 2 ne nécessite donc aucune + modification tant qu'OpenSearch s'exécute sur le même hôte. La commande affiche les paramètres + ajoutés et indique si ``bin\fess.in.bat`` trouve l'installation. Lisez l'avertissement de + « Configuration d'OpenSearch » avant qu'OpenSearch n'écoute sur une autre adresse que + ``localhost``. + Suivez les étapes ci-dessous pour les dérouler une à une, ou lorsque vous utilisez un - OpenSearch existant. + OpenSearch existant. Pour n'installer que les plugins dans un OpenSearch existant, utilisez + ``bin\fess-setup install opensearch-plugins --opensearch-home C:\opensearch-3.8.0``. + Consultez :doc:`fess-setup` pour toutes les commandes. Téléchargement d'OpenSearch ---------------------------- @@ -168,6 +179,12 @@ Téléchargement de Fess Configuration de Fess ---------------------- +Avec un OpenSearch que ``bin\fess-setup install opensearch`` a installé dans ``opensearch\`` du +répertoire de |Fess| et qui s'exécute sur le même hôte, aucune configuration n'est nécessaire ici. +Dans les autres cas, par exemple lorsqu'OpenSearch a été installé avec les étapes ci-dessus, +s'exécute sur un autre hôte, ou lorsque ``opensearch\`` contient plus d'un OpenSearch installé par +``bin\fess-setup``, configurez la connexion comme suit. + Ouvrez ``bin\fess.in.bat`` avec un éditeur de texte. Vers la fin de ce fichier, les paramètres de connexion à un cluster OpenSearch externe sont préparés à l'avance sous forme de lignes commentées. @@ -175,7 +192,7 @@ Avant modification (état par défaut) :: REM External opensearch cluster REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.search_engine.http_address=http://localhost:9200 - REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=%SEARCH_ENGINE_HOME%/config/ + REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=C:/opensearch/config/dictionary Supprimez le préfixe ``REM `` en début des 2 dernières lignes pour décommenter, puis modifiez la valeur de ``fess.dictionary.path`` avec le chemin de synchronisation de configuration d'OpenSearch. @@ -189,7 +206,7 @@ Après modification :: - Pour ``fess.dictionary.path``, spécifiez le même chemin que ``configsync.config_path`` défini dans le fichier ``opensearch.yml`` d'OpenSearch. - Si vous exécutez OpenSearch sur un autre hôte, modifiez le nom d'hôte ou l'adresse IP de ``fess.search_engine.http_address`` avec la valeur appropriée. - - Utilisez ``/`` comme séparateur de chemin. + - Utilisez ``/`` comme séparateur de chemin. |Fess| insère le chemin dans les paramètres de l'index, où un ``\`` est perdu : un chemin écrit avec ``\`` n'est donc pas trouvé. - Ne pas ajouter de nouvelles lignes ``set FESS_JAVA_OPTS=...`` ; décommentez et éditez les lignes existantes. La spécification dupliquée d'une même option peut provoquer un comportement inattendu. .. tip:: diff --git a/fr/15.9/install/install.rst b/fr/15.9/install/install.rst index 8ffaf5ea..47103fdc 100644 --- a/fr/15.9/install/install.rst +++ b/fr/15.9/install/install.rst @@ -170,7 +170,7 @@ OpenSearch est utilisé comme moteur de recherche. Les versions d'OpenSearch et des plugins doivent correspondre. Une incompatibilité de version peut causer des erreurs de démarrage ou des comportements inattendus. -``bin/fess-setup install opensearch`` met en place OpenSearch avec ces plugins. Voir :doc:`install-linux` pour les détails. +``bin/fess-setup install opensearch`` met en place OpenSearch avec ces plugins sous Linux et Windows. Voir :doc:`install-linux` pour les détails, y compris pour macOS, où OpenSearch doit être installé d'une autre manière, et :doc:`fess-setup` pour toutes les commandes. Java (sauf version Docker) -------------------------- diff --git a/fr/15.9/install/run.rst b/fr/15.9/install/run.rst index 576b25ba..7177fde1 100644 --- a/fr/15.9/install/run.rst +++ b/fr/15.9/install/run.rst @@ -29,6 +29,21 @@ Pour un démarrage en arrière-plan :: $ ./bin/opensearch -d +.. note:: + + ``bin/fess-setup install opensearch`` place OpenSearch dans ``opensearch/opensearch-3.8.0`` du + répertoire de |Fess|. + +.. important:: + + Démarrez OpenSearch avec un utilisateur ordinaire. Il refuse de s'exécuter en tant que ``root`` + et se termine avec ``can not run opensearch as root``. Ce démarrage refusé laisse néanmoins des + fichiers tels que ``config/opensearch.keystore`` appartenant à ``root``, et le démarrage suivant + avec un utilisateur ordinaire échoue alors avec ``AccessDeniedException``. Rendez le répertoire + d'OpenSearch à cet utilisateur avant de le démarrer à nouveau, par exemple :: + + $ sudo chown -R /path/to/opensearch-3.8.0 + Démarrage de Fess ~~~~~~~~~~~~~~~~~ diff --git a/fr/15.9/install/troubleshooting.rst b/fr/15.9/install/troubleshooting.rst index 4c32a69d..73e495e4 100644 --- a/fr/15.9/install/troubleshooting.rst +++ b/fr/15.9/install/troubleshooting.rst @@ -99,6 +99,15 @@ Une erreur se produit lors de l'exécution de la commande de démarrage de Fess, Si le démarrage est normal, une réponse JSON est retournée. + Lorsqu'aucun OpenSearch ne répond, |Fess| réessaie pendant environ une minute, puis interrompt + son démarrage avec le message suivant sur la console et dans ``logs/fess.log`` :: + + The search engine at http://localhost:9200 did not become available within 60221ms. Check that OpenSearch is running and reachable. If there is none yet, run bin/fess-setup install opensearch to set one up. + + Démarrez OpenSearch, ou vérifiez ``SEARCH_ENGINE_HTTP_URL``. Une nouvelle installation ZIP ne + dispose d'aucun OpenSearch tant qu'il n'a pas été mis en place avec + ``bin/fess-setup install opensearch`` ; consultez :doc:`install-linux`. + 2. **Vérifiez les conflits de ports** :: $ sudo netstat -tuln | grep 8080 diff --git a/fr/15.9/install/upgrade.rst b/fr/15.9/install/upgrade.rst index e8429696..4eb82199 100644 --- a/fr/15.9/install/upgrade.rst +++ b/fr/15.9/install/upgrade.rst @@ -488,6 +488,13 @@ de recherche est toujours un serveur distinct. opensearch`` en installe un (Linux et Windows uniquement ; OpenSearch ne publie pas de version macOS, utilisez donc Homebrew ou Docker). +|Fess| a également besoin que ``FESS_DICTIONARY_PATH`` corresponde à ``configsync.config_path`` +dans le fichier ``opensearch.yml`` de cet OpenSearch ; sans cela, |Fess| ne peut pas créer ses +index. Le ``bin/fess.in.sh`` de la 15.9 (``bin\fess.in.bat`` sous Windows) le définit par lui-même +lorsque ``opensearch/`` dans le répertoire de |Fess| contient exactement un OpenSearch installé par +``bin/fess-setup install opensearch``. Pour tout autre OpenSearch, définissez-le comme décrit dans +:doc:`install-linux` ou :doc:`install-windows`. + Sont également supprimés : - le répertoire ``es/`` (``es/modules``, ``es/plugins`` et ``es/data``) diff --git a/ja/15.9/admin/plugin-guide.rst b/ja/15.9/admin/plugin-guide.rst index af12a48d..280f0780 100644 --- a/ja/15.9/admin/plugin-guide.rst +++ b/ja/15.9/admin/plugin-guide.rst @@ -51,5 +51,7 @@ 新しいバージョンのインストールが完了した後に、同じプラグインの以前のバージョンが削除されます。存在しないバージョンを指定した場合は終了コード 1 で終了するため、Dockerfile などのビルド手順に組み込んでも、プラグインが欠けたまま処理が進むことはありません。 +``bin/fess-setup list plugins`` はこの |Fess| 向けに公開されているプラグインと導入状況を、 ``list installed`` はリポジトリに問い合わせずに導入済みのプラグインを表示します。 ``upgrade plugins`` は導入済みのすべてのプラグインをこの |Fess| に合うバージョンで導入し直し、 ``remove plugin`` はプラグインを削除します。プラグインを導入、更新、削除した後は |Fess| を再起動してください。すべてのコマンドとオプションについては :doc:`../install/fess-setup` を参照してください。 + .. |image0| image:: ../../../resources/images/ja/15.9/admin/plugin-1.png .. |image1| image:: ../../../resources/images/ja/15.9/admin/plugin-2.png diff --git a/ja/15.9/install/fess-setup.rst b/ja/15.9/install/fess-setup.rst new file mode 100644 index 00000000..8812bb1b --- /dev/null +++ b/ja/15.9/install/fess-setup.rst @@ -0,0 +1,168 @@ +==================== +fess-setup コマンド +==================== + +``bin/fess-setup`` (Windows では ``bin\fess-setup.bat`` )は、 |Fess| の ZIP パッケージに同梱されているコマンドです。 |Fess| に必要でありながら配布物に含まれていないもの、つまり |Fess| が必要とするプラグインを入れた OpenSearch、Playwright クローラが使う Node.js、 |Fess| のプラグインを導入します。インストール状態の診断もできます。 + +|Fess| のディレクトリで実行します。引数を付けずに実行すると、コマンドの一覧を表示します。 + +:: + + $ cd /path/to/fess-15.9.0 + $ bin/fess-setup [options] + +終了コード +========== + +.. list-table:: + :header-rows: 1 + :widths: 15 85 + + * - コード + - 意味 + * - ``0`` + - コマンドが成功しました。 + * - ``1`` + - コマンドが失敗しました。ダウンロードに失敗した、指定したバージョンが存在しない、このプラットフォーム向けの OpenSearch が配布されていない、 ``check`` が問題を検出した、などの場合です。 + * - ``2`` + - コマンドラインの誤りです。未知のコマンドを指定した、プラグイン名などの引数が不足している、などの場合です。 + +OpenSearch と Node.js の導入 +============================ + +install opensearch +------------------ + +:: + + $ bin/fess-setup install opensearch [--dest ] [--version ] + +この |Fess| が対応するバージョンの OpenSearch を |Fess| のディレクトリの ``opensearch/`` にダウンロードし、 |Fess| が必要とする 4 つのプラグイン( ``opensearch-analysis-fess`` 、 ``opensearch-analysis-extension`` 、 ``opensearch-minhash`` 、 ``opensearch-configsync`` )を導入したうえで、その ``config/opensearch.yml`` に次の設定を追記します。 + +- ``configsync.config_path`` (値はその OpenSearch の ``config/dictionary`` ディレクトリ) +- ``plugins.security.disabled: true`` + +``opensearch.yml`` にすでにある設定は追記しません。また、 ``plugins.security.*`` の設定が 1 つでもある場合は ``plugins.security.disabled: true`` を追記しません。OpenSearch のディレクトリがすでにある場合はダウンロードを省略するため、既存のインストールに対して再実行すると、足りない設定だけが追記されます。 + +コマンドは追記した設定を表示し、続けて ``bin/fess.in.sh`` がこの OpenSearch を自動で見つけられるかどうかを表示します。 |Fess| のディレクトリの ``opensearch/`` の下で ``config/dictionary`` ディレクトリを持つ OpenSearch がこれ 1 つだけであれば見つけられます。このとき ``bin/fess.in.sh`` (Windows では ``bin\fess.in.bat`` )が ``FESS_DICTIONARY_PATH`` をそのディレクトリに設定するため、同じホストで動かす OpenSearch であれば、ほかに設定は必要ありません。見つけられない場合は、設定すべき ``SEARCH_ENGINE_HTTP_URL`` と ``FESS_DICTIONARY_PATH`` の値を表示します。設定方法は :doc:`install-linux` または :doc:`install-windows` を参照してください。 + +.. list-table:: + :header-rows: 1 + :widths: 30 70 + + * - オプション + - 説明 + * - ``--dest `` + - OpenSearch の展開先を、 |Fess| のディレクトリの ``opensearch/`` の代わりに指定します。 ``bin/fess.in.sh`` は、このディレクトリの外にある OpenSearch を探しません。 + * - ``--version `` + - 導入する OpenSearch のバージョンです。プラグインも同じバージョンで導入されます。 + +OpenSearch の公式配布は Linux 向けと Windows 向けだけです。macOS などほかのプラットフォームでは、何もダウンロードせずに終了コード ``1`` で終了し、Homebrew で OpenSearch を導入して ``install opensearch-plugins`` でプラグインを入れる方法か、Docker を使う方法を案内します。 + +.. warning:: + + ``plugins.security.disabled: true`` を設定した OpenSearch は、認証なしでリクエストを受け付けます。OpenSearch は ``network.host`` を設定しない限りループバックアドレスでのみ待ち受けます。それ以外のアドレスで待ち受ける前に、代わりにセキュリティプラグインを設定してください。詳細は :doc:`security` を参照してください。 + +install opensearch-plugins +-------------------------- + +:: + + $ bin/fess-setup install opensearch-plugins --opensearch-home [--version ] + +すでにある OpenSearch に、 |Fess| が必要とする 4 つのプラグインを導入します。その OpenSearch の ``bin/opensearch-plugin install`` を 4 回実行する代わりに使えます。 ``--opensearch-home`` には OpenSearch のインストールディレクトリを指定します(必須)。 ``--version`` はプラグインのバージョンで、OpenSearch のバージョンと一致させる必要があります。 + +このコマンドは ``opensearch.yml`` を変更しません。 ``configsync.config_path`` などの設定は、 :doc:`install-linux` または :doc:`install-windows` に従って追加してください。 + +install nodejs +-------------- + +:: + + $ bin/fess-setup install nodejs [--dest ] [--version ] + +Playwright クローラが必要とする Node.js を、 |Fess| のディレクトリの ``nodejs/`` にダウンロードします。 ``bin/fess.in.sh`` (Windows では ``bin\fess.in.bat`` )がこれを見つけて ``PLAYWRIGHT_NODEJS_PATH`` を設定します。 ``--dest`` で |Fess| のディレクトリの外に展開した場合は、代わりに ``bin/fess.in.sh`` に追加する ``PLAYWRIGHT_NODEJS_PATH`` の行を表示します。 ``--version`` で別のバージョンの Node.js を指定できます。Playwright クローラについては :doc:`../config/crawler-advanced` を参照してください。 + +プラグインの管理 +================ + +以下のコマンドは、 |Fess| のプラグインディレクトリ ``app/WEB-INF/plugin`` を操作します。プラグインを導入、更新、削除した後は |Fess| を再起動してください。プラグインは管理画面の「システム > プラグイン」ページからも管理できます。 :doc:`../admin/plugin-guide` を参照してください。 + +``install plugin`` 、 ``list plugins`` 、 ``upgrade plugins`` には ``--repository `` を指定できます。指定すると、バージョンの一覧、jar、チェックサムをすべてその 1 つの Maven リポジトリ(社内のミラーなど)から取得し、既定のリリースリポジトリ、スナップショットリポジトリ、GitHub は使用しません。 + +install plugin +-------------- + +:: + + $ bin/fess-setup install plugin [:]... [--version ] [--repository ] + +``fess-script-groovy`` や ``fess-ds-git`` などの |Fess| プラグインを 1 つ以上導入します。バージョンを付けない名前には、この |Fess| 向けにビルドされた最新のバージョンが導入されます。 ``:`` でそのプラグインのバージョンを固定でき、 ``--version`` はバージョンを付けなかった名前すべてに使われます。新しいバージョンの導入が完了した後に、同じプラグインの以前のバージョンが削除されます。 + +jar はプラグインの GitHub リリースから取得し、リリースに該当するファイルがない場合は Maven リポジトリから取得します。いずれも Maven リポジトリが公開している SHA-1 チェックサムで検証します。 |Fess| の開発版では、同じ系列のスナップショットビルドも導入対象になり、そちらが優先されます。 + +使用例は :doc:`../admin/plugin-guide` を参照してください。 + +list plugins +------------ + +:: + + $ bin/fess-setup list plugins [--repository ] + +この |Fess| 向けに公開されているプラグインを一覧表示し、導入済みのものには ``(installed: )`` を付けます。導入済みでもリポジトリに公開されていないプラグイン(ローカルでビルドした jar など)は、別に一覧表示します。 |Fess| の開発版では、スナップショットリポジトリも参照します。 + +list installed +-------------- + +:: + + $ bin/fess-setup list installed + +導入済みのプラグインとそのバージョンを、リポジトリに問い合わせずに一覧表示します。 + +upgrade plugins +--------------- + +:: + + $ bin/fess-setup upgrade plugins [--repository ] + +導入済みのすべてのプラグインを、この |Fess| に合うバージョンで導入し直します。すでにそのバージョンになっているプラグインはそのままです。 ``app/WEB-INF/plugin`` のプラグインは特定の |Fess| のリリース向けにビルドされているため、 |Fess| をアップグレードした後に実行してください。 + +remove plugin +------------- + +:: + + $ bin/fess-setup remove plugin ... + +指定したプラグインの jar を削除します。導入されていない名前はその旨を表示するだけで、終了コードには影響しません。 + +インストール状態の確認 +====================== + +list +---- + +:: + + $ bin/fess-setup list + +``install`` でダウンロードするコンポーネント( ``opensearch`` と ``nodejs`` )を、それぞれのバージョンとともに表示します。 + +check +----- + +:: + + $ bin/fess-setup check [--url ] [--playwright] + +インストール状態を診断し、確認項目ごとに ``OK`` 、 ``WARN`` 、 ``FAIL`` のいずれかを付けて 1 行ずつ表示します。 + +- 検索エンジン: 接続できるか、バージョン(ノード間でバージョンが異なる場合は警告)、 |Fess| が必要とする 4 つのプラグインが導入されているか、 ``configsync`` が応答するか +- |Fess| : プラグインディレクトリが存在して書き込めるか、導入済みの各プラグイン(別の |Fess| のリリース向けのものは警告、2 つのバージョンが導入されているものは失敗)、 |Fess| のディレクトリの ``nodejs/`` に Node.js が導入されているか + +検索エンジンの URL は ``--url`` 、指定がなければ環境変数 ``SEARCH_ENGINE_HTTP_URL`` 、それもなければ ``http://localhost:9200`` です。 ``bin/fess-setup`` は ``bin/fess.in.sh`` を読まないため、OpenSearch がほかの場所にある場合は ``--url`` を指定してください。Node.js がないことは報告されるだけですが、 ``--playwright`` を指定すると失敗として扱われます。 + +失敗した項目がなければ、警告があっても終了コード ``0`` で終了します。失敗した項目があれば終了コード ``1`` で終了します。 diff --git a/ja/15.9/install/index.rst b/ja/15.9/install/index.rst index c185747d..7ef32777 100644 --- a/ja/15.9/install/index.rst +++ b/ja/15.9/install/index.rst @@ -15,6 +15,7 @@ Linux、Windows、Docker への |Fess| のインストールと起動の方法 install-linux install-windows install-docker + fess-setup run security upgrade diff --git a/ja/15.9/install/install-linux.rst b/ja/15.9/install/install-linux.rst index f7d301fe..72aad8c3 100644 --- a/ja/15.9/install/install-linux.rst +++ b/ja/15.9/install/install-linux.rst @@ -79,19 +79,34 @@ ZIP 版でのインストール ステップ 1: OpenSearch のインストール ------------------------------------- +.. important:: + + OpenSearch は ``root`` では起動できないため、一般ユーザーで導入して実行してください。以下の ``bin/fess-setup`` も同じユーザーで実行し、展開されるファイルの所有者をそのユーザーにしてください。 ``root`` での起動がすでに拒否された場合は、 :doc:`run` を参照してください。 + .. tip:: - |Fess| に同梱の ``bin/fess-setup`` で、以下の手順をまとめて実行できます。 - OpenSearch の取得と展開、必要なプラグインの導入、 ``configsync`` の設定までを行います。 + |Fess| に同梱の ``bin/fess-setup`` で、以下の手順 1〜3 をまとめて実行できます。OpenSearch を |Fess| のディレクトリの ``opensearch/`` に取得・展開し、必要なプラグインを導入したうえで、その ``config/opensearch.yml`` に ``configsync.config_path`` と ``plugins.security.disabled: true`` を追加します。先にステップ 2 のとおり |Fess| の ZIP を展開しておいてください。 :: $ cd /path/to/fess-15.9.0 $ bin/fess-setup install opensearch + この方法で導入した OpenSearch は ``bin/fess.in.sh`` が見つけて ``FESS_DICTIONARY_PATH`` を自動で設定するため、OpenSearch を同じホストで動かす限り、ステップ 2 の「Fess の設定」で変更は必要ありません。コマンドは、追加した設定と、 ``bin/fess.in.sh`` がこのインストールを見つけられるかどうかを表示します。OpenSearch を ``localhost`` 以外のアドレスで待ち受けさせる前に、手順 3 の警告を確認してください。 + 手順を個別に確認したい場合や、既存の OpenSearch を使う場合は、以下に従ってください。 既存の OpenSearch にプラグインだけを入れる場合は - ``bin/fess-setup install plugins --opensearch-home /path/to/opensearch`` を使用します。 + ``bin/fess-setup install opensearch-plugins --opensearch-home /path/to/opensearch`` を使用します。 + すべてのコマンドについては :doc:`fess-setup` を参照してください。 + +.. note:: + + OpenSearch には macOS 向けの公式配布がないため、macOS では ``bin/fess-setup install opensearch`` はエラーで終了します。Homebrew で OpenSearch を導入して ``bin/fess-setup install opensearch-plugins`` でプラグインを入れるか、代わりに :doc:`install-docker` を使用してください:: + + $ brew install opensearch + $ bin/fess-setup install opensearch-plugins --opensearch-home $(brew --prefix opensearch) + + そのうえで、手順 3 のとおりに OpenSearch を設定し、ステップ 2 の「Fess の設定」のとおりに ``FESS_DICTIONARY_PATH`` を設定してください。 1. OpenSearch のダウンロード @@ -176,32 +191,36 @@ ZIP 版でのインストール 2. Fess の設定 - ``bin/fess.in.sh`` を編集し、OpenSearch への接続情報を設定します。 - このファイルには、外部 OpenSearch クラスターへ接続するための設定が、あらかじめコメントアウトされた状態で用意されています。 + OpenSearch への接続情報は ``bin/fess.in.sh`` にあります。 ``bin/fess-setup install opensearch`` で |Fess| のディレクトリの ``opensearch/`` に導入し、同じホストで動かしている OpenSearch であれば、このファイルを変更する必要はありません。 ``SEARCH_ENGINE_HTTP_URL`` の既定値は ``http://localhost:9200`` で、 ``FESS_DICTIONARY_PATH`` にはその OpenSearch の ``config/dictionary`` ディレクトリが設定されます。 + + 次のいずれかに当てはまる場合は、 ``bin/fess.in.sh`` を編集します。 + + - OpenSearch を上記の手順 1〜3 や Homebrew など別の方法で導入した場合、または ``--dest`` で |Fess| のディレクトリの外に導入した場合 + - |Fess| のディレクトリの ``opensearch/`` に、 ``bin/fess-setup`` で導入した OpenSearch が 2 つ以上ある場合(2 つのバージョンなど)。 ``bin/fess.in.sh`` はどれを使うか判断できないため、警告を表示して ``FESS_DICTIONARY_PATH`` を設定しません + - OpenSearch を別のホストやポートで実行している場合 :: $ vi bin/fess.in.sh - ファイルの先頭付近にある以下の 2 行のコメント(先頭の ``#``)を解除します。 + ファイルの先頭付近にある ``FESS_DICTIONARY_PATH`` の行のコメント(先頭の ``#``)を解除してパスを設定し、必要に応じて ``SEARCH_ENGINE_HTTP_URL`` の行の URL を変更します。 - 変更前(既定の状態):: + 変更前(既定の状態、コメント行は省略):: - # External opensearch cluster - #SEARCH_ENGINE_HTTP_URL=http://localhost:9200 + SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://localhost:9200} #FESS_DICTIONARY_PATH=/var/lib/opensearch/config/ 変更後:: - # External opensearch cluster - SEARCH_ENGINE_HTTP_URL=http://localhost:9200 + SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://localhost:9200} FESS_DICTIONARY_PATH=/path/to/opensearch-3.8.0/data/config/ .. note:: - - ``FESS_DICTIONARY_PATH`` には、OpenSearch の ``opensearch.yml`` で指定した ``configsync.config_path`` と同じパスを設定してください。 - - OpenSearch を別のホストで実行している場合は、``SEARCH_ENGINE_HTTP_URL`` を適切なホスト名または IP アドレスに変更してください。例: ``SEARCH_ENGINE_HTTP_URL=http://192.168.1.100:9200`` - - 新たに ``SEARCH_ENGINE_HTTP_URL=...`` の行を追加するのではなく、既存のコメント行を解除して編集してください。 + - ``FESS_DICTIONARY_PATH`` には、OpenSearch の ``opensearch.yml`` で指定した ``configsync.config_path`` と同じパスを設定してください。設定しないと、 |Fess| はインデックスを作成できず、起動しません。 + - OpenSearch を別のホストで実行している場合は、 ``SEARCH_ENGINE_HTTP_URL`` の行の URL をそのホストに変更してください。例: ``SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://192.168.1.100:9200}`` 。このとき ``FESS_DICTIONARY_PATH`` には、そのサーバーの ``configsync.config_path`` を設定します。 + - ファイルを編集する代わりに、 |Fess| を起動する環境で両方の変数を export することもできます。export した ``SEARCH_ENGINE_HTTP_URL`` はファイルの URL より優先され、export した ``FESS_DICTIONARY_PATH`` はファイルの行がコメントのままであれば使用されます。 + - 新たに ``SEARCH_ENGINE_HTTP_URL=...`` の行を追加するのではなく、既存の行を編集してください。 .. tip:: @@ -214,6 +233,8 @@ ZIP 版でのインストール $ grep "SEARCH_ENGINE_HTTP_URL" bin/fess.in.sh $ grep "FESS_DICTIONARY_PATH" bin/fess.in.sh + OpenSearch の起動後は、 ``bin/fess-setup check`` で、OpenSearch に接続できるか、 |Fess| が必要とするプラグインが導入されているか、 ``configsync`` が応答するかを確認できます。失敗した項目がなければ終了コード ``0`` で終了します。OpenSearch が ``http://localhost:9200`` にない場合は ``--url`` を指定してください。 + ステップ 3: 起動 ---------------- diff --git a/ja/15.9/install/install-windows.rst b/ja/15.9/install/install-windows.rst index 180e64c7..e77ce508 100644 --- a/ja/15.9/install/install-windows.rst +++ b/ja/15.9/install/install-windows.rst @@ -62,15 +62,19 @@ Java 21 以降が表示されることを確認してください。 .. tip:: - |Fess| に同梱の ``bin\fess-setup`` で、以下の手順をまとめて実行できます。 - OpenSearch の取得と展開、必要なプラグインの導入、 ``configsync`` の設定までを行います。 + |Fess| に同梱の ``bin\fess-setup`` で、以下の手順をまとめて実行できます。OpenSearch を |Fess| のディレクトリの ``opensearch\`` に取得・展開し、必要なプラグインを導入したうえで、その ``config\opensearch.yml`` に ``configsync.config_path`` と ``plugins.security.disabled: true`` を追加します。先にステップ 2 のとおり |Fess| の ZIP を展開しておいてください。 :: > cd C:\fess-15.9.0 > bin\fess-setup install opensearch + この方法で導入した OpenSearch は ``bin\fess.in.bat`` が見つけ、その ``config\dictionary`` ディレクトリを |Fess| に渡すため、OpenSearch を同じホストで動かす限り、ステップ 2 の「Fess の設定」で変更は必要ありません。コマンドは、追加した設定と、 ``bin\fess.in.bat`` がこのインストールを見つけられるかどうかを表示します。OpenSearch を ``localhost`` 以外のアドレスで待ち受けさせる前に、「OpenSearch の設定」の警告を確認してください。 + 手順を個別に確認したい場合や、既存の OpenSearch を使う場合は、以下に従ってください。 + 既存の OpenSearch にプラグインだけを入れる場合は + ``bin\fess-setup install opensearch-plugins --opensearch-home C:\opensearch-3.8.0`` を使用します。 + すべてのコマンドについては :doc:`fess-setup` を参照してください。 OpenSearch のダウンロード ----------------------- @@ -166,6 +170,8 @@ Fess のダウンロード Fess の設定 ---------- +``bin\fess-setup install opensearch`` で |Fess| のディレクトリの ``opensearch\`` に導入し、同じホストで動かしている OpenSearch であれば、ここでの設定は必要ありません。上記の手順で OpenSearch を導入した場合、OpenSearch を別のホストで実行している場合、 ``opensearch\`` に ``bin\fess-setup`` で導入した OpenSearch が 2 つ以上ある場合などは、以下のとおり接続先を設定します。 + ``bin\fess.in.bat`` をテキストエディタで開きます。 このファイルの末尾付近には、外部 OpenSearch クラスターへ接続するための設定が、あらかじめコメントアウトされた状態で用意されています。 @@ -173,7 +179,7 @@ Fess の設定 REM External opensearch cluster REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.search_engine.http_address=http://localhost:9200 - REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=%SEARCH_ENGINE_HOME%/config/ + REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=C:/opensearch/config/dictionary 下 2 行の先頭にある ``REM `` を削除してコメントを解除し、``fess.dictionary.path`` の値を OpenSearch の設定同期用パスに変更します。 @@ -187,7 +193,7 @@ Fess の設定 - ``fess.dictionary.path`` には、OpenSearch の ``opensearch.yml`` で指定した ``configsync.config_path`` と同じパスを設定してください。 - OpenSearch を別のホストで実行している場合は、``fess.search_engine.http_address`` のホスト名または IP アドレスを適切な値に変更してください。 - - パスの区切り文字は ``/`` を使用してください。 + - パスの区切り文字は ``/`` を使用してください。 |Fess| はこのパスをインデックスの設定に埋め込み、その際に ``\`` が失われるため、 ``\`` で書いたパスは見つかりません。 - 新たに ``set FESS_JAVA_OPTS=...`` の行を追加するのではなく、既存のコメント行を解除して編集してください。同じオプションを重複して指定すると、意図しない動作の原因となる場合があります。 .. tip:: diff --git a/ja/15.9/install/install.rst b/ja/15.9/install/install.rst index 4d77d2c1..87d72b3f 100644 --- a/ja/15.9/install/install.rst +++ b/ja/15.9/install/install.rst @@ -170,7 +170,7 @@ OpenSearch OpenSearch のバージョンとプラグインのバージョンは一致させる必要があります。 バージョンの不一致は、起動エラーや予期しない動作の原因となります。 -``bin/fess-setup install opensearch`` は、これらのプラグインを含めて OpenSearch を用意します。詳細は :doc:`install-linux` を参照してください。 +``bin/fess-setup install opensearch`` は、Linux と Windows で、これらのプラグインを含めて OpenSearch を用意します。詳細は、OpenSearch を別の方法で導入する必要がある macOS の場合も含めて :doc:`install-linux` を、すべてのコマンドについては :doc:`fess-setup` を参照してください。 Java (Docker 版以外) ------------------- diff --git a/ja/15.9/install/run.rst b/ja/15.9/install/run.rst index 606652a3..ac1c18f5 100644 --- a/ja/15.9/install/run.rst +++ b/ja/15.9/install/run.rst @@ -29,6 +29,16 @@ OpenSearch の起動 $ ./bin/opensearch -d +.. note:: + + ``bin/fess-setup install opensearch`` で導入した OpenSearch は、 |Fess| のディレクトリの ``opensearch/opensearch-3.8.0`` にあります。 + +.. important:: + + OpenSearch は一般ユーザーで起動してください。 ``root`` で起動すると ``can not run opensearch as root`` と表示して終了します。拒否された起動でも ``config/opensearch.keystore`` などのファイルが ``root`` の所有で残り、次に一般ユーザーで起動すると ``AccessDeniedException`` で失敗します。再度起動する前に、OpenSearch のディレクトリの所有者をそのユーザーに戻してください。例:: + + $ sudo chown -R /path/to/opensearch-3.8.0 + Fess の起動 ~~~~~~~~~~ diff --git a/ja/15.9/install/troubleshooting.rst b/ja/15.9/install/troubleshooting.rst index e684f33c..0a11ae40 100644 --- a/ja/15.9/install/troubleshooting.rst +++ b/ja/15.9/install/troubleshooting.rst @@ -99,6 +99,12 @@ Fess の起動コマンドを実行してもエラーが発生する、または 正常な場合、JSON レスポンスが返されます。 + OpenSearch が応答しない場合、 |Fess| は 1 分ほど再試行した後に起動を中止し、コンソールと ``logs/fess.log`` に次のメッセージを出力します:: + + The search engine at http://localhost:9200 did not become available within 60221ms. Check that OpenSearch is running and reachable. If there is none yet, run bin/fess-setup install opensearch to set one up. + + OpenSearch を起動するか、 ``SEARCH_ENGINE_HTTP_URL`` を確認してください。新しく導入した ZIP 版には、 ``bin/fess-setup install opensearch`` で導入するまで OpenSearch がありません。 :doc:`install-linux` を参照してください。 + 2. **ポート番号の競合を確認**:: $ sudo netstat -tuln | grep 8080 diff --git a/ja/15.9/install/upgrade.rst b/ja/15.9/install/upgrade.rst index 45d7aa6d..494b6f4c 100644 --- a/ja/15.9/install/upgrade.rst +++ b/ja/15.9/install/upgrade.rst @@ -475,6 +475,8 @@ JVM 内で OpenSearch ノードを起動していました。15.9 ではこの で導入できます(Linux と Windows のみ。macOS には OpenSearch の公式配布がないため、Homebrew か Docker を使用してください)。 +また、 ``FESS_DICTIONARY_PATH`` をその OpenSearch の ``opensearch.yml`` にある ``configsync.config_path`` と一致させる必要があります。設定されていないか一致していないと、 |Fess| はインデックスを作成できません。15.9 の ``bin/fess.in.sh`` (Windows では ``bin\fess.in.bat`` )は、 |Fess| のディレクトリの ``opensearch/`` に ``bin/fess-setup install opensearch`` で導入した OpenSearch が 1 つだけある場合に、これを自動で設定します。それ以外の OpenSearch を使う場合は、 :doc:`install-linux` または :doc:`install-windows` のとおりに設定してください。 + あわせて次が廃止されました。 - ``es/`` ディレクトリ( ``es/modules`` 、 ``es/plugins`` 、 ``es/data`` ) diff --git a/ko/15.9/admin/fileconfig-guide.rst b/ko/15.9/admin/fileconfig-guide.rst index 118543b8..394d3535 100644 --- a/ko/15.9/admin/fileconfig-guide.rst +++ b/ko/15.9/admin/fileconfig-guide.rst @@ -18,6 +18,11 @@ - ``s3://`` … Amazon S3 버킷( ``fess-storage-s3`` 플러그인 필요) - ``gcs://`` … Google Cloud Storage 버킷( ``fess-storage-gcs`` 플러그인 필요) +.. note:: + ``fess-storage-s3`` 플러그인과 ``fess-storage-gcs`` 플러그인은 배포물에 포함되어 있지 않으므로 + 관리 화면의 「시스템 > 플러그인」 페이지 또는 ``bin/fess-setup install plugin fess-storage-s3`` , + ``bin/fess-setup install plugin fess-storage-gcs`` 로 설치하십시오. + 관리 방법 ====== diff --git a/ko/15.9/admin/plugin-guide.rst b/ko/15.9/admin/plugin-guide.rst index 16605838..bc306412 100644 --- a/ko/15.9/admin/plugin-guide.rst +++ b/ko/15.9/admin/plugin-guide.rst @@ -51,5 +51,7 @@ 새 버전의 설치가 완료된 후에 같은 플러그인의 이전 버전이 삭제됩니다. 존재하지 않는 버전을 지정하면 종료 코드 1로 종료되므로, Dockerfile 등의 빌드 단계에 포함하더라도 플러그인이 빠진 채로 진행되지 않습니다. +``bin/fess-setup list plugins`` 는 이 |Fess| 용으로 공개된 플러그인과 설치 여부를, ``list installed`` 는 저장소에 조회하지 않고 설치된 플러그인을 표시합니다. ``upgrade plugins`` 는 설치된 모든 플러그인을 이 |Fess| 에 맞는 버전으로 다시 설치하고, ``remove plugin`` 은 플러그인을 삭제합니다. 플러그인을 설치, 업그레이드, 삭제한 후에는 |Fess| 를 재시작하십시오. 모든 명령과 옵션은 :doc:`../install/fess-setup` 을 참조하십시오. + .. |image0| image:: ../../../resources/images/en/15.9/admin/plugin-1.png .. |image1| image:: ../../../resources/images/en/15.9/admin/plugin-2.png diff --git a/ko/15.9/admin/storage-guide.rst b/ko/15.9/admin/storage-guide.rst index f5733e00..ce1e6780 100644 --- a/ko/15.9/admin/storage-guide.rst +++ b/ko/15.9/admin/storage-guide.rst @@ -25,6 +25,11 @@ 포함되어 있지 않으므로 관리 화면의 「시스템 > 플러그인」 페이지 또는 ``bin/fess-setup install plugin fess-storage-s3`` 로 설치하십시오. +.. note:: + Google Cloud Storage 지원은 ``fess-storage-gcs`` 플러그인에서 제공됩니다. 배포물에 + 포함되어 있지 않으므로 관리 화면의 「시스템 > 플러그인」 페이지 또는 + ``bin/fess-setup install plugin fess-storage-gcs`` 로 설치하십시오. + 표시 방법 ------ diff --git a/ko/15.9/install/fess-setup.rst b/ko/15.9/install/fess-setup.rst new file mode 100644 index 00000000..d6990668 --- /dev/null +++ b/ko/15.9/install/fess-setup.rst @@ -0,0 +1,168 @@ +==================== +fess-setup 명령 +==================== + +``bin/fess-setup`` (Windows 에서는 ``bin\fess-setup.bat`` )은 |Fess| 의 ZIP 패키지에 포함되어 있습니다. |Fess| 에 필요하지만 배포물에 포함되지 않은 것, 즉 |Fess| 가 필요로 하는 플러그인을 넣은 OpenSearch, Playwright 크롤러가 사용하는 Node.js, |Fess| 플러그인을 설치합니다. 설치 상태를 진단할 수도 있습니다. + +|Fess| 디렉터리에서 실행합니다. 인수 없이 실행하면 명령 목록을 표시합니다. + +:: + + $ cd /path/to/fess-15.9.0 + $ bin/fess-setup [options] + +종료 코드 +========== + +.. list-table:: + :header-rows: 1 + :widths: 15 85 + + * - 코드 + - 의미 + * - ``0`` + - 명령이 성공했습니다. + * - ``1`` + - 명령이 실패했습니다. 예를 들어 다운로드에 실패한 경우, 지정한 버전이 존재하지 않는 경우, 이 플랫폼용 OpenSearch 배포판이 없는 경우, ``check`` 가 문제를 발견한 경우입니다. + * - ``2`` + - 명령줄이 잘못되었습니다. 알 수 없는 명령을 지정했거나 플러그인 이름 등의 인수가 부족한 경우입니다. + +OpenSearch 와 Node.js 설치 +============================ + +install opensearch +------------------ + +:: + + $ bin/fess-setup install opensearch [--dest ] [--version ] + +이 |Fess| 가 지원하는 버전의 OpenSearch 를 |Fess| 디렉터리의 ``opensearch/`` 에 다운로드하고, |Fess| 가 필요로 하는 4개의 플러그인( ``opensearch-analysis-fess`` , ``opensearch-analysis-extension`` , ``opensearch-minhash`` , ``opensearch-configsync`` )을 설치한 다음, 해당 OpenSearch 의 ``config/opensearch.yml`` 에 다음 설정을 추가합니다. + +- ``configsync.config_path`` (값은 해당 OpenSearch 의 ``config/dictionary`` 디렉터리) +- ``plugins.security.disabled: true`` + +``opensearch.yml`` 에 이미 있는 설정은 다시 추가하지 않으며, ``plugins.security.*`` 설정이 하나라도 있으면 ``plugins.security.disabled: true`` 를 추가하지 않습니다. OpenSearch 디렉터리가 이미 있으면 다운로드를 건너뛰므로, 기존 설치에 대해 다시 실행하면 부족한 설정만 추가됩니다. + +명령은 추가한 설정을 표시한 다음, ``bin/fess.in.sh`` 가 이 OpenSearch 를 자동으로 찾을 수 있는지 표시합니다. |Fess| 디렉터리의 ``opensearch/`` 아래에서 ``config/dictionary`` 디렉터리를 가진 OpenSearch 가 이것 하나뿐이면 찾을 수 있습니다. 이때 ``bin/fess.in.sh`` (Windows 에서는 ``bin\fess.in.bat`` )가 ``FESS_DICTIONARY_PATH`` 를 그 디렉터리로 설정하므로, 같은 호스트에서 실행하는 OpenSearch 라면 그 밖의 설정은 필요하지 않습니다. 찾을 수 없으면 설정해야 할 ``SEARCH_ENGINE_HTTP_URL`` 과 ``FESS_DICTIONARY_PATH`` 값을 표시합니다. 설정 방법은 :doc:`install-linux` 또는 :doc:`install-windows` 를 참조하십시오. + +.. list-table:: + :header-rows: 1 + :widths: 30 70 + + * - 옵션 + - 설명 + * - ``--dest `` + - OpenSearch 를 압축 해제할 디렉터리를 |Fess| 디렉터리의 ``opensearch/`` 대신 지정합니다. ``bin/fess.in.sh`` 는 이 디렉터리 밖에 있는 OpenSearch 를 찾지 않습니다. + * - ``--version `` + - 설치할 OpenSearch 버전입니다. 플러그인도 같은 버전으로 설치됩니다. + +OpenSearch 공식 배포판은 Linux 용과 Windows 용뿐입니다. macOS 등 그 밖의 플랫폼에서는 아무것도 다운로드하지 않고 종료 코드 ``1`` 로 종료하며, Homebrew 로 OpenSearch 를 설치하고 ``install opensearch-plugins`` 로 플러그인을 넣는 방법 또는 Docker 를 사용하는 방법을 안내합니다. + +.. warning:: + + ``plugins.security.disabled: true`` 를 설정한 OpenSearch 는 인증 없이 요청을 받아들입니다. OpenSearch 는 ``network.host`` 를 설정하지 않는 한 루프백 주소에서만 수신 대기합니다. 그 밖의 주소에서 수신 대기하기 전에 대신 보안 플러그인을 설정하십시오. 자세한 내용은 :doc:`security` 를 참조하십시오. + +install opensearch-plugins +-------------------------- + +:: + + $ bin/fess-setup install opensearch-plugins --opensearch-home [--version ] + +이미 있는 OpenSearch 에 |Fess| 가 필요로 하는 4개의 플러그인을 설치합니다. 해당 OpenSearch 의 ``bin/opensearch-plugin install`` 을 4번 실행하는 대신 사용할 수 있습니다. ``--opensearch-home`` 에는 OpenSearch 설치 디렉터리를 지정합니다(필수). ``--version`` 은 플러그인 버전이며, OpenSearch 버전과 일치시켜야 합니다. + +이 명령은 ``opensearch.yml`` 을 변경하지 않습니다. ``configsync.config_path`` 등의 설정은 :doc:`install-linux` 또는 :doc:`install-windows` 에 따라 직접 추가하십시오. + +install nodejs +-------------- + +:: + + $ bin/fess-setup install nodejs [--dest ] [--version ] + +Playwright 크롤러가 필요로 하는 Node.js 를 |Fess| 디렉터리의 ``nodejs/`` 에 다운로드합니다. ``bin/fess.in.sh`` (Windows 에서는 ``bin\fess.in.bat`` )가 이를 찾아 ``PLAYWRIGHT_NODEJS_PATH`` 를 설정합니다. ``--dest`` 로 |Fess| 디렉터리 밖에 압축 해제한 경우에는 대신 ``bin/fess.in.sh`` 에 추가할 ``PLAYWRIGHT_NODEJS_PATH`` 줄을 표시합니다. ``--version`` 으로 다른 버전의 Node.js 를 지정할 수 있습니다. Playwright 크롤러에 대해서는 :doc:`../config/crawler-advanced` 를 참조하십시오. + +플러그인 관리 +================ + +다음 명령은 |Fess| 설치의 플러그인 디렉터리 ``app/WEB-INF/plugin`` 을 대상으로 합니다. 플러그인을 설치, 업그레이드, 삭제한 후에는 |Fess| 를 재시작하십시오. 플러그인은 관리 화면의 「시스템 > 플러그인」 페이지에서도 관리할 수 있습니다. :doc:`../admin/plugin-guide` 를 참조하십시오. + +``install plugin`` , ``list plugins`` , ``upgrade plugins`` 에는 ``--repository `` 을 지정할 수 있습니다. 지정하면 버전 목록, jar, 체크섬을 모두 그 하나의 Maven 저장소(사내 미러 등)에서 가져오며, 기본 릴리스 저장소, 스냅숏 저장소, GitHub 은 사용하지 않습니다. + +install plugin +-------------- + +:: + + $ bin/fess-setup install plugin [:]... [--version ] [--repository ] + +``fess-script-groovy`` 나 ``fess-ds-git`` 등 |Fess| 플러그인을 하나 이상 설치합니다. 버전을 붙이지 않은 이름에는 이 |Fess| 용으로 빌드된 최신 버전이 설치됩니다. ``:`` 으로 해당 플러그인의 버전을 고정할 수 있으며, ``--version`` 은 자체 버전이 없는 모든 이름에 사용됩니다. 새 버전의 설치가 완료된 후에 같은 플러그인의 이전 버전이 삭제됩니다. + +jar 는 플러그인의 GitHub 릴리스에서 가져오며, 릴리스에 해당 파일이 없으면 Maven 저장소에서 가져옵니다. 어느 경우든 Maven 저장소가 공개하는 SHA-1 체크섬으로 검증합니다. |Fess| 의 개발 빌드에서는 같은 계열의 스냅숏 빌드도 설치 대상이 되며, 스냅숏이 우선됩니다. + +사용 예는 :doc:`../admin/plugin-guide` 를 참조하십시오. + +list plugins +------------ + +:: + + $ bin/fess-setup list plugins [--repository ] + +이 |Fess| 용으로 공개된 플러그인 목록을 표시하고, 설치된 플러그인에는 ``(installed: )`` 을 붙입니다. 설치되어 있지만 저장소에 공개되지 않은 플러그인(로컬에서 빌드한 jar 등)은 따로 표시합니다. |Fess| 의 개발 빌드에서는 스냅숏 저장소도 참조합니다. + +list installed +-------------- + +:: + + $ bin/fess-setup list installed + +설치된 플러그인과 그 버전을 저장소에 조회하지 않고 표시합니다. + +upgrade plugins +--------------- + +:: + + $ bin/fess-setup upgrade plugins [--repository ] + +설치된 모든 플러그인을 이 |Fess| 에 맞는 버전으로 다시 설치합니다. 이미 그 버전인 플러그인은 그대로 둡니다. ``app/WEB-INF/plugin`` 의 플러그인은 특정 |Fess| 릴리스용으로 빌드되므로, |Fess| 를 업그레이드한 후에 이 명령을 실행하십시오. + +remove plugin +------------- + +:: + + $ bin/fess-setup remove plugin ... + +지정한 플러그인의 설치된 jar 를 삭제합니다. 설치되지 않은 이름은 그 사실을 표시할 뿐이며, 종료 코드에는 영향을 주지 않습니다. + +설치 상태 확인 +================ + +list +---- + +:: + + $ bin/fess-setup list + +``install`` 이 다운로드하는 구성 요소( ``opensearch`` 와 ``nodejs`` )를 각각의 버전과 함께 표시합니다. + +check +----- + +:: + + $ bin/fess-setup check [--url ] [--playwright] + +설치 상태를 진단하고, 확인 항목마다 ``OK`` , ``WARN`` , ``FAIL`` 중 하나를 붙여 한 줄씩 표시합니다. + +- 검색 엔진: 접속할 수 있는지, 버전(노드 간에 버전이 다르면 경고), |Fess| 가 필요로 하는 4개의 플러그인이 설치되어 있는지, ``configsync`` 가 응답하는지 +- |Fess| : 플러그인 디렉터리가 존재하고 쓰기 가능한지, 설치된 각 플러그인(다른 |Fess| 릴리스용이면 경고, 두 버전이 설치되어 있으면 실패), |Fess| 디렉터리의 ``nodejs/`` 에 Node.js 가 설치되어 있는지 + +검색 엔진 URL 은 ``--url`` , 지정하지 않으면 환경 변수 ``SEARCH_ENGINE_HTTP_URL`` , 그것도 없으면 ``http://localhost:9200`` 입니다. ``bin/fess-setup`` 은 ``bin/fess.in.sh`` 를 읽지 않으므로, OpenSearch 가 다른 곳에 있으면 ``--url`` 을 지정하십시오. Node.js 가 없는 것은 보고만 되지만, ``--playwright`` 를 지정하면 실패로 처리됩니다. + +실패한 항목이 없으면 경고가 있더라도 종료 코드 ``0`` 으로 종료하고, 실패한 항목이 있으면 종료 코드 ``1`` 로 종료합니다. diff --git a/ko/15.9/install/index.rst b/ko/15.9/install/index.rst index 7642d0d3..e9a6e13f 100644 --- a/ko/15.9/install/index.rst +++ b/ko/15.9/install/index.rst @@ -14,6 +14,7 @@ Linux, Windows, Docker에 |Fess|\ 를 설치하고 실행하는 방법을 동작 install-linux install-windows install-docker + fess-setup run security upgrade diff --git a/ko/15.9/install/install-linux.rst b/ko/15.9/install/install-linux.rst index 5ac03a53..319a3f30 100644 --- a/ko/15.9/install/install-linux.rst +++ b/ko/15.9/install/install-linux.rst @@ -79,19 +79,34 @@ ZIP 버전 설치 단계 1: OpenSearch 설치 ----------------------- +.. important:: + + OpenSearch 는 ``root`` 로는 시작되지 않으므로 일반 사용자로 설치하고 실행하십시오. 아래의 ``bin/fess-setup`` 도 같은 사용자로 실행하여, 압축 해제되는 파일의 소유자가 그 사용자가 되도록 하십시오. ``root`` 로 시작하려다 이미 거부된 경우에는 :doc:`run` 을 참조하십시오. + .. tip:: - |Fess| 에 포함된 ``bin/fess-setup`` 으로 아래 절차를 한 번에 실행할 수 있습니다. - OpenSearch 다운로드와 압축 해제, 필요한 플러그인 설치, ``configsync`` 설정까지 수행합니다. + |Fess| 에 포함된 ``bin/fess-setup`` 으로 아래 절차 1~3을 한 번에 실행할 수 있습니다. OpenSearch 를 |Fess| 디렉터리의 ``opensearch/`` 에 다운로드하여 압축 해제하고, 필요한 플러그인을 설치한 다음, 해당 ``config/opensearch.yml`` 에 ``configsync.config_path`` 와 ``plugins.security.disabled: true`` 를 추가합니다. 먼저 단계 2 에 설명된 대로 |Fess| 의 ZIP 을 압축 해제해 두십시오. :: $ cd /path/to/fess-15.9.0 $ bin/fess-setup install opensearch + 이 방법으로 설치한 OpenSearch 는 ``bin/fess.in.sh`` 가 찾아서 ``FESS_DICTIONARY_PATH`` 를 자동으로 설정하므로, OpenSearch 를 같은 호스트에서 실행하는 한 단계 2 의 「Fess 설정」은 변경할 필요가 없습니다. 명령은 추가한 설정과, ``bin/fess.in.sh`` 가 이 설치를 찾을 수 있는지를 표시합니다. OpenSearch 가 ``localhost`` 이외의 주소에서 수신 대기하기 전에 절차 3의 경고를 확인하십시오. + 절차를 하나씩 확인하려는 경우나 기존 OpenSearch 를 사용하는 경우에는 아래를 따르십시오. 기존 OpenSearch 에 플러그인만 설치하려면 - ``bin/fess-setup install plugins --opensearch-home /path/to/opensearch`` 를 사용합니다. + ``bin/fess-setup install opensearch-plugins --opensearch-home /path/to/opensearch`` 를 사용합니다. + 모든 명령에 대해서는 :doc:`fess-setup` 을 참조하십시오. + +.. note:: + + OpenSearch 는 macOS 용 공식 배포판이 없으므로, macOS 에서는 ``bin/fess-setup install opensearch`` 가 오류로 종료됩니다. Homebrew 로 OpenSearch 를 설치하고 ``bin/fess-setup install opensearch-plugins`` 로 플러그인을 넣거나, 대신 :doc:`install-docker` 를 사용하십시오:: + + $ brew install opensearch + $ bin/fess-setup install opensearch-plugins --opensearch-home $(brew --prefix opensearch) + + 그런 다음 절차 3과 같이 OpenSearch 를 설정하고, 단계 2 의 「Fess 설정」에 따라 ``FESS_DICTIONARY_PATH`` 를 설정하십시오. 1. OpenSearch 다운로드 @@ -176,32 +191,36 @@ ZIP 버전 설치 2. Fess 설정 - ``bin/fess.in.sh`` 를 편집하여 OpenSearch 연결 정보를 설정합니다. - 이 파일에는 외부 OpenSearch 클러스터에 연결하기 위한 설정이 미리 주석 처리된 상태로 준비되어 있습니다. + OpenSearch 연결 정보는 ``bin/fess.in.sh`` 에 있습니다. ``bin/fess-setup install opensearch`` 로 |Fess| 디렉터리의 ``opensearch/`` 에 설치하고 같은 호스트에서 실행하는 OpenSearch 라면 이 파일을 변경할 필요가 없습니다. ``SEARCH_ENGINE_HTTP_URL`` 의 기본값은 ``http://localhost:9200`` 이며, ``FESS_DICTIONARY_PATH`` 에는 해당 OpenSearch 의 ``config/dictionary`` 디렉터리가 설정됩니다. + + 다음 중 하나에 해당하는 경우에는 ``bin/fess.in.sh`` 를 편집합니다. + + - OpenSearch 를 위의 절차 1~3이나 Homebrew 등 다른 방법으로 설치한 경우, 또는 ``--dest`` 로 |Fess| 디렉터리 밖에 설치한 경우 + - |Fess| 디렉터리의 ``opensearch/`` 에 ``bin/fess-setup`` 으로 설치한 OpenSearch 가 두 개 이상 있는 경우(예: 두 버전). ``bin/fess.in.sh`` 는 어느 것을 사용하는지 판단할 수 없으므로 경고를 표시하고 ``FESS_DICTIONARY_PATH`` 를 설정하지 않습니다 + - OpenSearch 를 다른 호스트나 포트에서 실행하는 경우 :: $ vi bin/fess.in.sh - 파일 앞부분에 있는 다음 두 줄의 주석(``#``)을 해제합니다. + 파일 앞부분에 있는 ``FESS_DICTIONARY_PATH`` 줄의 주석(``#``)을 해제하여 경로를 설정하고, 필요에 따라 ``SEARCH_ENGINE_HTTP_URL`` 줄의 URL 을 변경합니다. - 변경 전(기본 상태):: + 변경 전(기본 상태, 주석 줄은 생략):: - # External opensearch cluster - #SEARCH_ENGINE_HTTP_URL=http://localhost:9200 + SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://localhost:9200} #FESS_DICTIONARY_PATH=/var/lib/opensearch/config/ 변경 후:: - # External opensearch cluster - SEARCH_ENGINE_HTTP_URL=http://localhost:9200 + SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://localhost:9200} FESS_DICTIONARY_PATH=/path/to/opensearch-3.8.0/data/config/ .. note:: - - ``FESS_DICTIONARY_PATH`` 에는 OpenSearch의 ``opensearch.yml`` 에서 지정한 ``configsync.config_path`` 와 동일한 경로를 설정하십시오. - - OpenSearch를 다른 호스트에서 실행하는 경우 ``SEARCH_ENGINE_HTTP_URL`` 을 적절한 호스트 이름 또는 IP 주소로 변경하십시오. 예: ``SEARCH_ENGINE_HTTP_URL=http://192.168.1.100:9200`` - - 새로 ``SEARCH_ENGINE_HTTP_URL=...`` 줄을 추가하지 말고, 기존 주석 줄의 주석을 해제하여 편집하십시오. + - ``FESS_DICTIONARY_PATH`` 에는 OpenSearch의 ``opensearch.yml`` 에서 지정한 ``configsync.config_path`` 와 동일한 경로를 설정하십시오. 설정하지 않으면 |Fess| 는 인덱스를 생성할 수 없어 시작되지 않습니다. + - OpenSearch를 다른 호스트에서 실행하는 경우 ``SEARCH_ENGINE_HTTP_URL`` 줄의 URL 을 그 호스트로 변경하십시오. 예: ``SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://192.168.1.100:9200}`` . 이때 ``FESS_DICTIONARY_PATH`` 에는 그 서버의 ``configsync.config_path`` 를 설정합니다. + - 파일을 편집하는 대신 |Fess| 를 시작하는 환경에서 두 변수를 export 할 수도 있습니다. export 한 ``SEARCH_ENGINE_HTTP_URL`` 은 파일의 URL 보다 우선하며, export 한 ``FESS_DICTIONARY_PATH`` 는 파일의 해당 줄이 주석 상태로 남아 있으면 사용됩니다. + - 새로 ``SEARCH_ENGINE_HTTP_URL=...`` 줄을 추가하지 말고 기존 줄을 편집하십시오. .. tip:: @@ -214,6 +233,8 @@ ZIP 버전 설치 $ grep "SEARCH_ENGINE_HTTP_URL" bin/fess.in.sh $ grep "FESS_DICTIONARY_PATH" bin/fess.in.sh + OpenSearch 를 시작한 후에는 ``bin/fess-setup check`` 로 OpenSearch 에 접속할 수 있는지, |Fess| 가 필요로 하는 플러그인이 설치되어 있는지, ``configsync`` 가 응답하는지 확인할 수 있습니다. 실패한 항목이 없으면 종료 코드 ``0`` 으로 종료합니다. OpenSearch 가 ``http://localhost:9200`` 에 있지 않은 경우에는 ``--url`` 을 지정하십시오. + 단계 3: 시작 ------------ diff --git a/ko/15.9/install/install-windows.rst b/ko/15.9/install/install-windows.rst index 6c2ead50..f0ec12a8 100644 --- a/ko/15.9/install/install-windows.rst +++ b/ko/15.9/install/install-windows.rst @@ -62,15 +62,19 @@ Java 21 이상이 표시되는지 확인하십시오. .. tip:: - |Fess| 에 포함된 ``bin\fess-setup`` 으로 아래 절차를 한 번에 실행할 수 있습니다. - OpenSearch 다운로드와 압축 해제, 필요한 플러그인 설치, ``configsync`` 설정까지 수행합니다. + |Fess| 에 포함된 ``bin\fess-setup`` 으로 아래 절차를 한 번에 실행할 수 있습니다. OpenSearch 를 |Fess| 디렉터리의 ``opensearch\`` 에 다운로드하여 압축 해제하고, 필요한 플러그인을 설치한 다음, 해당 ``config\opensearch.yml`` 에 ``configsync.config_path`` 와 ``plugins.security.disabled: true`` 를 추가합니다. 먼저 단계 2 에 설명된 대로 |Fess| 의 ZIP 을 압축 해제해 두십시오. :: > cd C:\fess-15.9.0 > bin\fess-setup install opensearch + 이 방법으로 설치한 OpenSearch 는 ``bin\fess.in.bat`` 이 찾아서 그 ``config\dictionary`` 디렉터리를 |Fess| 에 전달하므로, OpenSearch 를 같은 호스트에서 실행하는 한 단계 2 의 「Fess 설정」은 변경할 필요가 없습니다. 명령은 추가한 설정과, ``bin\fess.in.bat`` 이 이 설치를 찾을 수 있는지를 표시합니다. OpenSearch 가 ``localhost`` 이외의 주소에서 수신 대기하기 전에 「OpenSearch 설정」의 경고를 확인하십시오. + 절차를 하나씩 확인하려는 경우나 기존 OpenSearch 를 사용하는 경우에는 아래를 따르십시오. + 기존 OpenSearch 에 플러그인만 설치하려면 + ``bin\fess-setup install opensearch-plugins --opensearch-home C:\opensearch-3.8.0`` 을 사용합니다. + 모든 명령에 대해서는 :doc:`fess-setup` 을 참조하십시오. OpenSearch 다운로드 ----------------------- @@ -166,6 +170,8 @@ Fess 다운로드 Fess 설정 ---------- +``bin\fess-setup install opensearch`` 로 |Fess| 디렉터리의 ``opensearch\`` 에 설치하고 같은 호스트에서 실행하는 OpenSearch 라면 여기서 설정할 필요가 없습니다. 위의 절차로 OpenSearch 를 설치한 경우, OpenSearch 를 다른 호스트에서 실행하는 경우, ``opensearch\`` 에 ``bin\fess-setup`` 으로 설치한 OpenSearch 가 두 개 이상 있는 경우 등에는 다음과 같이 연결 대상을 설정합니다. + ``bin\fess.in.bat`` 을 텍스트 편집기로 엽니다. 이 파일의 끝부분 근처에는 외부 OpenSearch 클러스터에 연결하기 위한 설정이 미리 주석 처리된 상태로 준비되어 있습니다. @@ -173,7 +179,7 @@ Fess 설정 REM External opensearch cluster REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.search_engine.http_address=http://localhost:9200 - REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=%SEARCH_ENGINE_HOME%/config/ + REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=C:/opensearch/config/dictionary 아래 2행의 행 시작 부분에 있는 ``REM `` 을 삭제하여 주석을 해제하고, ``fess.dictionary.path`` 의 값을 OpenSearch의 설정 동기화용 경로로 변경합니다. @@ -187,7 +193,7 @@ Fess 설정 - ``fess.dictionary.path`` 에는 OpenSearch의 ``opensearch.yml`` 에서 지정한 ``configsync.config_path`` 와 동일한 경로를 설정하십시오. - OpenSearch를 다른 호스트에서 실행하는 경우 ``fess.search_engine.http_address`` 의 호스트 이름 또는 IP 주소를 적절한 값으로 변경하십시오. - - 경로 구분 문자는 ``/`` 를 사용하십시오. + - 경로 구분 문자는 ``/`` 를 사용하십시오. |Fess| 는 이 경로를 인덱스 설정에 삽입하며, 그때 ``\`` 가 사라지므로 ``\`` 로 쓴 경로는 찾을 수 없습니다. - 새로 ``set FESS_JAVA_OPTS=...`` 행을 추가하는 것이 아니라 기존 주석 행을 해제하여 편집하십시오. 동일한 옵션을 중복하여 지정하면 의도하지 않은 동작의 원인이 될 수 있습니다. .. tip:: diff --git a/ko/15.9/install/install.rst b/ko/15.9/install/install.rst index 178de10b..b0c07408 100644 --- a/ko/15.9/install/install.rst +++ b/ko/15.9/install/install.rst @@ -170,7 +170,7 @@ OpenSearch OpenSearch 버전과 플러그인 버전을 일치시켜야 합니다. 버전 불일치는 시작 오류 또는 예기치 않은 동작의 원인이 됩니다. -``bin/fess-setup install opensearch`` 는 이러한 플러그인을 포함하여 OpenSearch 를 준비합니다. 자세한 내용은 :doc:`install-linux` 를 참조하십시오. +``bin/fess-setup install opensearch`` 는 Linux 와 Windows 에서 이러한 플러그인을 포함하여 OpenSearch 를 준비합니다. 자세한 내용은 OpenSearch 를 다른 방법으로 설치해야 하는 macOS 의 경우를 포함하여 :doc:`install-linux` 를, 모든 명령에 대해서는 :doc:`fess-setup` 을 참조하십시오. Java (Docker 버전 제외) ----------------------- diff --git a/ko/15.9/install/run.rst b/ko/15.9/install/run.rst index 4918b372..8d70d21b 100644 --- a/ko/15.9/install/run.rst +++ b/ko/15.9/install/run.rst @@ -29,6 +29,16 @@ OpenSearch 시작 $ ./bin/opensearch -d +.. note:: + + ``bin/fess-setup install opensearch`` 로 설치한 OpenSearch 는 |Fess| 디렉터리의 ``opensearch/opensearch-3.8.0`` 에 있습니다. + +.. important:: + + OpenSearch 는 일반 사용자로 시작하십시오. ``root`` 로 시작하면 ``can not run opensearch as root`` 를 표시하고 종료합니다. 거부된 시작에서도 ``config/opensearch.keystore`` 등의 파일이 ``root`` 소유로 남으며, 다음에 일반 사용자로 시작하면 ``AccessDeniedException`` 으로 실패합니다. 다시 시작하기 전에 OpenSearch 디렉터리의 소유자를 그 사용자로 되돌리십시오. 예:: + + $ sudo chown -R /path/to/opensearch-3.8.0 + Fess 시작 ~~~~~~~~~~ diff --git a/ko/15.9/install/troubleshooting.rst b/ko/15.9/install/troubleshooting.rst index 9759bca4..511462c8 100644 --- a/ko/15.9/install/troubleshooting.rst +++ b/ko/15.9/install/troubleshooting.rst @@ -99,6 +99,12 @@ Fess 시작 명령을 실행해도 오류가 발생하거나 즉시 종료됨. 정상인 경우 JSON 응답이 반환됩니다. + OpenSearch 가 응답하지 않으면 |Fess| 는 1분 정도 재시도한 후 시작을 중단하고, 콘솔과 ``logs/fess.log`` 에 다음 메시지를 출력합니다:: + + The search engine at http://localhost:9200 did not become available within 60221ms. Check that OpenSearch is running and reachable. If there is none yet, run bin/fess-setup install opensearch to set one up. + + OpenSearch 를 시작하거나 ``SEARCH_ENGINE_HTTP_URL`` 을 확인하십시오. 새로 설치한 ZIP 버전에는 ``bin/fess-setup install opensearch`` 로 설치하기 전까지 OpenSearch 가 없습니다. :doc:`install-linux` 를 참조하십시오. + 2. **포트 번호 충돌 확인**:: $ sudo netstat -tuln | grep 8080 diff --git a/ko/15.9/install/upgrade.rst b/ko/15.9/install/upgrade.rst index 99eb1cdc..b7ed36cf 100644 --- a/ko/15.9/install/upgrade.rst +++ b/ko/15.9/install/upgrade.rst @@ -475,6 +475,13 @@ JVM 안에서 OpenSearch 노드를 시작했습니다. 15.9 에서는 이 구성 로 설치할 수 있습니다(Linux 와 Windows 만 지원. macOS 용 OpenSearch 공식 배포판은 없으므로 Homebrew 또는 Docker 를 사용하십시오). +또한 ``FESS_DICTIONARY_PATH`` 를 해당 OpenSearch 의 ``opensearch.yml`` 에 있는 ``configsync.config_path`` +와 일치시켜야 합니다. 설정되지 않았거나 일치하지 않으면 |Fess| 는 인덱스를 생성할 수 없습니다. 15.9 의 +``bin/fess.in.sh`` (Windows 에서는 ``bin\fess.in.bat`` )는 |Fess| 디렉터리의 ``opensearch/`` 에 +``bin/fess-setup install opensearch`` 로 설치한 OpenSearch 가 하나만 있을 때 이를 자동으로 설정합니다. +그 밖의 OpenSearch 를 사용하는 경우에는 :doc:`install-linux` 또는 :doc:`install-windows` 에 따라 +설정하십시오. + 다음도 함께 폐지되었습니다. - ``es/`` 디렉터리( ``es/modules`` , ``es/plugins`` , ``es/data`` ) diff --git a/zh-cn/15.9/admin/plugin-guide.rst b/zh-cn/15.9/admin/plugin-guide.rst index 08567dc3..93a094b9 100644 --- a/zh-cn/15.9/admin/plugin-guide.rst +++ b/zh-cn/15.9/admin/plugin-guide.rst @@ -51,5 +51,7 @@ 新版本安装完成后,将删除同一插件的旧版本。如果指定的版本不存在,将以退出码 1 结束,因此即使写入 Dockerfile 等构建步骤,也不会在缺少插件的情况下继续。 +``bin/fess-setup list plugins`` 显示为此 |Fess| 发布的插件以及其中已安装的插件, ``list installed`` 不访问仓库即可显示已安装的插件, ``upgrade plugins`` 将所有已安装的插件以适合此 |Fess| 的版本重新安装, ``remove plugin`` 删除插件。安装、升级或删除插件后,请重启 |Fess|\ 。所有命令和选项请参阅 :doc:`../install/fess-setup`\ 。 + .. |image0| image:: ../../../resources/images/en/15.9/admin/plugin-1.png .. |image1| image:: ../../../resources/images/en/15.9/admin/plugin-2.png diff --git a/zh-cn/15.9/install/fess-setup.rst b/zh-cn/15.9/install/fess-setup.rst new file mode 100644 index 00000000..39e15211 --- /dev/null +++ b/zh-cn/15.9/install/fess-setup.rst @@ -0,0 +1,168 @@ +==================== +fess-setup 命令 +==================== + +``bin/fess-setup``\ (Windows 上为 ``bin\fess-setup.bat``\ )随 |Fess| 的 ZIP 包提供。它用于安装 |Fess| 需要但发行包中未包含的内容:带有 |Fess| 所需插件的 OpenSearch、Playwright 爬虫所需的 Node.js,以及 |Fess| 插件。它还可以检查安装状态。 + +请在 |Fess| 目录中运行。不带参数运行时,会显示命令列表。 + +:: + + $ cd /path/to/fess-15.9.0 + $ bin/fess-setup [options] + +退出码 +====== + +.. list-table:: + :header-rows: 1 + :widths: 15 85 + + * - 退出码 + - 含义 + * - ``0`` + - 命令执行成功。 + * - ``1`` + - 命令执行失败:例如下载失败、指定的版本不存在、OpenSearch 没有面向当前平台的发行版,或 ``check`` 发现了问题。 + * - ``2`` + - 命令行有误:未知的命令,或缺少插件名称等参数。 + +安装 OpenSearch 和 Node.js +========================== + +install opensearch +------------------ + +:: + + $ bin/fess-setup install opensearch [--dest ] [--version ] + +将此 |Fess| 支持的 OpenSearch 版本下载到 |Fess| 目录下的 ``opensearch/`` 中,安装 |Fess| 所需的 4 个插件(\ ``opensearch-analysis-fess``\ 、\ ``opensearch-analysis-extension``\ 、\ ``opensearch-minhash`` 和 ``opensearch-configsync``\ ),并向其 ``config/opensearch.yml`` 追加以下配置: + +- ``configsync.config_path``\ ,其值为该 OpenSearch 的 ``config/dictionary`` 目录 +- ``plugins.security.disabled: true`` + +``opensearch.yml`` 中已有的配置不会重复追加;如果该文件中存在任何 ``plugins.security.*`` 配置,则不会追加 ``plugins.security.disabled: true``\ 。OpenSearch 目录已存在时会跳过下载,因此对已有的安装再次运行该命令时,只会追加缺少的配置。 + +命令会显示追加的每项配置,然后显示 ``bin/fess.in.sh`` 能否自动找到此 OpenSearch。当它是 |Fess| 目录下 ``opensearch/`` 中唯一带有 ``config/dictionary`` 目录的 OpenSearch 时即可找到:此时 ``bin/fess.in.sh``\ (Windows 上为 ``bin\fess.in.bat``\ )会将 ``FESS_DICTIONARY_PATH`` 设置为该目录,对于在同一主机上运行的 OpenSearch,无需其他配置。否则,命令会显示需要设置的 ``SEARCH_ENGINE_HTTP_URL`` 和 ``FESS_DICTIONARY_PATH`` 的值,设置方法请参阅 :doc:`install-linux` 或 :doc:`install-windows`\ 。 + +.. list-table:: + :header-rows: 1 + :widths: 30 70 + + * - 选项 + - 说明 + * - ``--dest `` + - 指定 OpenSearch 的解压目录,以代替 |Fess| 目录下的 ``opensearch/``\ 。\ ``bin/fess.in.sh`` 不会在该目录之外查找 OpenSearch。 + * - ``--version `` + - 要安装的 OpenSearch 版本。插件也会以相同版本安装。 + +OpenSearch 仅为 Linux 和 Windows 发布官方发行版。在 macOS 等其他平台上,该命令不会下载任何内容,而是以退出码 ``1`` 结束,并建议使用 Homebrew 安装 OpenSearch 后通过 ``install opensearch-plugins`` 添加插件,或者使用 Docker。 + +.. warning:: + + 设置了 ``plugins.security.disabled: true`` 的 OpenSearch 会接受未经认证的请求。除非设置了 ``network.host``\ ,OpenSearch 只在回环地址上监听。在让它监听其他地址之前,请改为配置安全插件;详情请参阅 :doc:`security`\ 。 + +install opensearch-plugins +-------------------------- + +:: + + $ bin/fess-setup install opensearch-plugins --opensearch-home [--version ] + +向已有的 OpenSearch 安装 |Fess| 所需的 4 个插件,可代替执行 4 次该 OpenSearch 的 ``bin/opensearch-plugin install``\ 。\ ``--opensearch-home`` 为 OpenSearch 的安装目录,必须指定。\ ``--version`` 用于设置插件版本,该版本必须与 OpenSearch 版本一致。 + +此命令不会修改 ``opensearch.yml``\ 。请按照 :doc:`install-linux` 或 :doc:`install-windows` 的说明,自行添加 ``configsync.config_path`` 等配置。 + +install nodejs +-------------- + +:: + + $ bin/fess-setup install nodejs [--dest ] [--version ] + +将 Playwright 爬虫所需的 Node.js 下载到 |Fess| 目录下的 ``nodejs/`` 中。\ ``bin/fess.in.sh``\ (Windows 上为 ``bin\fess.in.bat``\ )会在该位置找到它并设置 ``PLAYWRIGHT_NODEJS_PATH``\ 。使用 ``--dest`` 解压到 |Fess| 目录之外时,命令会改为显示需要添加到 ``bin/fess.in.sh`` 中的 ``PLAYWRIGHT_NODEJS_PATH`` 行。\ ``--version`` 用于选择其他版本的 Node.js。关于 Playwright 爬虫,请参阅 :doc:`../config/crawler-advanced`\ 。 + +管理插件 +======== + +以下命令操作 |Fess| 安装中的插件目录 ``app/WEB-INF/plugin``\ 。安装、升级或删除插件后,请重启 |Fess|\ 。也可以在管理界面的「系统 > 插件」页面管理插件;请参阅 :doc:`../admin/plugin-guide`\ 。 + +``install plugin``\ 、\ ``list plugins`` 和 ``upgrade plugins`` 可以指定 ``--repository ``\ 。指定后,版本列表、jar 及其校验和都从该单个 Maven 仓库(例如内部镜像)获取,而不使用默认的发布仓库、快照仓库和 GitHub。 + +install plugin +-------------- + +:: + + $ bin/fess-setup install plugin [:]... [--version ] [--repository ] + +安装一个或多个 |Fess| 插件,例如 ``fess-script-groovy`` 或 ``fess-ds-git``\ 。未指定版本的名称会安装为此 |Fess| 构建的最新版本。\ ``:`` 用于固定该插件的版本,\ ``--version`` 则作为所有未指定版本的名称的版本。新版本安装完成后,将删除同一插件之前安装的版本。 + +jar 从插件的 GitHub 发布获取;发布中没有对应文件时,则从 Maven 仓库获取,并使用 Maven 仓库公布的 SHA-1 校验和进行校验。\ |Fess| 的开发版还会安装其同一版本系列的快照构建,并优先使用快照构建。 + +使用示例请参阅 :doc:`../admin/plugin-guide`\ 。 + +list plugins +------------ + +:: + + $ bin/fess-setup list plugins [--repository ] + +列出为此 |Fess| 发布的插件,并用 ``(installed: )`` 标记已安装的插件。已安装但未在仓库中发布的插件(例如本地构建的 jar)会单独列出。\ |Fess| 的开发版还会列出快照仓库中的插件。 + +list installed +-------------- + +:: + + $ bin/fess-setup list installed + +列出已安装的插件及其版本,不访问仓库。 + +upgrade plugins +--------------- + +:: + + $ bin/fess-setup upgrade plugins [--repository ] + +将所有已安装的插件以适合此 |Fess| 的版本重新安装。已经是该版本的插件保持不变。\ ``app/WEB-INF/plugin`` 中的插件是为特定的 |Fess| 发布版本构建的,因此请在升级 |Fess| 后运行此命令。 + +remove plugin +------------- + +:: + + $ bin/fess-setup remove plugin ... + +删除指定插件已安装的 jar。未安装的名称只会给出提示,不影响退出码。 + +检查安装状态 +============ + +list +---- + +:: + + $ bin/fess-setup list + +显示 ``install`` 下载的组件(\ ``opensearch`` 和 ``nodejs``\ )及各自的版本。 + +check +----- + +:: + + $ bin/fess-setup check [--url ] [--playwright] + +检查安装状态,每个检查项输出一行,并标记为 ``OK``\ 、\ ``WARN`` 或 ``FAIL``\ : + +- 搜索引擎:能否连接、版本(各节点报告的版本不一致时为警告)、是否安装了 |Fess| 所需的 4 个插件,以及 ``configsync`` 是否响应。 +- |Fess|\ :插件目录是否存在且可写、每个已安装的插件(为其他 |Fess| 发布版本构建的插件为警告,安装了两个版本的插件为失败),以及 |Fess| 目录下的 ``nodejs/`` 中是否安装了 Node.js。 + +搜索引擎的 URL 为 ``--url``\ ,未指定时为环境变量 ``SEARCH_ENGINE_HTTP_URL``\ ,仍未设置时为 ``http://localhost:9200``\ 。\ ``bin/fess-setup`` 不读取 ``bin/fess.in.sh``\ ,因此当 OpenSearch 位于其他位置时,请指定 ``--url``\ 。缺少 Node.js 时只会报告,但指定 ``--playwright`` 后会视为失败。 + +没有检查项失败时,即使有警告,命令也以退出码 ``0`` 结束;否则以退出码 ``1`` 结束。 diff --git a/zh-cn/15.9/install/index.rst b/zh-cn/15.9/install/index.rst index 235cc922..ffa38aab 100644 --- a/zh-cn/15.9/install/index.rst +++ b/zh-cn/15.9/install/index.rst @@ -14,6 +14,7 @@ install-linux install-windows install-docker + fess-setup run security upgrade diff --git a/zh-cn/15.9/install/install-linux.rst b/zh-cn/15.9/install/install-linux.rst index 08d8d59d..e83b98b5 100644 --- a/zh-cn/15.9/install/install-linux.rst +++ b/zh-cn/15.9/install/install-linux.rst @@ -79,19 +79,34 @@ 步骤 1: 安装 OpenSearch --------------------------- +.. important:: + + 请以普通用户而非 ``root`` 安装和运行 OpenSearch:OpenSearch 拒绝以 ``root`` 身份启动。下面的 ``bin/fess-setup`` 也请以该用户运行,以使其解压的文件归该用户所有。如果以 ``root`` 启动已经被拒绝,请参阅 :doc:`run`\ 。 + .. tip:: - |Fess| 附带的 ``bin/fess-setup`` 可以一条命令完成下面的步骤:下载并解压 OpenSearch、 - 安装所需插件,以及配置 ``configsync``\ 。 + |Fess| 附带的 ``bin/fess-setup`` 可以一条命令完成下面的步骤 1 到 3:将 OpenSearch 下载并解压到 |Fess| 目录下的 ``opensearch/`` 中,安装所需插件,并向其 ``config/opensearch.yml`` 添加 ``configsync.config_path`` 和 ``plugins.security.disabled: true``\ 。请先按照步骤 2 的说明解压 |Fess| 的 ZIP。 :: $ cd /path/to/fess-15.9.0 $ bin/fess-setup install opensearch + ``bin/fess.in.sh`` 会找到以这种方式安装的 OpenSearch 并自动设置 ``FESS_DICTIONARY_PATH``\ ,因此只要 OpenSearch 在同一主机上运行,步骤 2 的「配置 Fess」就无需修改。命令会显示它添加的配置,以及 ``bin/fess.in.sh`` 能否找到该安装。在让 OpenSearch 监听 ``localhost`` 以外的地址之前,请阅读第 3 步中的警告。 + 如果想逐步确认,或者要使用已有的 OpenSearch,请按照下面的步骤操作。 若只需向已有的 OpenSearch 安装插件,请使用 - ``bin/fess-setup install plugins --opensearch-home /path/to/opensearch``\ 。 + ``bin/fess-setup install opensearch-plugins --opensearch-home /path/to/opensearch``\ 。 + 所有命令请参阅 :doc:`fess-setup`\ 。 + +.. note:: + + OpenSearch 没有官方的 macOS 发行版,因此在 macOS 上 ``bin/fess-setup install opensearch`` 会以错误结束。请使用 Homebrew 安装 OpenSearch 并通过 ``bin/fess-setup install opensearch-plugins`` 添加插件,或者改用 :doc:`install-docker`:: + + $ brew install opensearch + $ bin/fess-setup install opensearch-plugins --opensearch-home $(brew --prefix opensearch) + + 然后按照第 3 步配置该 OpenSearch,并按照步骤 2 的「配置 Fess」设置 ``FESS_DICTIONARY_PATH``\ 。 1. 下载 OpenSearch @@ -176,32 +191,36 @@ 2. 配置 Fess - 编辑 ``bin/fess.in.sh``,设置到 OpenSearch 的连接信息。 - 该文件中预先以注释状态提供了用于连接外部 OpenSearch 集群的配置。 + 到 OpenSearch 的连接信息位于 ``bin/fess.in.sh`` 中。对于通过 ``bin/fess-setup install opensearch`` 安装到 |Fess| 目录下的 ``opensearch/`` 中、并在同一主机上运行的 OpenSearch,无需修改此文件:\ ``SEARCH_ENGINE_HTTP_URL`` 默认为 ``http://localhost:9200``\ ,\ ``FESS_DICTIONARY_PATH`` 会被设置为该 OpenSearch 的 ``config/dictionary`` 目录。 + + 在以下任一情况下,请编辑 ``bin/fess.in.sh``\ : + + - 通过其他方式安装了 OpenSearch,例如按照上面的第 1 到 3 步或使用 Homebrew,或者使用 ``--dest`` 安装到了 |Fess| 目录之外。 + - |Fess| 目录下的 ``opensearch/`` 中有多个通过 ``bin/fess-setup`` 安装的 OpenSearch,例如两个版本。\ ``bin/fess.in.sh`` 无法判断正在使用哪一个,因此会显示警告,并且不设置 ``FESS_DICTIONARY_PATH``\ 。 + - OpenSearch 在其他主机或端口上运行。 :: $ vi bin/fess.in.sh - 取消文件开头附近以下 2 行的注释(行首的 ``#``)。 + 在文件开头附近,删除 ``FESS_DICTIONARY_PATH`` 行行首的 ``#`` 并设置路径,必要时更改 ``SEARCH_ENGINE_HTTP_URL`` 行中的 URL。 - 修改前(默认状态):: + 修改前(默认状态,省略注释行):: - # External opensearch cluster - #SEARCH_ENGINE_HTTP_URL=http://localhost:9200 + SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://localhost:9200} #FESS_DICTIONARY_PATH=/var/lib/opensearch/config/ 修改后:: - # External opensearch cluster - SEARCH_ENGINE_HTTP_URL=http://localhost:9200 + SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://localhost:9200} FESS_DICTIONARY_PATH=/path/to/opensearch-3.8.0/data/config/ .. note:: - - ``FESS_DICTIONARY_PATH`` 请设置与 OpenSearch 的 ``opensearch.yml`` 中指定的 ``configsync.config_path`` 相同的路径。 - - 如果 OpenSearch 在其他主机上运行,请将 ``SEARCH_ENGINE_HTTP_URL`` 更改为适当的主机名或 IP 地址。例: ``SEARCH_ENGINE_HTTP_URL=http://192.168.1.100:9200`` - - 请勿新增 ``SEARCH_ENGINE_HTTP_URL=...`` 行,而应取消注释已有的注释行并进行编辑。 + - ``FESS_DICTIONARY_PATH`` 请设置与 OpenSearch 的 ``opensearch.yml`` 中指定的 ``configsync.config_path`` 相同的路径。未设置时,|Fess| 无法创建索引,也无法启动。 + - 如果 OpenSearch 在其他主机上运行,请将 ``SEARCH_ENGINE_HTTP_URL`` 行中的 URL 更改为该主机。例: ``SEARCH_ENGINE_HTTP_URL=${SEARCH_ENGINE_HTTP_URL:-http://192.168.1.100:9200}``\ 。此时 ``FESS_DICTIONARY_PATH`` 为该服务器的 ``configsync.config_path``\ 。 + - 也可以不编辑文件,而在启动 |Fess| 的环境中 export 这两个变量。export 的 ``SEARCH_ENGINE_HTTP_URL`` 优先于文件中的 URL;只要文件中的对应行保持注释状态,就会使用 export 的 ``FESS_DICTIONARY_PATH``\ 。 + - 请勿新增 ``SEARCH_ENGINE_HTTP_URL=...`` 行,而应编辑已有的行。 .. tip:: @@ -214,6 +233,8 @@ $ grep "SEARCH_ENGINE_HTTP_URL" bin/fess.in.sh $ grep "FESS_DICTIONARY_PATH" bin/fess.in.sh + OpenSearch 启动后,\ ``bin/fess-setup check`` 会报告能否连接到 OpenSearch、是否安装了 |Fess| 所需的插件,以及 ``configsync`` 是否响应。没有检查项失败时,它以退出码 ``0`` 结束。当 OpenSearch 不在 ``http://localhost:9200`` 时,请指定 ``--url``\ 。 + 步骤 3: 启动 ---------------- diff --git a/zh-cn/15.9/install/install-windows.rst b/zh-cn/15.9/install/install-windows.rst index d7fc1291..1d79b194 100644 --- a/zh-cn/15.9/install/install-windows.rst +++ b/zh-cn/15.9/install/install-windows.rst @@ -62,15 +62,19 @@ PowerShell 的情况:: .. tip:: - |Fess| 附带的 ``bin\fess-setup`` 可以一条命令完成下面的步骤:下载并解压 OpenSearch、 - 安装所需插件,以及配置 ``configsync``\ 。 + |Fess| 附带的 ``bin\fess-setup`` 可以一条命令完成下面的步骤:将 OpenSearch 下载并解压到 |Fess| 目录下的 ``opensearch\`` 中,安装所需插件,并向其 ``config\opensearch.yml`` 添加 ``configsync.config_path`` 和 ``plugins.security.disabled: true``\ 。请先按照步骤 2 的说明解压 |Fess| 的 ZIP。 :: > cd C:\fess-15.9.0 > bin\fess-setup install opensearch + ``bin\fess.in.bat`` 会找到以这种方式安装的 OpenSearch,并将其 ``config\dictionary`` 目录传递给 |Fess|\ ,因此只要 OpenSearch 在同一主机上运行,步骤 2 的「配置 Fess」就无需修改。命令会显示它添加的配置,以及 ``bin\fess.in.bat`` 能否找到该安装。在让 OpenSearch 监听 ``localhost`` 以外的地址之前,请阅读「配置 OpenSearch」中的警告。 + 如果想逐步确认,或者要使用已有的 OpenSearch,请按照下面的步骤操作。 + 若只需向已有的 OpenSearch 安装插件,请使用 + ``bin\fess-setup install opensearch-plugins --opensearch-home C:\opensearch-3.8.0``\ 。 + 所有命令请参阅 :doc:`fess-setup`\ 。 下载 OpenSearch --------------- @@ -166,6 +170,8 @@ PowerShell 的情况:: 配置 Fess --------- +对于通过 ``bin\fess-setup install opensearch`` 安装到 |Fess| 目录下的 ``opensearch\`` 中、并在同一主机上运行的 OpenSearch,此处无需任何配置。否则,例如按照上面的步骤安装了 OpenSearch、OpenSearch 在其他主机上运行,或 ``opensearch\`` 中有多个通过 ``bin\fess-setup`` 安装的 OpenSearch 时,请按以下方式配置连接。 + 使用文本编辑器打开 ``bin\fess.in.bat``\ 。 该文件末尾附近已预先以注释状态提供了用于连接外部 OpenSearch 集群的配置。 @@ -173,7 +179,7 @@ PowerShell 的情况:: REM External opensearch cluster REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.search_engine.http_address=http://localhost:9200 - REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=%SEARCH_ENGINE_HOME%/config/ + REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.dictionary.path=C:/opensearch/config/dictionary 删除下面两行行首的 ``REM `` 以取消注释,并将 ``fess.dictionary.path`` 的值更改为 OpenSearch 配置同步路径。 @@ -187,7 +193,7 @@ PowerShell 的情况:: - ``fess.dictionary.path`` 请设置与 OpenSearch 的 ``opensearch.yml`` 中指定的 ``configsync.config_path`` 相同的路径。 - 如果 OpenSearch 在其他主机上运行,请将 ``fess.search_engine.http_address`` 中的主机名或 IP 地址更改为适当的值。 - - 路径分隔符请使用 ``/``\ 。 + - 路径分隔符请使用 ``/``\ 。\ |Fess| 会将该路径插入索引设置中,其中的 ``\`` 会丢失,因此用 ``\`` 书写的路径将无法找到。 - 请勿新增 ``set FESS_JAVA_OPTS=...`` 行,而应取消注释已有的注释行并进行编辑。重复指定相同选项可能导致意外行为。 .. tip:: diff --git a/zh-cn/15.9/install/install.rst b/zh-cn/15.9/install/install.rst index 961e5756..646c9bc8 100644 --- a/zh-cn/15.9/install/install.rst +++ b/zh-cn/15.9/install/install.rst @@ -170,7 +170,7 @@ OpenSearch OpenSearch 的版本与插件的版本必须一致。 版本不一致可能导致启动错误或意外行为。 -``bin/fess-setup install opensearch`` 会连同这些插件一起准备 OpenSearch。详情请参阅 :doc:`install-linux`\ 。 +``bin/fess-setup install opensearch`` 会在 Linux 和 Windows 上连同这些插件一起准备 OpenSearch。详情请参阅 :doc:`install-linux`\ (其中也包括必须用其他方式安装 OpenSearch 的 macOS),所有命令请参阅 :doc:`fess-setup`\ 。 Java (Docker 版除外) ------------------- diff --git a/zh-cn/15.9/install/run.rst b/zh-cn/15.9/install/run.rst index 71d02ccd..fdca4f1f 100644 --- a/zh-cn/15.9/install/run.rst +++ b/zh-cn/15.9/install/run.rst @@ -29,6 +29,16 @@ ZIP 版的情况 $ ./bin/opensearch -d +.. note:: + + ``bin/fess-setup install opensearch`` 会将 OpenSearch 放在 |Fess| 目录下的 ``opensearch/opensearch-3.8.0`` 中。 + +.. important:: + + 请以普通用户启动 OpenSearch。它拒绝以 ``root`` 身份运行,并以 ``can not run opensearch as root`` 结束。被拒绝的启动仍会留下 ``config/opensearch.keystore`` 等归 ``root`` 所有的文件,之后以普通用户启动时会因 ``AccessDeniedException`` 而失败。再次启动之前,请将 OpenSearch 目录的所有者改回该用户,例如:: + + $ sudo chown -R /path/to/opensearch-3.8.0 + 启动 Fess ~~~~~~~~~~ diff --git a/zh-cn/15.9/install/troubleshooting.rst b/zh-cn/15.9/install/troubleshooting.rst index 9bd0a00e..af2b4004 100644 --- a/zh-cn/15.9/install/troubleshooting.rst +++ b/zh-cn/15.9/install/troubleshooting.rst @@ -99,6 +99,12 @@ Fess 无法启动 如果正常,会返回 JSON 响应。 + 没有 OpenSearch 响应时,|Fess| 会重试约 1 分钟后停止启动,并在控制台和 ``logs/fess.log`` 中输出以下消息:: + + The search engine at http://localhost:9200 did not become available within 60221ms. Check that OpenSearch is running and reachable. If there is none yet, run bin/fess-setup install opensearch to set one up. + + 请启动 OpenSearch,或确认 ``SEARCH_ENGINE_HTTP_URL``\ 。新安装的 ZIP 版在使用 ``bin/fess-setup install opensearch`` 设置之前没有 OpenSearch;请参阅 :doc:`install-linux`\ 。 + 2. **确认端口号冲突**:: $ sudo netstat -tuln | grep 8080 diff --git a/zh-cn/15.9/install/upgrade.rst b/zh-cn/15.9/install/upgrade.rst index e0bc4ea2..cf056b74 100644 --- a/zh-cn/15.9/install/upgrade.rst +++ b/zh-cn/15.9/install/upgrade.rst @@ -470,6 +470,8 @@ Docker 版:: 进行安装(仅限 Linux 和 Windows。OpenSearch 没有官方的 macOS 发行版,请使用 Homebrew 或 Docker)。 +|Fess| 还需要 ``FESS_DICTIONARY_PATH`` 与该 OpenSearch 的 ``opensearch.yml`` 中的 ``configsync.config_path`` 一致;否则 |Fess| 无法创建索引。当 |Fess| 目录下的 ``opensearch/`` 中恰好只有一个通过 ``bin/fess-setup install opensearch`` 安装的 OpenSearch 时,15.9 的 ``bin/fess.in.sh``\ (Windows 上为 ``bin\fess.in.bat``\ )会自动设置该变量。使用其他 OpenSearch 时,请按照 :doc:`install-linux` 或 :doc:`install-windows` 的说明进行设置。 + 以下内容也一并移除: - ``es/`` 目录(``es/modules``、``es/plugins``、``es/data``)