De:Service
Inhaltsverzeichnis
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