eigenständige Installation (für erfahrene User)
Inhalt
Diese Anleitung basiert auf Windows. Für andere Betriebssysteme muss evtl. eine andere Vorgehensweise gewählt werden (z.B. beschreiben der SD-Karte.
Betriebssystem RASPBIAN LITE
Download RASPBIAN LITE
Dieses entpacken wir und müssen es auf die SD-Karte schreiben.
Dafür laden wir uns das Programm Win 32 Disk Imager von Sourceforge herunter entpacken und installieren dieses. (auf einem Mac muss z.B. ein anderes Programm “Etcher” anstelle von win 32 Disk Imager)
Um später auf die Konsole des Raspberry Pi’s zu gelangen benötigen wir noch ein weiteres Programm z.B. Putty. Dieses können wir hier herunterladen: putty (Im Falle von Mac brauchen wir die Konsole)
Auch dieses entpacken wir nach dem Download.
Jetzt legen wir mind. 8GB SD Karte in einen Kartenleser ein und warten bis Windows diese erkannt hat.
Danach starten wir den »Win32DiskImager.exe«, wählen das Image [Image File] und den Laufwerksbuchstaben [Device] der Speicherkarte aus
und starten den Schreibvorgang mit einem Klick auf [Write] –> ACHTUNG nicht das falsche Laufwerk!
Wenn der Vorgang abgeschlossen ist und wir über Tastatur, Monitor und/oder USB-Ethernet Adapter verfügen, können wir die Speicherkarte in Windows auswerfen.
Für den Fall, dass wir nicht über Tastatur, Monitor und/oder USB-Ethernet Adapter verfügen oder wir direkt über putty zugreifen wollen, sind zwei Dateien im root Ordner auf der SD-Karte zu erstellen:
Eine leere Datei mit dem Namen ssh ohne jegliche Dateiendung und
eine Datei mit dem Namen wpa_supplicant.conf mit dem Inhalt (ESSID und die PASSPHRASE sind durch die Zuangsdaten für unser WLAN zu ersetzen):
1
2
3
4
5
6
7
8
9
# Datei wpa_supplicant.conf in der Boot-Partition (Raspbian Stretch)
country=DE #omit if US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="ESSID "
psk="PASSPHRASE"
key_mgmt=WPA-PSK
}
Sofern dies geschehen ist können wir auch die Speicherkarte in Windows auswerfen.
Die Speicherkarte stecken wir in den Raspberry PI.
Sofern gewollt und verfügbar, schließen wir jetzt eine USB Tastatur, einen HDMI Monitor (Fernseher) und ein mind. 1A starkes Micro USB Netzteil an. Sofern der Raspberry PI einen Ethernetanschluss hat, schließen wir zudem ein Netzwerk-Kabel an.
Danach wird das USB Netzteil an den Strom angeschlossen.
Der Raspberry Pi startet nun und auf dem Monitor sollte der Boot-Vorgang sichtbar sein.
Sofern die beiden Dateien im Root Verzeichnis angelegt wurden, können wir über Putty zugreifen. Siehe dazu in der Anleitung später.
Einloggen mit (Achtung! Tastatur noch falsch konfiguriert [z=y]):
Benutzername: pi
Passwort: raspberry
Danach führen wir den Assistenten aus
1
sudo raspi-config
(Achtung! Tastatur noch falsch konfiguriert [-=ß])
und richten folgende Einstellungen ein (die einzelnen Punkt können ggf. unter anderen Nummern stehen):
2 Network Options (bei raspberry pi zero)
N2 Wi-fi
8 Update (sofern wir keinen Ethernetanschluss und kein WLAN zur Verfügung haben, fällt dieser Punkt weg bzw. kann zu einem späteren Zeitpunkt nachgeholt werden)
7 Advanced Options
A1 Expand Filesystem
A3 Memory Split auf »8« damit mehr RAM für die Ausführung der Dienste zur Verfügung steht
1 Change User Password for User pi
2 Hostname ändern auf z.B. »rpi-Pi-Ager«
4 Internationalisation Options
I1 Standard Locale »de_DE.UTF-8 UTF-8« hinzufügen und als Standard auswählen
I2 Als Zeitzone »Europe / Berlin« auswählen
I3 Als Tastatur "Generic 105-key (Intel) PC" bestätigen und als Sprache "other" / "German" auswählen, alle anderen Optionen auf Standardwerten belassen
I4 DE als WiFi auswählen
5 Interface Options
P2 SSH »enable«
P6 Serial »disable« (Also 2mal auf NEIN klicken!!)
Finish
Danach sollten wir gefragt werden, ob wir neu starten wollen. Dies beantworten wir mit Ja.
Sollte die Frage nicht gestellt werden müssen wir den Raspberry manuell starten.
1
2
sudo sync
sudo reboot
Sofern kein Ethernetanschluss gegeben ist, aber ein WLAN-Stick zur Verfügung steht sollte jetzt Punkt WiFi-Verbindung vorgezogen werden.
Ab jetzt ist es möglich auch mittels PC und Zusatzprogramm wie z.B. Putty auf den Raspberry PI zuzugreifen. Dafür müssen wir in unserem Router nachsehen, welche IP vergeben wurde. Mittels dieser können wir uns dann per Putty verbinden. Der Port ist 22
Sobald wir uns wieder eingeloggt haben, machen wir ein Update (Sofern kein LAN-Kabel angeschlossen ist, oder kann (Bsp. Rapberry PI Zero zuerst die Anleitung WiFi-Verbindung weiter unten befolgen!)
1
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade
Jetzt aktivieren wir den “root” User, indem wir für den Benutzer ein Passwort vergeben:
1
sudo passwd
Und falls wir uns mittels SSH als root einloggen wollen, müssen wir die config noch anpassen:
1
sudo nano /etc/ssh/sshd_config
Hier suchen wir nach folgender Zeile:
1
2
3
4
5
6
#Authentication:
#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
und ändert diese wie folgt ab
1
2
3
4
5
6
#Authentication:
LoginGraceTime 2m
PermitRootLogin yes
StrictModes yes
MaxAuthTries 6
MaxSessions 10
Jetzt Speichern wir mit “STRG+o”, “RETURN” und schließen mit “STRG+x”
Einmal noch neu starten
1
2
sudo sync
sudo reboot
WiFi-Verbindung
(sofern nicht schon über raspi-config eingerichtet)
Den USB-WIFI-Stick nur anstecken, wenn der PI ausgeschaltet ist oder wir einen aktiven USB HUB verwenden –> sonst startet der Raspberry PI durch den Spannungseinbruch unschön von selbst…
Wenn der USB-WIFI-Stick angesteckt und der PI hochgefahren ist oder es sich um einen Raspberry PI Zero W handelt, geben wir folgendes ein um zu sehen, ob er als USB-Device erkannt wurde:
1
lsusb
Es sollte dann in etwa dieses angezeigt werden:
1
2
3
4
5
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 046a:0023 Cherry GmbH CyMotion Master Linux Keyboard
Bus 001 Device 005: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter (o.ä.)
Danach testen wir ob der Stick auch als USB-WIFI-Stick erkannt wurde:
1
iwconfig wlan0
Es sollte in etwa so aussehen:
1
2
3
4
5
6
7
8
wlan0 unassociated Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency=2.412 GHz Access Point: Not-Associated
Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management:on
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Eine Anmerkung zum Power Management: Sofern dies auf on steht, sollte dies auf off gesetzt werden und danach kontrolliert werden:
1
2
sudo iw wlan0 set power_save off
iw wlan0 get power_save
Mit folgendem Befehl können wir die verfügbaren Netzwerke auflisten:
1
iwlist wlan0 scanning
Zum Schreiben des WLAN Keys sind höhere Rechte notwendig (root)
1
sudo su -
Nun geben wir folgendes ein und passen die ESSID und die PASSPHRASE für unser WLAN an. Damit auch Leerzeichen in der ESSID oder Passwort erkannt werden, müssen diese mit “ maskiert werden. ( Das Passwort und die ESSID muss in Gänsefüßchen gesetzt werden bsp. “MEINE ESSID MIT LEERZEICHEN” “MEINE PASSPHRASE MIT LEERZEICHEN”)
1
wpa_passphrase "ESSID" "PASSPHRASE" >> /etc/wpa_supplicant/wpa_supplicant.conf
mit [STRG] + [D] kehren wir wieder zum Benutzer PI zurück. Nun können wir uns ansehen, ob das WLan auch eingetragen wurde :
1
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Ergebnis in etwa so:
1
2
3
4
5
6
7
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="DEIN_WLAN_NAME"
#psk="BlaBla-Echter Key"
psk=lksdfj09o4pokpofdgkpß0jppkspdfkpsß09i4popok
}
Sofern in der Datei Konfigurationen stehen, die sicher nicht benötigt werden, können wir diese herauslöschen und mittels “STRG+o”, “RETURN” und schließen mit “STRG+x”
Nun aktivieren wir die WLAN-Konfiguration und sehen, ob es geklappt hat:
1
2
sudo ifdown wlan0
sudo ifup wlan0
Evtl. kann auch ein reboot helfen:
1
sudo reboot
Eingabe
1
iwconfig wlan0
Ergebnis in etwa:
1
2
3
4
5
6
7
8
wlan0 IEEE 802.11bgn ESSID:"PK-NEW" Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency:2.412 GHz Access Point: DC:9F:DB:FD:E7:A0
Bit Rate:150 Mb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Power Management: on
Link Quality=83/100 Signal level=50/100 Noise level=0/100
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Eingabe:
1
ifconfig wlan0
Ergebnis in etwa:
1
2
3
4
5
6
7
wlan0 Link encap:Ethernet Hardware Adresse 64:70:02:23:ef:11
inet Adresse:192.168.0.52 Bcast:192.168.200.255 Maske:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:10 errors:0 dropped:17 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:2001 (1.9 KiB) TX bytes:1036 (1.0 KiB)
Wenn wir eine IP aus eurem DHCP Bereich seht, haben wir es geschafft und können uns ab sofort auch über WLAN verbinden.
Softwarepakete
lighttpd
Zuerst aktualisieren wir die Pakete:
1
2
sudo apt-get update
sudo apt-get upgrade
Jetzt installieren wir den webserver lighttpd
1
sudo apt-get install lighttpd
Die Frage ob wir das wirklich wollen, beantworten wir mit “Ja”.
Nach der Installation wird der Dienst automatisch gestartet. Dies können wir überprüfen:
1
sudo systemctl status lighttpd
Damit auch bei anderen Betriebsversionen die Funktionalität gegeben ist, müssen wir das DocumentRoot-Verzeichnis für den Webserver umstellen. Standardmäßig ist der neue Pfad /var/www/html/, dies ändern wir auf /var/www/ (Früher war das so). Dazu editieren wir die Konfigurationsdatei 000-default.conf in /etc/apache2/sites-available/
1
sudo nano /etc/lighttpd/lighttpd.conf
und ändern den Parameter
1
server.document-root = "/var/www/html"
nach
1
server.document-root = "/var/www"
und speichern dies mittels “STRG+o”, “RETURN” und schließen mit “STRG+x”
Damit wir Dateien im Webserververzeichnis ablegen kann, müssen wir noch einige Rechte setzen.
1
2
3
4
sudo groupadd www-data
sudo usermod -G www-data -a pi
sudo chown -R www-data:www-data /var/www
sudo chmod -R 775 /var/www
Zum Test erzeugen wir eine html-Seite im Webverzeichnis:
1
sudo nano /var/www/test.html
mit dem Inhalt
1
2
3
4
5
6
<html>
<head><title>Test-Seite</title></head>
<body>
<h1>Das ist eine Test-Seite.</h1>
</body>
</html>
speichern dies mittels “STRG+o”, “RETURN” und schließen mit “STRG+x” und testen jetzt die Installation.
Evtl. kann auch ein reboot helfen:
1
sudo reboot
Dazu geben wir in unserem Browser die IP Adresse unseres Raspberry PI gefolgt vom /test.html (http://{IP-Adresse_des_Raspberry_Pi}/test.html) ein und sollten die Website sehen.
Nun müssen wir noch die Passwortauthentifizierung für die Settingsseite einrichten. Dazu aktivieren wir das nötige Modul
1
sudo lighty-enable-mod auth
Dieses müssen wir noch konfigurieren und öffnen es dazu im Editor
1
sudo nano /etc/lighttpd/conf-enabled/05-auth.conf
Folgende Zeilen werden unter server.modules += („mod_auth“) hinzugefügt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
auth.backend = "htdigest"
auth.backend.htdigest.userfile = "/var/.htcredentials"
auth.require = ( "/settings.php" =>
(
"method" => "digest",
"realm" => "Pi-Ager",
"require" => "user=pi-ager"
),
"/admin.php" =>
(
"method" => "digest",
"realm" => "Pi-Ager",
"require" => "valid-user"
),
"/webcam.php" =>
(
"method" => "digest",
"realm" => "Pi-Ager",
"require" => "valid-user"
)
)
speichern dies mittels “STRG+o”, “RETURN” und schließen mit “STRG+x” und starten den Webserver neu
1
sudo service lighttpd force-reload
PHP 7
Jetzt installieren wir PHP7 unterstützung für lighttpd
1
2
sudo apt-get update
sudo apt-get install php7.0-common php7.0-cgi php7.0 php7.0-sqlite3
Die Frage ob wir das wirklich wollen beantworten wir mit “Ja”.
Nach der Installation von PHP7 müssen wir das FastCGI-Modul für PHP aktivieren und die ighttpd-Konfiguration neu laden.
1
2
3
sudo lighty-enable-mod fastcgi
sudo lighty-enable-mod fastcgi-php
sudo service lighttpd force-reload
Jetzt erzeugen wir zum Test eine phpinfo.php im Webverzeichnis
1
sudo nano /var/www/phpinfo.php
Inhalt:
<?php phpinfo(); ?>
speichern dies mittels “STRG+o”, “RETURN” und schließen mit “STRG+x” und testen jetzt die Installation.
Dazu geben wir in unserem Browser die IP Adresse unseres Raspberry PI gefolgt vom /test.html (http://{IP-Adresse_des_Raspberry_Pi}/phpinfo.php) ein und sollten eine Info-Website zu PHP sehen.
Jetzt beschleunigen wir das ganze System noch ein wenig, in dem wir das Caching aktivieren.
1
2
sudo apt-get update
sudo apt-get install php7.0-apcu
Die Frage ob wir das wirklich wollen beantworten wir mit “Ja”.
Dann müssen wir noch einige Einstellungen am APC Cache vornehmen. Dazu öffnet man die APC-Konfigurationsdatei
1
sudo nano /etc/php/7.0/mods-available/apcu_bc.ini
und nehmen folgende Änderungen vor:
extension=apc.so
apc.enabled=1
apc.file_update_protection=2
apc.optimization=0
apc.shm_size=32M
apc.include_once_override=0
apc.shm_segments=1
apc.gc_ttl=7200
apc.ttl=7200
apc.num_files_hint=1024
apc.enable_cli=0
speichern dies mittels “STRG+o”, “RETURN” und schließen mit “STRG+x”.
Des Weiteren berechtigen wir Dateien über die Website mittels x-send-file zu downloaden. Dazu editieren wir die fcgi-configuration:
1
sudo nano /etc/lighttpd/conf-enabled/15-fastcgi-php.conf
und ergänzen am Ende der Zeile
"broken-scriptfilename" => "enable"
ein “,” und in einer neuen Zeile
"allow-x-send-file" => "enable"
speichern dies mittels “STRG+o”, “RETURN” und schließen mit “STRG+x” und testen jetzt die Installation.
Zur Übernahme der Änderungen müssen wir die Konfiguration des Webservers neu laden.
1
sudo service lighttpd force-reload
pip
Danach folgt pip, mit dem Python-Module installiert werden können
1
sudo apt-get install python3-pip
Die Frage ob wir das wirklich wollen, beantworten wir mit “Ja”.
git
Wir benötigen GIT um auf das Repository zugreifen zu können.
1
sudo apt-get install git
Die Frage ob wir das wirklich wollen, beantworten wir mit ja.
sqlite3
Jetzt installieren wir sqlite3 unterstützung
1
sudo apt install sqlite3
sht-sensoren
Unterstützung für SHT-Sensor
1
sudo pip3 install pi-sht1x
DHT-sensoren
Jetzt installieren wir noch die Unterstützung für die DHT-Sensoren
1
2
3
4
git clone https://github.com/bob60/DHT-sensors-python3
sudo apt-get install build-essential python3-dev
cd DHT-sensors-python3
sudo python3 setup.py install
und wechseln zurück in das home-Verzeichnis
1
cd
wiringpi
Nun installieren wir noch Wiring Pi. Dies ist ein nützliches Framework, um die GPIO Ein-und Ausgänge am Raspberry Pi zu schalten.
Dazu klonen wir wiringPi
1
2
3
4
sudo git clone git://git.drogon.net/wiringPi
cd wiringPi
sudo ./build
cd
ZIP
Damit wir z.B. Logfiles zippen können, installieren wir jetzt die ZIP-Unterstützung
1
sudo apt-get install zip
Webcam
nun installieren wir noch mjpegstreamer zum streamen des Webcambildes.
1
2
3
4
sudo apt-get install subversion libjpeg8-dev imagemagick -y
sudo svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer
cd mjpg-streamer
sudo make
verschieben das Programm nach /opt
1
2
cd
sudo mv mjpg-streamer/ /opt/
erstellen ein Startscript
1
sudo nano /opt/mjpg-streamer/webcam.sh
mit dem Inhalt (ohne Zeilenumbruch)
1
2
#!/bin/bash
/opt/mjpg-streamer/mjpg_streamer -i "/opt/mjpg-streamer/input_uvc.so -d /dev/video0 -y -n -f 2" -o "/opt/mjpg-streamer/output_http.so -n -w /opt/mjpg-streamer/www" &
speichern dies mittels “STRG+o”, “RETURN” und schließen mit “STRG+x”
Dann erlauben wir die Ausführung des Scripts
1
sudo chmod +x /opt/mjpg-streamer/webcam.sh
fswebcam
Um ab und an auch mal ein Bild von der Webcam zu speichern installieren wir noch fswebcam
1
sudo apt-get install fswebcam
Die Frage, ob wir das wirklich wollen, beantworten wir mit “Ja”.
Damit sind unsere Installationsvorbereitungen abgeschlossen und wir können uns nun der Reifeschranksteuerung widmen
Programm Reifeschranksteuerung
Jetzt erstellen einen Ordner (pi-ager) im Verzeichniss /opt:
1
sudo mkdir /opt/pi-ager
Wir laden nun die im GitHub zur Verfügung gestellten Dateien aus dem Branch master herunter und entpacken diese.
Auf unserem PC installieren wir uns eine FTP Software (z.B. FileZilla), mit der wir eine Verbindung zu unserem Raspberry Pi aufbauen.
Wir verbinden uns mit sftp://IP-DES_RASPBERRY-PI und dem Benutzer root mit dem dazugehörigen Passwort
und kopieren dann die Dateien aus dem Download-Verzeichnis pi-ager in das gleichnamige Verzeichnis auf dem Raspberry Pi unter /opt/pi-ager.
danach kopieren wir aus dem Download-Verzeichnis var die Dateien sudowebscript.sh und .htcredentials in das gleichnamige Verzeichnis auf dem Raspberry Pi unter /var.
Wir starten nun putty und loggen uns mit dem User pi und dem vergebenen Passwort für pi ein.
Über putty müssen wir nun dieses Shellscript in /etc/sudoers eintragen, damit der www-data User (User der Website) dies ausführen darf. Da ich nano einfacher zum bearbeiten finde, setzen wir diesen zuerst als Standard-Editor
1
export EDITOR=nano
öffnen dann etc/sudoers mit
1
EDITOR=nano sudo -E visudo
und tragen dann in sudoers folgendes nach
1
2
3
4
...
#User privilege specification
root ALL=(ALL:ALL) ALL
...
ein:
1
www-data ALL=NOPASSWD:/var/sudowebscript.sh
Und speichern mittels STRG+O und beenden mit STRG+X
Als nächstes kümmern wir uns um den Autostart des Schranks. Hiermit wird z.B. ermöglicht, das der Schrank nach einem Stromausfall automatisch wieder anläuft. Dazu legen wir eine Datei an:
1
sudo nano /etc/init.d/pi-ager-main.sh
Hinweis: Der nachfolgende Inhalt kann hier kopiert und dann in putty eingefügt werden.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#! /bin/sh
### BEGIN INIT INFO
# Provides: pi-ager-main.sh
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: pi-ager main.py
# Description:
### END INIT INFO
case "$1" in
start)
echo "pi-ager main.py wird gestartet"
# Starte Programm
/usr/bin/python3 /opt/pi-ager/main.py > /dev/null 2>/dev/null &
echo "startvorgang abgeschlossen"
;;
stop)
echo "pi-ager main.py wird beendet"
# Beende Programm
pkill -f main.py
;;
*)
echo "Benutzt: /etc/init.d/pi-ager-main.sh {start|stop}"
exit 1
;;
esac
exit 0
speichern dies mittels “STRG+o”, “RETURN” und schließen mit “STRG+x” und vergeben der Datei dann das Recht ausführbar zu sein
1
sudo chmod 755 /etc/init.d/pi-ager-main.sh
das ganze testen wir auf Funktion indem wir folgenden Befehl auf der Konsole eingeben:
1
sudo /etc/init.d/pi-ager-main.sh start
es sollte folgende ausgabe erscheinen:
1
2
pi-ager main.py wird gestartet
startvorgang abgeschlossen
danach landen wir wieder im sogenannten Prompt und können einen weiteren Befehl absetzen, der den Dienst wieder stoppt:
1
sudo /etc/init.d/pi-ager-main.sh stop
Wenn dies alles erfolgreich war tragen diese Datei als Startroutine ein
1
sudo update-rc.d pi-ager-main.sh defaults
Nun benötigen wir noch eine .htcredentials Datei für die Settingsseite, die unseren User und sein Passwort enthält.
Dazu Benutzen wir das Online-Tool https://websistent.com/tools/htdigest-generator-tool/
Username: pi-ager
REALM: Pi-Ager
Password: Euer Passwort
Achtung! Groß-/Kleinschreibung beachten!
Die Datei öffnen wir mit
1
sudo nano /var/.htcredentials
und fügen den erzeugten String (am besten per kopieren/einfügen) in die Datei ein.
speichern dies mittels “STRG+o”, “RETURN” und schließen mit “STRG+x”
Die Dateien aus dem Download-Verzeichnis www kopieren wir nach /var/www/
Jetzt müssen wir noch ein paar Schreibrechte über Putty oder über FileZilla auf bestimmten Dateien vergeben:
Hier die Befehle für Putty:
1
2
3
4
5
6
sudo chmod 666 /var/www/logs/logfile.txt
sudo chmod 775 /var/www/logs/
sudo chmod 664 /var/www/config/pi-ager.sqlite3
sudo chown -R www-data:www-data /var/www/config/
sudo chmod 555 /var/sudowebscript.sh
sudo chmod 777 /var/www/csv/
Der Benutzer ‘pi’ ist standardmäßig Mitglied in der Gruppe ‘gpio’ und hat daher Zugriff auf die virtuellen Dateien /sys/class/gpio/ … Der Webserver läuft aber als Benutzer ‘www-data’ und ist nicht Mitglied in dieser speziellen Gruppe. Um das zu ändern muss man also den ‘www-data’ Benutzer der Gruppe ‘gpio’ hinzufügen und den Webserver neu starten:
1
2
sudo usermod -G gpio -a www-data
sudo service lighttpd force-reload
jetzt fahren wir den Raspberry Pi mittels
1
sudo halt
herunter und ziehen den Stecker vom Netzteil.
Nun wird der Sensor am Raspberry Pi angeschlossen. Siehe dazu die Bau- und Anschlussanleitung
Sobald dies erfolgt ist, können wir den Raspberry wieder starten, indem wir den Netzstecker wieder anschließen.
Wenn wir nun die Webiste http://IPADRESSE/index.php aufrufen, sollte alles funktionieren.