- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
FirstSpirit als systemd service
Hallo,
hat schon mal jemand den FirstSpirit Server (Version 5.2) unter Linux als systemd Service eingerichtet?
Wenn ja, wie?
Danke,
Christian Brandel
- Labels:
-
Developers
-
System Operations
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Christian,
intern gibt es bei uns ein paar Stellen, an denen FirstSpirit รผber systemd lรคuft. Ich habe dir mal eine kleine Vorlage angehรคngt, an der du dich orientieren kannst, wenn du das einrichten mรถchtest.
[Unit]
Description=FirstSpirit Server 5
ConditionPathExists=/opt/firstsprit5/bin/fs5
After=network.target
[Service]
Type=forking
PIDFile=/opt/firstsprit5/run/fs5-wrapper.pid
User=fs5
Group=fs5
UMask=0027
LimitNOFILE=10000
ExecStart=/opt/firstsprit5/bin/fs5 start
ExecStartPost=/bin/sleep 1
ExecStop=/opt/firstsprit5/bin/fs5 stop
[Install]
WantedBy=multi-user.target
Das ist natรผrlich nur eine Vorlage, und entsprechend deines Setups anzupassen. Es kann zum Beispiel sein, dass ihr noch einen Datenbankserver laufen habt der zuerst hochgefahren werden soll o.ร., das mรผsste dann natรผrlich noch in die Dependencies mit rein. Oder so Kleinkram wie dass FirstSpirit an einem anderen Pfad installiert ist. Gleiches gilt natรผrlich fรผr Benutzer und Gruppen.
Ich hoffe, dass dir das dennoch hilft.
Viele Grรผรe,
Lena
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Christian,
intern gibt es bei uns ein paar Stellen, an denen FirstSpirit รผber systemd lรคuft. Ich habe dir mal eine kleine Vorlage angehรคngt, an der du dich orientieren kannst, wenn du das einrichten mรถchtest.
[Unit]
Description=FirstSpirit Server 5
ConditionPathExists=/opt/firstsprit5/bin/fs5
After=network.target
[Service]
Type=forking
PIDFile=/opt/firstsprit5/run/fs5-wrapper.pid
User=fs5
Group=fs5
UMask=0027
LimitNOFILE=10000
ExecStart=/opt/firstsprit5/bin/fs5 start
ExecStartPost=/bin/sleep 1
ExecStop=/opt/firstsprit5/bin/fs5 stop
[Install]
WantedBy=multi-user.target
Das ist natรผrlich nur eine Vorlage, und entsprechend deines Setups anzupassen. Es kann zum Beispiel sein, dass ihr noch einen Datenbankserver laufen habt der zuerst hochgefahren werden soll o.ร., das mรผsste dann natรผrlich noch in die Dependencies mit rein. Oder so Kleinkram wie dass FirstSpirit an einem anderen Pfad installiert ist. Gleiches gilt natรผrlich fรผr Benutzer und Gruppen.
Ich hoffe, dass dir das dennoch hilft.
Viele Grรผรe,
Lena
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Lena,
danke, das Template hatte ich auch schonmal ausprobiert (hatte es vom Support bekommen). Gerade die Parameter UMask und LimitNOFILE sind hier wichtig, da kommt man evtl. nicht sofort selbst drauf.
Das Problem scheint aber das Timing zu sein, mit dem der ServiceWrapper startet und wann das PID File zur Verfรผgung steht.
Mit dem "ExecStartPost=/bin/sleep 1" hat das jedenfalls nicht geklappt, der systemd hat das PID file nicht rechtzeitig bekommen und hat das ganze wieder gestoppt.
Starting FirstSpirit 5... PID file <filename> not readable (yet?) after start-post.
Bevor ich jetzt anfange den Parameter fรผr sleep hochzudrehen und zu hoffen, daร es irgendwann mal klappt, wollte ich einfach mal in die Runde fragen, ob es anderweitig schon Erfahrungen damit gibt.
Gruร,
Christian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Christian,
nur um nochmal sicherzugehen. Ist es wirklich ein Timing Problem oder ein Rechte Problem? Kannst du beobachten, dass das PID File erst mit Verzรถgerung angelegt wird? Ich weiร, dass es hier manchmal vรถllig unabhรคngig von FirstSpirit Rechte Probleme mit dem PID File gibt. Jenachdem wie du den systemd Service konfiguriert hast und welche Rechte der entsprechende User hat, kann es helfen das PID File zu verschieben.
Beispielhaft ein Link bei dem genau das die Lรถsung fรผr Nginx war: https://www.svennd.be/pid-file-runnginx-pid-not-readable-yet-after-start/
Man kann also durchaus in Betracht ziehen, dass dies gar nichts speziell mit FirstSpirit zu tun hat. Ich hoffe das hilft dir vllt weiter!
Beste Grรผรe
Christian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Christian B.,
benรถtigst Du noch weitere Hilfe oder hat Dir die Antwort von Cristian Groth geholfen?
In diesem Fall wรคre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere
Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lรถsung
gefunden haben, wรคre es nett, wenn Du diese hier bereitstellst.
Viele Grรผรe
Donato
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
wenn man den Pfad fรผr das PID file richtig eintrรคgt, funktioniert es auch...
Wir verwenden jetzt folgende Konfiguration (mit einem externen Environment file, damit kรถnnten wir ohne den Service anfassen zu mรผssen, das FS5_DIR flexibel รคndern).
/etc/systemd/system/fs5.service:
[Unit]
Description=FirstSpirit 5
After=network.target
[Service]
Type=forking
EnvironmentFile=/opt/web/firstspirit/.systemd.conf
User=web
Group=web
PIDFile=/opt/web/firstspirit/fs5/log/fs5.pid
UMask=0027
LimitNOFILE=10000
ExecStart=/usr/bin/env "${FS5_DIR}/bin/fs5" start
ExecStartPost=/bin/sleep 2
ExecStop=/usr/bin/env "${FS5_DIR}/bin/fs5" stop
[Install]
WantedBy=multi-user.target
Environment file /opt/web/firstspirit/.systemd.conf:
FS5_DIR=/opt/web/firstspirit/fs5

