De:Service

Aus YaCyWiki
Wechseln zu: Navigation, Suche

Allgemeines

Wer seinen Rechner permanent für YaCy zur Verfügung stellen will, kann YaCy auf seinem Betriebssystem als Dienst einrichten. Damit wird YaCy beim Booten des Betriebssystems automatisch gestartet und beim Herunterfahren des Rechners immer geordnet beendet.

Windows

Das Einrichten als Windows-Dienst erfolgt am einfachsten durch Aufrufen des Initscripts, das direkt im yacy-Installationsverzeichnis liegt:

installYaCyWindowsService.bat

Um den Windows Service per Skript einzurichten, muss zunächst die Eingabeaufforderung (unter Startmenü -> Alle Programme -> Zubehör) aufgerufen werden. Dann muss mit

cd C:\users\<Benutzername>\YaCy

in das YaCy-Installationsverzeichnis gewechselt werden, wobei der Pfad geeignet anzupassen ist. Nun wird mit

installYaCyWindowsService.bat

das Skript aufgerufen, das YaCy als Windows Service installiert. Um YaCy als Windows Service zu testen, muss man vor einem Neustart des Rechners ggf. YaCy geordnet beenden. Ob YaCy nach dem Neustart automatisch gestartet wurde, kann man durch Aufrufen des YaCy-Webinterface im Browser testen. Um YaCy als Windows Service zu beenden, kann das Skript uninstallYaCyWindowsService.bat im YaCy-Installationsverzeichnis aufgerufen werden.

Alternativ kann YaCy mit dieser Anleitung manuell als Windows Service angemeldet oder abgemeldet werden.

Linux

Wenn YaCy als Debian-Package installiert wird, wird YaCy bei der Installation als Dienst eingerichtet. Wenn YaCy als generisches Paket installiert wird, muss YaCy manuell als Dienst eingreichtet werden, falls dies erwünscht ist. Für die Einrichtung von YacY als Dienst ist die Wahl des Installationsverzeichnisses für YaCy relevant. Das Initscript muss enstprechend bearbeitet und installiert werden, bevor der Dienst eingerichtet wird.

Installationsverzeichnis für YaCY

Als Installationsverzeichnis kommt entweder ein beliebiges Verzeichnis im eigenen Home-Verzeichnis in Frage oder ein Verzeichnis außerhalb des Home-Verzeichnisses. Das InitScript geht z.B. von /opt/yacy als Installtionsverzeichnis aus, was jedoch angepasst werden kann. Im Initscript sind sowohl der Pfad zum Installationverzeichnis als auch der Benutzer, mit dessen Rechten YaCy beim Booten gestartet werden soll, anzugeben. Um YaCy in ein Installtionsverzeichnis außerhalb des eigenen Home-Verzeichnisses zu installieren, werden in der Regel root-Rechte benötigt. Die Wahl eines solchen Installtionsverzeichnisses hat zur Folge, dass im Initscript root als Benutzer anzugeben ist, mit dessen Rechten YaCy gestartet wird. Wer nicht will, dass YaCy durch das Initscript mit root-Rechten gestartet wird, sollte ein Verzeichnis im eigenen Home-Verzeichnis zur Installation von YaCy auswählen.

Initscript bearbeiten

Ein vorgefertigtes Initscript finden Sie unter

. . ./yacy/addon/yacyInit.sh

Zunächst ist der Pfad zum Installationsverzeichnis in Zeile 10 anzupassen:

DAEMON_DIR=/opt/yacy

Dann ist in Zeile 12 der Linux-Benutzername anzupassen, mit dessen Rechten YaCy beim Booten gestartet werden soll. Wenn Sie YaCy innerhalb des Home-Verzeichnisses installiert haben, wählen Sie den Benutzernamen des Home-Verzeichnisses:

USER=yacy

Im vorgerfertigten Initscript fehlen noch die LSB-Tags, die für die Einrichtung eines Dienstes benötigt werden. Fügen Sie nach Zeile 6 folgenden Code ein:

### BEGIN INIT INFO
# Provides:          yacy
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Distributed web search engine
# Description:       yacy is a distributed search engine
#                    config-file is /etc/yacy/yacy.conf
### END INIT INFO



YaCy als Dienst einrichten

Um YaCy als Dienst einzurichten, kopieren Sie als root das bearbeitete Initscript nach init.d:

cp <Pfad zum bearbeiteten Initscript>/yacyInit.sh /etc/init.d

Mit welchem Befehl der Dienst anschließend eingerichtet wird, hängt davon ab, welches Init-System Ihr Betriebssystem benutzt. Für System V (bis ausschließlich Debian 8.0) als root, dabei den abschließenden Punkt beachten:

update-rc.d yacyInit.sh start 95 2 3 4 5 . stop 0 1 6 .

Für systemd (ab einschließlich Debian 8.0) als root:

insserv yacyInit.sh



YaCy als Dienst abmelden

Um YaCy als Dienst abzumelden, wird einer der beiden folgenden Befehle als root ausgeführt:

update-rc.d -f yacyInit.sh remove
insserv -r yacyInit.sh

Anschließend sollte noch das Initscript gelöscht werden:

rm /etc/init.d/yacyInit.sh