RPI2 Nach FHEM-Installation kein Zugriff auf Apache/Zoneminder/SSH

Begonnen von RicoT, 24 Juli 2015, 05:09:50

Vorheriges Thema - Nächstes Thema

RicoT

Hallo zusammen...

Ich habe einen Raspberry 2. Auf diesem möchte ich FHEM und Zoneminder laufen lassen. Sobald FHEM installiert ist, bekomme ich keinen Zugriff mehr auf Zoneminder und Apache. Es scheint als würde Apache nicht mehr starten.

Ohne FHEM läuft Zoneminder/Apache problemlos...

Auch per SSH kann ich mich mit Putty nicht mehr verbinden. Das einzige was wirklich noch funktioniert ist der aufruf http://IP:8083/fhem

Sonst geht nichts mehr.

Ich habe keinen Monitor, Tastatur, Maus etc. an meinem Raspberry. Ich mache alles über Putty.

Hat jemand eine Idee?

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Wernieman

Wenn fhem läuft, geht nicht mal ssh?

Also bestehende ssh-Verbindungen bleiben "stehen"?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

RicoT

Wenn ich FHEM installiere, funktioniert nichts mehr außer FHEM.

Beziehungsweise: In dem Moment wenn ich es installiere klappt alles noch. Wenn ich den Raspberry neu starte geht nichts mehr. Ich komme nicht mehr auf die Apache Test-Seite (IP:80), nicht mehr auf Zoneminder (IP/zm) und mit Putty kann ich mich auch nicht mehr auf den Raspberry verbinden. Das einzige was noch funktioniert ist der Aufruf von FHEM (IP:8083/fhem)...

Wernieman

#4
Wenn Du nach der Installation von FHEM fhem startest, also nicht den RasPi neu bootest, funktioniert es dann?

Oder schmiert Dir die laufende ssh-Session ab?

bzw. wie lautet Dein Start-Script?

Edit:
Hast Du Sicherheitssoftware wie SELinux o.Ä. laufen?
Hast Du eine besondere Firewall?
Was hast Du bisher probiert, um den Fehler zu finden?
Probiert, FHEM zu deaktivieren (nicht zu deinstallieren), so das es beim booten nicht gestartet wird, läuft es dann?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

RicoT

Wie gesagt: Wenn alles frisch installiert ist und ich noch nicht neu gestartet habe, funktioniert alles. SSH bleibt auch bestehen. Nur sobald ich den Raspberry das erste mal neu gestartet habe geht nichts mehr außer FHEM.

Ich habe kein eigenes Startscript angelegt. Habe FHEM einmal nach dieser Anleitung https://debian.fhem.de/ und nach dieser Anleitung http://www.meintechblog.de/2013/05/fhem-server-auf-dem-raspberry-pi-in-einer-stunde-einrichten/ installiert.

Bei beiden wird das Startscript automatisch angelegt.

Sicherheitssoftware, Firewall oder ähnliches hab ich nicht installiert auf dem Raspberry.

Und FHEM deaktievieren hab ich noch nicht probiert weil ich ja über Putty nicht mehr darauf zugreifen kann nach einem neustart.

Fehlersuche hab ich so noch garnicht gemacht weil ich nicht weis wo ich anfangen soll. Hat sogar ne Weile gedauert bis ich darauf kam dass Zoneminder nicht funktionieren kann weil Apache scheinbar garnicht gestartet wird...

Wernieman

Also .. nach der Installation IN der ssh (putty) session fhem starten (service fhem start)

DANN gucken, ob Deine ssh-Session noch läuft, wenn nicht, hast Du ein grundsätzliches Problem mit Deinem System. Wenn es läuft, ist fhem erreichbar?

Wenn nach einem Neustart ssh nicht geht, kannst Du über die Weboberfläche von FHEM dieses beenden, läuft dann Fhem?

Wie gut kennst Du Dich mit Linux aus?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

RicoT

FHEM wird ja direkt nach der installation schon von alleine gestartet. Muss nicht extra starten. Habe ja dann auch schon zugriff auf fhem und die Verbindung über Putty bleibt in dem Moment bestehen. Erts wenn ich dann neu starte, kann ich mich danach nicht mehr per Putty verbinden und Zoneminder/Apache hab ich auch keinen zugriff. FHEM selbst funktioniert weiter.

Auf die Idee mit FHEM über Weboberfläche beenden bin ich noch garnicht gekommen. Werd ich gleich mal probieren. Wie war das, einfach nur shutdown? Ich berichte gleich wenn ich es probiert habe.

Linux hab ich minimale Grundkentnisse. Ich weis wie man nano aufruft, rechte vergibt, Verzeichnisse erstellt und anzeigen lässt und so Kleinigkeiten. Aber ohne Google währe ich aufgeschmissen was Linux betrifft...

Wernieman

Wenn grundsätzlich nach einem neustart FHEM läuft, aber ssh nicht, könntest Du testeise den automatischen start von FHEM unterbinden

update-rc.d fhem disable

Wenn Du dann trotzdem Dein ssh-Problem hast, ist bei der Installation was kaputt gegangen ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

RicoT

Na da laus mich doch der Affe...

Wernieman, ich bin zwar Stock Hetero aber währst du jetzt hier, würd ich dich knutschen...

Um nicht alles jedesmal neu aufsetzen zu müssen hab ich mir mein Image vom Raspberry gesichert. Das ist so weit das ich nur noch FHEM installieren muss.

Image mal wieder auf die Speicherkarte geschoben und FHEM installiert.

Zum Reproduzieren erstmal alles wie immer gemacht. Gleicher Fehler wie immer.

Image wieder neu aufgespielt, FHEM installiert und gleich nach der Installation update-rc.d fhem disable ausgeführt. Nach einem Neustart Funktionierten Apache, Zoneminder und Putty. FHEM logischerweise nicht weil es ja ausgeschaltet war.

Habe dann FHEM mit service fhem start gestartet und es funktionierte alles weiterhin.

Habe mir dann gedacht ich probiere mal update-rc.d fhem enable aus und seh mal was nach einem neustart passiert...

...und es funktioniert... Es startet alles, ich hab auf alles Zugriff und Putty funktioniert auch. War erst ungläubig und dachte an einen Zufall. Hab mehrfach neu gestartet und auch komplett runter gefahren und vom Strom getrennt. Aber war kein Zufall... Es funktioniert...

Vielen, vielen Dank... Wenn du in der Nähe von Bad Hersfeld bist sag bescheid... Ich schulde dir ein paar Bier...

RicoT

Ach mann... Zu früh gefreut  :(

Hatte den Raspberry jetzt nen Moment aus und hab wieder genau die gleichen Probleme...

Hab jetzt etwas wieter probiert. Hab im Webinterface von FHEM shutdown eingegeben und dann funktioniert Zoneminder, Apache und Putty wieder. Scheint so als würde FHEM da irgendwas blockieren...

Weitere Ideen???

Wernieman

?? FHEM blockt Dir einen Basisdienst wie ssh ??

1. Config von FHEM?
2. Unter welchem User läuft FHEM?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

RicoT

Meinst du mit config fhem.cfg oder das Startscript?

Ich hoffe mit dem User das mache ich so richtig...

Im Ordner /opt den Befehl ls -l eingeben?

Wenn das so richtig ist steht da:

drwxrwxrwx 10 fhem root 4096 Jul 24 18:28 fhem

Wernieman

Normalerweise würdest Du, wenn fhem läuft, mit
ps aux | grep fhem
den user rausfinden, unter dem FHEM bei Dir läuft. Diesmal .. ist es schwierig, da bei laufendem FHEM Du nicht mehr auf das System kommst ... jedenfalls direkt. Gibt uns bitte mal die /etc/init.d/fhem

Und außerdem Deine fhem.cfg
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

RicoT

/etc/init.d/fhem:
#!/bin/sh
# description: Start or stop the fhem server
# Added by Alex Peuchert

### BEGIN INIT INFO
# Provides:             fhem.pl
# Required-Start:       $local_fs $remote_fs
# Required-Stop:        $local_fs $remote_fs
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    FHEM server
### END INIT INFO

set -e
cd /opt/fhem
port=7072

if test "$2" != "noaptmark"; then
  apt-mark hold fhem > /dev/null
fi

case "$1" in
'start')

        echo "Starting fhem..."

# if you need to start hmland for use with
# Homematic, please start the hmland daemon
# like this (please use correct path and port,
# depending on your installation!)
#
#       /opt/hmcfgusb/hmland -d -p 1234 -r 0
#

        perl fhem.pl fhem.cfg

# if you want to use configDB for configuration,
# use this command to start fhem:
#
#       perl fhem.pl configDB
#
# and remove/comment the above line including fhem.cfg

        RETVAL=$?
        ;;
'stop')
        echo "Stopping fhem..."

# if you want to stop hmland during fhem stop:
#       pkill hmland

        pkill -U fhem perl
        RETVAL=$?
        ;;
'status')
        cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l`
        if [ "$cnt" -eq "0" ] ; then
                echo "fhem is not running"
        else
                echo "fhem is running"
        fi
        ;;
*)
        echo "Usage: $0 { start | stop | status }"
        RETVAL=1
        ;;
esac
exit $RETVAL


fhem.cfg
attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global backup_before_update 0
attr global latitude 50.868222
attr global logfile ./log/fhem-%m-%Y.log
attr global longitude 9.75699
attr global modpath .
attr global motd none
attr global nofork 1
attr global room System
attr global sendStatistics never
attr global statefile ./log/fhem.save
attr global verbose 3

include ./configs/fhemstart.cfg
include ./configs/web.cfg
#include ./configs/wohnzimmer.cfg
#include ./configs/schlafzimmer.cfg
#include ./configs/kinderzimmer.cfg
#include ./configs/arbeitszimmer.cfg
#include ./configs/kueche.cfg
#include ./configs/keller.cfg
#include ./configs/flur.cfg
#include ./configs/handsender.cfg
#include ./configs/kalender.cfg
#include ./configs/wetter.cfg
#include ./configs/tablet.cfg
#include ./configs/fritzbox.cfg
#include ./configs/alarm.cfg


Bei meiner fhem.cfg wahrscheinlich auch noch wichtig die fhemstart.cfg...
define telnetPort telnet 7072 global
attr telnetPort room System

#define hmusb HMLAN localhost:15383
#attr hmusb hmId 121204
#attr hmusb hmKey 01:c0cb6b98a02949a5b971378a2c067517
#attr hmusb hmLanQlen 1_min
#attr hmusb room System

#define CUL CUL /dev/ttyACM0@9600 1212
#attr CUL icon icoSYSTEM.png
#attr CUL room System

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%m-%Y.log fakelog
attr Logfile room Logs

#define autocreate autocreate
#attr autocreate filelog ./log/autocreate.log
#attr autocreate room System

define eventTypes eventTypes ./log/eventTypes.txt
attr eventTypes room Logs

# Disable this to avoid looking for new USB devices on startup
#define initialUsbCheck notify global:INITIALIZED usb create
#attr initialUsbCheck room System


...und die web.cfg
define WEB FHEMWEB 8083 global
attr WEB room System
attr WEB stylesheetPrefix dark

define WEBphone FHEMWEB 8084 global
attr WEBphone HTTPS 1
attr WEBphone basicAuth Umljb1RldHo6Tmljb2xlMDNSaWNv
attr WEBphone hiddenroom input,Save config,Event monitor,Select style,Edit files,Remote doc,Commandref,Logfile,Logs,Everything,detail
attr WEBphone room System
attr WEBphone stylesheetPrefix darksmallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet hiddenroom input,Save config,Event monitor,Select style,Edit files,Remote doc,Commandref,Logfile,Logs,Everything,detail
attr WEBtablet room System
attr WEBtablet stylesheetPrefix darktouchpad2


Die .cfg's dürften eigentlich alle ok sein. Hab halt zum probieren erstmal alles unnötige auskommentiert um zu sehen ob fhem überhaupt läuft. Auch CUL und HM-CFG-USB sind nicht angesteckt. Diese configs hab ich bei mir schon ewigkeiten laufen.

EDIT:

Weiß nicht ob ich es schon geschrieben habe oder ob es unter gegangen ist. FHEM im Webinterface mit shutdown klappt ja. Dann hab ich ja auch wieder Zugriff mit Putty. Dann kann ich auch update-rc.d fhem disable ausführen. Nach einem Neustart starte ich FHEM dann manuell mit service fhem start. In dem Moment wo ich dann manuell starte klappt alles andere ja auch weiterhin. Also ich habe Zugriff auf Apache, Zoneminder, FHEM und Putty...

Das gibt mir dann auch die Gelegenheit ps aux | grep fhem auszuführen. Da bekomme ich dann

root      3007  0.0  0.2   5140  2596 pts/0    S+   21:16   0:00 sudo service fhem start
root      3008  0.0  0.0   1764   336 pts/0    S+   21:16   0:00 /bin/sh /etc/init.d/fhem start
fhem      3016  2.3  1.3  16744 13228 pts/0    S+   21:16   0:01 perl fhem.pl fhem.cfg
pi        3049  0.0  0.1   4148  1864 pts/1    S+   21:17   0:00 grep --color=auto fhem

EDIT 2:

Hier mal noch die Ausgaben von Zoneminder und Apache falls die noch interessant sind...

Zoneminder:
pi        3063  0.0  0.1   4148  1864 pts/1    S+   21:28   0:00 grep --color=auto zoneminder

Apache:
root      2103  0.0  1.4  36120 13616 ?        Ss   21:15   0:00 /usr/sbin/apache2 -k start
www-data  2302  0.0  1.1  36856 11152 ?        S    21:15   0:00 /usr/sbin/apache2 -k start
www-data  2303  0.0  0.6  36144  5700 ?        S    21:15   0:00 /usr/sbin/apache2 -k start
www-data  2304  0.0  0.6  36144  5700 ?        S    21:15   0:00 /usr/sbin/apache2 -k start
www-data  2306  0.0  0.6  36144  5700 ?        S    21:15   0:00 /usr/sbin/apache2 -k start
www-data  2307  0.0  0.6  36144  5700 ?        S    21:15   0:00 /usr/sbin/apache2 -k start
www-data  3050  0.0  0.6  36144  5700 ?        S    21:23   0:00 /usr/sbin/apache2 -k start
pi        3069  0.0  0.1   4152  1804 pts/1    S+   21:29   0:00 grep --color=auto apache

Was vieleicht auch noch interessant ist, wenn ich service fhem start ausführe tut sich in dem Fenster nichts mehr. Ich musste ein neues Fenster auf machen um ps aux | grep fhem ausführen zu können.