PiPSIT auf Jessie einrichten

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
muscat
Beiträge: 11
Registriert: 23.11.2016 12:19:23

PiPSIT auf Jessie einrichten

Beitrag von muscat » 23.11.2016 17:02:43

hallo liebe Gemeinde,

Bin ziemlicher Neuling, mit einem Rasberry Pi 3.
Darauf habe ich von Debian die Jessie laufen. leider scheiter ich an folgendem aus der Anleitung die PiPSIT module zu installieren

Ausdruck aus der Beschreibung
Zum Einbinden des Webserver-Moduls als ReSpawn-Process fügen Sie
bei Rasbian-Wheezy die folgende Zeile am Ende der /etc/inittab ein:

# PiPS-It! Webserver-Modul
www:2:respawn:/bin/su pi -c "cd /home/pi/pips && nohup ./bin/r3 Webserver.r"

Ab der Jessie-Distribution ist ein entsprechender systemd-Service
einzurichten.
ende

kann mir jemand einen oder mehrere Tipps geben, wie ich da vorgehe.
Google hat mich da auch nicht weitergebracht.

vielen dank

georg

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: PiPSIT auf Jessie einrichten

Beitrag von MSfree » 23.11.2016 17:56:02

Du mußt im Verzeichnis /lib/systemd/sytem eine service-Datei erstellen, z.B. mit dem Namen pipsit.service und folgendem Inhalt:

Code: Alles auswählen

#  Selbstgestrickte Datei

[Unit]
Description=Pipsit Web Interface
After=newtwork.service

[Service]
ExecStart=/home/pi/pips/bin/r3 Webserver.r
Type=simple
Restart=always
KillMode=process

[Install]
WantedBy=multi-user.target
Das ganze gefolgt von folgernden Befehlen:

Code: Alles auswählen

systemctl reload pipsit
systemctl enable pipsit
systemctl start pipsit

muscat
Beiträge: 11
Registriert: 23.11.2016 12:19:23

Re: PiPSIT auf Jessie einrichten

Beitrag von muscat » 23.11.2016 21:14:19

hallo MSfree,

erstmal danke. noch eine kleine frage,


Das ganze gefolgt von folgernden Befehlen:

Code: Alles auswählen

systemctl reload pipsit
systemctl enable pipsit
systemctl start pipsit
[/quote]

kommt das in die gleiche datei oder wohin soll ich das schreiben?

thanks

georg

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: PiPSIT auf Jessie einrichten

Beitrag von MSfree » 23.11.2016 22:29:11

muscat hat geschrieben:kommt das in die gleiche datei oder wohin soll ich das schreiben?
Es reicht, die Befehle einmal in die Kommandozeile zu tippen. Der erste registriert die neu erstellte Datei beim Systemd, der zweite schaltet den neuen Dienst an und der dritte startet ihn. Danach braucht du dich nicht mehr drum zu kümmern, die Einstellungen überleben auch ein Reboot.

muscat
Beiträge: 11
Registriert: 23.11.2016 12:19:23

Re: PiPSIT auf Jessie einrichten

Beitrag von muscat » 24.11.2016 19:51:25

hallo MSfree,

hab mich weiter damit beschäftigt, leider ohne Erfolg.
das einfügen der Datei pipsit.service in den Ordner /lib/systemd/system/ habe ich umständlich mit gksudo leafpad ... hinbekommen. Ein kopieren ist mir nicht gelungen, wegen der Berechtigungen. hast du da einen Tip?

Auf der Konsole bekommen ich, wenn ich
systemctl reload pipsit
eingebe
die Fehlermeldung : JOb type reload is not applicable for unit pipsit.service.

Beworben wurde das Programm mit folgendem:
Installation & Start: Die Software kommt als Tarball, welcher nur entpackt werden muss (tar xvf PiPSIt.tar) und schon steht die "PiPS-It!" Management Software einsatzbereit auf dem Raspberry Pi zur Verfügung. Durch manuellen Aufruf des Shell-Skripts ./PiPSIt.sh start wird das PiPS-It! Webserver-Modul auf dem Raspberry Pi gestartet. Dieses Skript kann natürlich auch als init-Skript zum automatischen Starten von PiPS-It! ins System eingebunden werden.

aber nach eingabe ./PiPSIt.sh start in die Konsole
sehe ich das Modul rot unterlegt und mit failed bei active und sub.

Ich danke dir erstmal, wenn dir noch was einfällt gerne.
Ich werde einmal ne nacht drüber schlafen, und dann ev. den Hersteller anschreiben.

thank

georg

TomL

Re: PiPSIT auf Jessie einrichten

Beitrag von TomL » 24.11.2016 21:43:03

Die Service-Unit muss in /etc/systemd/system erstellt werden. Also z.B.

Code: Alles auswählen

nano /etc/systemd/system/pipsit.service
Achte auf meine Änderungen in der Unit:

Code: Alles auswählen

[Unit]
Description=Pipsit Web Interface
After=network.target

[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/home/pi/pips/bin/r3 Webserver.r
#ExecStart=/bin/sh -c "cd /home/pi/pips && ./bin/r3 Webserver.r >> nohup.out"
Restart=always
KillMode=process

[Install]
WantedBy=multi-user.target
Den "reload" brauchst Du nicht, das ist nur notwendig, wenn eine bereits aktive Unit geändert wird. Das erfolgt üblicherweise mit

Code: Alles auswählen

systemctl daemon-reload
Ansonsten zuerst starten und danach sofort den Job-Status kontrollieren:

Code: Alles auswählen

systemctl start pipsit.service
systemctl status pipsit.service
Und erst wenn keine Fehler erkennbar sind, dann für den Systemstart aktivieren:

Code: Alles auswählen

systemctl enable pipsit.service
Wobei es möglich ist, dass der ExecStart so nicht richtig ist... schau mal hier nach.. ich habe hier beide Versionen eingetragen und würde es erst so testen, dann mit der anderen Variante.
https://www.raspberrypi.org/forums/view ... 75&t=72302

HTH
Zuletzt geändert von TomL am 25.11.2016 11:14:51, insgesamt 1-mal geändert.

muscat
Beiträge: 11
Registriert: 23.11.2016 12:19:23

Re: PiPSIT auf Jessie einrichten

Beitrag von muscat » 25.11.2016 10:32:16

Hallo Thomas,

es sind einige Erfolge zu verzeichnen. Danke.
Ich konnte dein Modul aber nicht mit nano sonder habe es mit gksudo leafpad eingegeben.
die Befehle

system start pipsit.service
system status pipsit.service

habe ich mit
sudo systemctl ....
eingegeben.

die obige status abfrage erzeugt allerdings folgenden Fehler
raspberrypi r3 (534) ** acces error: script not found: %Webserver.r
zu deiner Zeile
ExecStart=/home/pi/pips/bin/r3 Webserver.r
die ausführbare Datei r3 ist im entsprechenden Ordner vorhaben.

kurz vor einem Erfolg, was mach ich noch falsch?

thans

georg

muscat
Beiträge: 11
Registriert: 23.11.2016 12:19:23

Re: PiPSIT auf Jessie einrichten

Beitrag von muscat » 25.11.2016 10:38:46

hey,

sehe gerade, dass da schon ein eintrag mit
Execstart war. hier mal der Status

pi@raspberrypi:~ $ sudo systemctl status -l pipsit.service
● pipsit.service - Pipsit Web Interface
Loaded: loaded (/etc/systemd/system/pipsit.service; enabled)
Active: active (exited) since Fr 2016-11-25 09:16:30 UTC; 2min 20s ago
Process: 534 ExecStart=/home/pi/pips/bin/r3 Webserver.r (code=exited, status=0/SUCCESS)
Main PID: 534 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/pipsit.service

Nov 25 09:16:30 raspberrypi systemd[1]: Starting Pipsit Web Interface...
Nov 25 09:16:30 raspberrypi systemd[1]: Started Pipsit Web Interface.
Nov 25 09:16:30 raspberrypi r3[534]: ** access error: script not found: %Webserver.r
Nov 25 09:16:30 raspberrypi r3[534]: >>
pi@raspberrypi:~ $

muscat
Beiträge: 11
Registriert: 23.11.2016 12:19:23

Re: PiPSIT auf Jessie einrichten

Beitrag von muscat » 25.11.2016 11:02:42

und nochmal hallo,

Ich sehe das Webinterface. habe das script ein wenig hin und herkopiert.

Danke erstmal an Thomas und MSfree

georg

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: PiPSIT auf Jessie einrichten

Beitrag von MSfree » 25.11.2016 11:48:31

muscat hat geschrieben:Ich sehe das Webinterface. habe das script ein wenig hin und herkopiert.
Du hättest auch die Kommandozeile in der Dateie pipsit.service entsprechend anpassen können

statt:

Code: Alles auswählen

ExecStart=/home/pi/pips/bin/r3 Webserver.r
so etwas:

Code: Alles auswählen

ExecStart=/home/pi/pips/bin/r3 /voller/Pfad/zur/Webserver.r

TomL

Re: PiPSIT auf Jessie einrichten

Beitrag von TomL » 25.11.2016 12:06:22

muscat hat geschrieben: system start pipsit.service
system status pipsit.service

habe ich mit
sudo systemctl ....
eingegeben.
Entschuldige ... :hail: ... elende Flüchtigkeitsfehler.... natürlich muss es 'systemctl' heissen. Das passiert, wenn die Finger am Stauende der Gedanken stehen und nicht hinterherkommen. Ich würde unbedingt msfrees's letzten Vorschlag mit korrekten Pfaden befolgen. Das ist bei systemd-service-units obligatorisch.

Darüber hinaus möchte ich auch noch ein paar Ratschläge loswerden.
1. binary's haben im Home-Dir überhaupt nichts verloren. Deshalb nicht, weil der User volle Ändernrechte hat. Aus Sicherheitsgründen würde ich das nach /usr/local/bin verschieben und die Schreibrechte auf "root" begrenzen. Ausführen 'alle', ändern 'nur root'. Das ist nicht nur ein gut-gemeinter Rat, den man "kann" oder "vielleicht auch nicht".... das ist m.M.n. zwingend notwendig.

2. Ich würde den root-account aktivieren und künftig sämtliche System-Änderungen nur im root-Account vornehmen

3. Ich würde einen neuen User einrichten, z.B. Dich selber und dafür den User "pi" entfernen. Der User "pi" und vor allem mit dem nicht-geänderten Standard-Password und gleichzeitig einem leichtsinnig gehandhabten SSH-Zugang ist ein offenes Scheunentor und öffnet große Möglichkeiten der Fremdübernahme des Pi's, wenn er am Netz hängt.

4. Ich würde den SSH-Zugang korrekt einstellen: kein root-Zugang, kein Password, nur 'User', nur mit Keys und Passphrase.

5. Ich würde mir sehr sorgfältig jegliches Web-Interface sowie den Web-Server genauestens ansehen, ob vielleicht Dinge damit möglich sind, die ich nicht beabsichtige und die möglicherweise völlig gegen meine eigentlichen Interessen sind.... hinsichtlich des Schutzes meines eigenen Netzwerkes, meiner Daten und Aktivitäten im Netz.

muscat
Beiträge: 11
Registriert: 23.11.2016 12:19:23

Re: PiPSIT auf Jessie einrichten

Beitrag von muscat » 27.11.2016 16:01:29

Ich möchte mich nochmal bei
MSfree und TomL
bedanken.

Bin noch ein blutiger Anfänger auf dem Raspberry mit Linus und Debian. Habe als Rentner aber Zeit, und es sollte mein neues Hobby werden.

Also noch einen schönen Restsonntag.

georg

Antworten