Beantwoorden
sb
Professional Superweter
Professional Superweter
Berichten: 5239
TAGGING MASTER! Tag away, my dear! Professional organizer! Krak 2017

Raspberry Pi als web server?

Ik weet dat het mogelijk is, maar hoe moeilijk (makkelijk?) is het om op te zetten? Heeft iemand er persoonlijke ervaring mee? Is het aan te raden? Af te raden? Voor- en nadelen?


  Bjørn (sb) | Ere-Krak
 An angel led me when I was blind, I said 'Take me back, I've changed my mind.'  
    Vergeet niet om likes te geven en/of als oplossing te markeren.
0 Likes
15 reacties
Arnie
Professional Allesweter
Berichten: 1750
Krak 2021 Krak 2022 Krak Hallo zeg! Wat weet jij niet?

Raspberry Pi als web server?

Het hangt met name af van wat je met de webserver wilt doen. Ik heb een rpi in gebruik als domotica server. De gebruikers interface is via een website, zoals dit ook voor veel netwerk apparatuur (routers, switches...) het geval is.

Ik heb voorheen al een LAMP server opgezet op een RPI, met daarop de software TNG voor genealogie (stamboom-onderzoek). Later ben ik overgestapt op een VPS bij een provider in Frankfurt.

Waarschijnlijk wordt het problematisch wannneer je de RPI-webserver bijvoorbeeld als photo-server wilt gebruiken, en de foto-bewerkingen met behulp van de GD library) op de server wilt doen, mutli-user. Of wanneer je een soort van eigen SharePoint wilt bouwen met LibreOffice-Online).

 

Dus kort samengevat - ja, webserver is prima mogelijk, ook met apache, php en mysql-server, maar of het naar wens werkt zal afhankelijk zijn van load (gebruikers en processen).


   Arnie | Krak
   Meten is weten. Gissen is missen.
    Vergeet niet om likes te geven en/of als oplossing te markeren.
0 Likes
sb
Professional Superweter
Professional Superweter
Berichten: 5239
TAGGING MASTER! Tag away, my dear! Professional organizer! Krak 2017

Raspberry Pi als web server?

Voor mij mag het heel simpel zijn. Geen interface, gewoon een simpele HTML5 website, HTTPS zou leuk zijn. Ik heb een eigen domeinnaam en zou die willen koppelen, vandaar.


  Bjørn (sb) | Ere-Krak
 An angel led me when I was blind, I said 'Take me back, I've changed my mind.'  
    Vergeet niet om likes te geven en/of als oplossing te markeren.
0 Likes
kristofDW
Experienced Allesweter
Berichten: 1680
Krak 2021 Krak 2022 Krak Hallo zeg! Wat weet jij niet?

Raspberry Pi als web server?

@sb  Het is mogelijk om een webserver op je R pi te configureren, maar het is niet aan te raden. 

Je moet rekening houden als er enkele gebruikers op je webpagina geconnecteerd zijn, is het laden van de sites traag. Als het de bedoeling is om deze alleen te gebruiken , dus niet met meerdere mensen geconnecteerd is het perfect mogelijk. (weinig load)

Alles hangt af van wat je op de webserver gaat draaien. Puur alleen een website met weinig inhoud of een website met veel filmpjes, links en bewegende beelden. Dit zijn allemaal de factoren die meespelen in de keuze. 


  KristofDW | Krak
  carpé diem.
  Vergeet niet om likes te geven en/of als oplossing te markeren.
0 Likes
sb
Professional Superweter
Professional Superweter
Berichten: 5239
TAGGING MASTER! Tag away, my dear! Professional organizer! Krak 2017

Raspberry Pi als web server?

Puur een simpele website, zeker niet bedoeld voor 100 bezoekers per dag, zelfs niet voor 10. Geen scripts en dergelijke. Misschien om te gebruiken om bepaalde bestanden (text) te downloaden.


  Bjørn (sb) | Ere-Krak
 An angel led me when I was blind, I said 'Take me back, I've changed my mind.'  
    Vergeet niet om likes te geven en/of als oplossing te markeren.
0 Likes
janne_man
Professional Superweter
Berichten: 5211
Dat verdient een trofee! PhD in problem solving! Een echt antwoordkanon jij! De gouden postveer is voor jou

Raspberry Pi als web server?

@sb 

Dat werkt heel goed. Mijn RPI is mediaserver, fileserver en webserver. Ik ben de enkel gebruiker hiervn. De webserver laar me toe om om het even waar toegang te hebben tot mijn bestanden. Het is niet de bedoeling dat ik deze bestanden van op afstand bewerk. Wel om te consulteren. Op de aangeloten schijf staat mijn tweede backup. De enige toegang tot het internet is via https, maar niet via poort 443. Ik gebruik hiervoor een poort die ik in geen enkel lijst tegenkom. Toegang enkel met een sterk wachtwoord.

sb
Professional Superweter
Professional Superweter
Berichten: 5239
TAGGING MASTER! Tag away, my dear! Professional organizer! Krak 2017

Raspberry Pi als web server?

@janne_man 

 

Dat klinkt héél interessant. Kan je me vertellen met welke RPI je werkt en hoe je dit hebt opgezet?


  Bjørn (sb) | Ere-Krak
 An angel led me when I was blind, I said 'Take me back, I've changed my mind.'  
    Vergeet niet om likes te geven en/of als oplossing te markeren.
0 Likes
janne_man
Professional Superweter
Berichten: 5211
Dat verdient een trofee! PhD in problem solving! Een echt antwoordkanon jij! De gouden postveer is voor jou

Raspberry Pi als web server?

Update 2020-12-12 zie teksten in het rood

@sb 

Een RPI 3b+

Voor je tweede deel zie ik twee mogelijkheden:

  • een bestand naar je sturen met al mijn instellingen en gepruts
  • hier (een beetje aangepast) alles geven in een paar keer

Ik ga voor de tweed optie.

Hier volgt de inleiding en het opzetten van de fileserver.

Voorbereiding

Dit document heb ik opgesteld bij de eerste installatie. Bij elke latere installatie zijn er zaken die niet werken. Het is altijd een beetje prutsen. De versie van de rpi, nu Raspberry PI OS, de oude benaming Raspbian, is steeds een variante van Debian. Op de site van Raspberry zie ik dat de voorbereiding nu anders kan en dat met de download de image direct op de sd geschreven wordt.

Voorbereiden op pc of mac

Nieuw:

Download (onder Windows, MacOs of Ubuntu) van op https://www.raspberrypi.org/software/ Raspberry Pi Imager en voer uit.

Mogelijk krijg je eerst enkel de optie om te formateren of een image te installeren.  Kies dan formateren (komt overeen met SD Card Formatter). Na formatteren sluit je Raspberry Pi Imager en voer die opnieuw uit.

Je krijgt de keuze tussen verschillende images die je kan installeren, kies de door u gewenste. Indien er meerdere SD cards of USB sticks aangesloten zijn, kies dan het gewenste medium en voer uit. 

Meestal hoeft je dus op voorhand geen image te downloaden. Als je bijvoorbeeld Noobs wil, dan moet je die image nog wel eerst downloaden.

 

Download https://www.raspberrypi.org/downloads/raspbian/

Gekozen  RASPBIAN STRETCH WITH DESKTOP AND RECOMMENDED SOFTWARE

Mogelijk moet de sd kaart eerst geformateerd worden met SD Card Formatter

Gebruik ETCHER  https://www.balena.io/etcher/ om het gedownloade bestand naar de usb-stick over te brengen. Kies het gedownloade bestand en kies het medium waarop het moet komen (micro SD voor RaspberryPi, USB stick voor pc of mac.

Initiële installatie van Raspbian

 

SD kaart in Raspberry, HDMI, Toetsenbord en muis aansluiten en dan aanzetten

 

Raspbian start nu voor de eerste keer op. Je krijgt een eerste scherm waar je het land kiest. Je kan ook taal en tijdzone aanpassen. Je kan een nieuw wachtwoord voor de gebruiker pi instellen.     

 

Country: Belgium

[Language: Flemish]

[Time Zone: Brussels]

Nieuw wachtwoord voor pi: xxxxxxxx  gebruik een lang en gemakkelijke te onthouden wachtwoord

Wachtwoord voor indien enkel draadloos verbonden.

 

Automatische herstart van Raspberry

Hostnaam, SSH en VNC

Op het raspberrypi iconntje klikken, voorkeuren, Raspberrypi Configuratie programma

Onder de tab Systeem: Hostname aanpassen (optioneel) MijnRPI

Onder de tab Interfaces: SSH en VNC op aanzetten

Onderaan het venster op OK drukken

 

Rebooten

Vast ip-adres instellen

 

sudo nano /etc/dhcpcd.conf

Toevoegen

interface eth0
static ip_address=192.168.0.11
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

interface wlan0
static ip_address=192.168.0.21
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

 

Opmerking: de lijn static_ip_address is verdwenen en vervangen door: inform 192.168.0.21

sudo ip link set eth0 down

sudo ip link set eth0 up

of

sudo ip link set wlan0 down

sudo ip link set wlan0 up

 

Om geen problemen te hebben is de reboot aanbevolen 

Indien na het uit- en terug aanzetten het ip adres niet veranderd is in de vaste waarde dan:

sudo reboot

Mappenstructuur vastleggen voor gedeelte bestanden

 

sudo mkdir /share

sudo mkdir /share/disk1            # eventueel ook met disk2, 3, …

 

sudo chmod 1775 /share

sudo chmod 1775 /share/disk1       # idem

NTFS schijf toevoegen (lezen en schrijven)

 

sudo apt-get install ntfs-3g

 

Opmerking: zodra een ntfs schijf aangesloten wordt, wordt deze onmiddellijk herkend en gemount onder /media/pi/naam_schijf  Deze schijf is enkel leesbaar (filesystem = ntfs).

 

Ik wens de shared schijven steeds op dezelfde dev te mounten. Daarom gebruik ik de UUID van de schijf. (Om de label te gebuiken wordt by-uuid vervangen door by-label en UUID door LABEL).

 

ls /dev/disk/by-uuid/ -l

 

extract van de uitvoer:

 

lrwxrwxrwx 1 root root 10 nov 17 21:31 4C4623D14623BB1A -> ../../sda1

 

sudo nano /etc/fstab

 

toevoegen van:

      UUID=4C4623D14623BB1A  /share/disk1  ntfs-3g auto,users,permissions,nofail  0 0

 

sudo umount /dev/disk1

sudo mount /share/disk1

sudo chown pi:pi /share/disk1

sudo chown pi:pi /share/disk1/Jean

File server instellen (Samba)

 

sudo apt-get install samba samba-common-bin

 

sudo nano /etc/samba/smb.conf

 

verander workgroup = WORKGROUP in
            workgroup = STREEK
            Ik denk dat dit met Win10 niet meer nodig is, ik gebruikte een andere naam dan de verstekwaarde van Windows: WORKGROUP

toevoegen of aanpassen onder [homes]

#   browseable = no

admin users = jean

browseabble = yes

security=user

 

achteraan toevoegen:

[Jean]

        Path=/share/disk1/Jean

        Read only=no

        Browseable=yes

        Writable=yes

        Guest ok=no

        Valid users=jean

        Create mask=0777

        Directory mask=0777

 

[Naam2]

   Path=/share/disk1/Naam2

        Read only=no

        Browseable=yes

        Writable=yes

        Guest ok=no

        Valid users=user2,jean

        Create mask=0777

        Directory mask=0777

 

 

Er kunnen enkel smb users aangemaakt worden als ze ook als rasbian user bestaan.

sudo adduser jean

      xxxxxxxx          een lang wachtwoord en moeilijk wachtwoord

sudo adduser user2

      xxxxxxxx          een lang wachtwoord en moeilijk wachtwoord

sudo smbpasswd –a jean

      xxxxxxxx          als het binnen eigen netwerk is, kan een gemakkelijk wachtwoord gebruikt worden

sudo smbpasswd –a user2

      xxxxxxxx          als het binnen eigen netwerk is, kan een gemakkelijk wachtwoord gebruikt worden

 

sudo /etc/init.d/samba restart 

File server: Instellingen op PC

 

In C:\Windows\System32\drivers\etc\hosts (doen als administrator)

     Toevoegen:

#  Om met één gebruiker meerdere shared verbindingen te hebben met MijnRPI

#  moet telkens een andere hostnaam gebruikt worden. Op het internet vond ik

#  het advies om de tweede keer het ip-adres te gebruiken. NT-servers hebben

#  de mogelijkheid om aliassen te geven. Ik heb dan eens geprobeerd om

#  meerdere keren het zelfde ip te gebruiken, steeds met een andere naam.

#  De meest algemene naam is dit:

192.168.0.21    MijnRPI

192.168.0.21    MijnRPI1

192.168.0.21    MijnRPI2

192.168.0.21    MijnRPI3

janne_man
Professional Superweter
Berichten: 5211
Dat verdient een trofee! PhD in problem solving! Een echt antwoordkanon jij! De gouden postveer is voor jou

Raspberry Pi als web server?

Media server installeren (MINIDLNA)

 

sudo apt-get install minidlna

 

sudo nano /etc/minidlna.conf

toevoegen:

            user minidlna

in commentaar zetten

            #media_dir=/var/lib/minidlna

toevoegen:

media_dir=/share/disk1

media_dir=A,/share/disk1/Muziek

media_dir=PV,/share/disk1/Beeld

friendly_name= MijnRPI

 

achteraf toegevoegd om enkel te browsen via mappenstructuur:

            root_container=B

 

sudo service minidlna start

sudo service minidlna force-reload

 

Voor een nieuwe scan: sudo minidlna –R opgelet nu sudo minidlnad -R

daarna herstarten: sudo service minidlna restart

 

In de crontab toegevoegd:

0 0 * * 1 sudo /usr/local/bin/minidlna

Het bestand naar waar verwezen wordt bevat de twee lijntjes voor de nieuwe scan.

janne_man
Professional Superweter
Berichten: 5211
Dat verdient een trofee! PhD in problem solving! Een echt antwoordkanon jij! De gouden postveer is voor jou

Raspberry Pi als web server?

Update 2020-12-12 zie teksten in het rood

Webserver installeren (apache)

 

sudo apt-get install apache2

 

Een zelf ondertekend certificaat maken gaat nu automatisch

Eigen certificaat maken voor https toegang

Door het eigen certificaat is er wel versluiering, doch doordat het niet ondersteunt is door een hoger niveau zal de webbrowser een melding geven dat de verbinding niet veilig is.  Men kan toch doorgaan met de browser.

sudo a2enmod ssl       

sudo a2ensite default-ssl

systemctl restart apache2

sudo service apache2 reload

sudo mkdir /etc/apache2/ssl

 

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

 

ingegeven waarden:

BE,,,certificaat,zelf_ondertekend, nascoke, onbekend@e-mail.adres

 

sudo chmod 600 /etc/apache2/ssl/*

Beveiligde webserver activeren (SSL voor https)

 

sudo nano /etc/apache2/sites-enabled/000-default.conf

 

In commentaar zetten:

#<VirtualHost *:80> 

     Toevoegen:

        <VirtualHost *:443 *:12345 zelf_gekozen_poortnummer>

 

toevoegen na ServerAdmin webmaster@localhos

            ServerName MijnRPI

 

Deze twee lijnen aanpassen:

SSLCertificateFile /etc/apache2/ssl/apache.crt

SSLCertificateKeyFile /etc/apache2/ssl/apache.key

 

Service achter poort 80 stoppen

sudo nano /etc/apache2/ports.conf

      In commentaar zetten:

   #Listen 80

 

Waar nu Listen 443 staat ook Listen 12345 met zelfgekozen poortnummer toevoegen.

 

sudo service apache2 reload

 

Elke webserver reageert op zijn manier op een zelfondertekend certificaat. Allen geven een melding dat er gevaar dreigt.

  • Firefox klik op geavanceerd  dat zie je de melding MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT en je kan ook het certificaat bekijken. 
  • Internet Explorer klik op Meer informatie en je ziet als foutmelding: DLG_FLAGS_SEC_CERT_CN_INVALID
  • Chrome, Brave en Microsoft Edge klik op NET::ERR_CERT_AUTHORITY_INVALID en je krijgt het certificaat te zien.

Inhoud webserver

Voor iemand anders:

sudo mkdir /var/www/html/andere

 

sudo ln -s /share/disk1/Jean/Beeld /var/www/html/andere/Beeld

sudo ln -s /share/disk1/Jean/Klank /var/www/html/andere/Klank

 

sudo mv /var/www/html/index.html /var/www/html/apacheX_html

sudo nano /var/www/html/index.html      (opslaan zonder iets in te geven)

 

Voor mij (en gedeeltelijk voor user2):

sudo mkdir /var/www/html/gemakkelijk te onthouden lange naam

 

sudo ln -s /share/disk1  /var/www/html/Voor mij

 

Website met wachtwoord beveiligen (.htaccess)

 

sudo htpasswd -c /etc/apache2/.htpasswd Jean

wachtwoord : xxxxxxxx een lang gemakkelijk te onthouden wachtwoord

 

sudo htpasswd /etc/apache2/.htpasswd iemand_anders

wachtwoord : xxxxxxxx een lang gemakkelijk te onthouden wachtwoord

 

sudo nano /var/www/html/.htaccess

   nieuw

AuthType Basic

AuthUserFile /etc/apache2/.htpasswd

AuthName "Enter password"

Require valid-user

 

sudo nano /etc/apache2/sites-enabled/000-default.conf

toevoegen

<Directory /var/www/html >

 AllowOverride All

</Directory>

 

sudo chmod 755 /var/www/html/.htaccess

sudo chmod 755 /etc/apache2/.htpasswd

 

/etc/init.d/apache2 restart

Webserver: Instellingen op  mijn Telenet

 

Mijn thuisnetwerk, Modem anderes, Geavanceerde instellingen, IP4 Firewall & Poort forwarding

Enkel poort 12345  forwarden naar 192.168.0.21 met TCP protocol.

Mijn site op MijnRPI (de Raspberry) is dus extern enkel bereikbaar met https.

 

Om te beletten dat gebruikersidentificatie en wachtwoord zouden doorgegeven worden met een onbeveiligde verbinding, is er geen service achter poort 443.

 

Opmerking: Vermits ik over geen certificaat beschik dat gevalideerd is door een erkend organisme, maar door mijn eigen, zullen de meeste browsers een foutmelding geven dat de site niet veilig is. Men kan doorgaan en niettegenstaande deze melding is de verbinding op zich  volledig beveiligd. Het onveilige komt enkel door het ‘onveilig’ certificaat.

DDNS No-ip: Instellingen op https://www.noip.com/

 

Inloggen met voorbeeld@hotmail.com of met xxxxx

Ik heb daar twee hostnames:

Naam1.ddns.net  en   naam1.hopto.org (ik heb de tweed niet emeer, maar wel een tweede op ddns.net

DDNS No-Ip: DUC installeren

Dit programma controleert regelmatig of het ip-adres veranderd is. Indien wel, dan wordt de DNS van NO-IP bijgewerkt.

mkdir noip

cd noip

wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz

tar vzxf noip-duc-linux.tar.gz

cd noip-2.1.9-1

sudo make

sudo make install

 

Webserveroproepen

https://MijnRPI/ ddns.net:12345/   geeft een blanco scherm

https://MijnRPI/ ddns.net:12345/apacheX_html geeft het apache scherm

https://MijnRPI/ ddns.net:12345/andere       geeft beeld en klank

https://MijnRPI/ ddns.net:12345/voor mij      geeft alles

De eerste keer krijgt men altijd eerst het inlogscherm.

janne_man
Professional Superweter
Berichten: 5211
Dat verdient een trofee! PhD in problem solving! Een echt antwoordkanon jij! De gouden postveer is voor jou

Raspberry Pi als web server?

Waarom geen echt gratis certificaat:

Ik wilde dit doen, maar dan moeten mijn poorten 80 en 443 open zijn. Dus ik kies. Ik weet welke verwittiging ik  krijg van de browser en twee andere personen die dit soms eens gebruiken weten dat ook. 

0 Likes
janne_man
Professional Superweter
Berichten: 5211
Dat verdient een trofee! PhD in problem solving! Een echt antwoordkanon jij! De gouden postveer is voor jou

Raspberry Pi als web server?

Dit gaat enkel over uitgaande mail.

Instellen voor uitgaande mail naar een smtp server

 

Ik heb eerst nullmailer geprobeerd omdat er bij dit programma veel minder te configureren valt. Het lukte niet. Dan ben ik overgeschakeld naar postfix.

 

  1. Mail instellen

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install postfix

 

  1. Mail configureren

sudo nano /etc/postfix/mailname

voorbeeld@telenet.be

 

sudo nano /etc/postfix/main.cf

compatibility_level = 2

inet_interfaces = loopback-only

relayhost = smtp.telenet.be:587

smtp_sasl_auth_enable = yes

smtp_sasl_security_options = noanonymous

smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

smtp_tls_security_level = encrypt

smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

smtp_tls_CApath = /etc/ssl/certs

 

sudo nano /etc/postfix/sasl_passwd

smtp.telenet.be:587 voorbeeld@telenet.be:wachtwoord

 

sudo postmap /etc/postfix/sasl_passwd

 

sudo service postfix reload

 

  1. Mail testen

sendmail -f van_voorbeeld@telenet.be -t naar_voorbeeld@telenet.be

Subject: Test mail van MijnRPI

Dit is een testmail

.

Het alleenstaande punt van de laatste lijn niet vergeten.

 

Om te controleren of er nog mail in de wachtlijst is:

      mailq

 

Om alle mail uit de queue te wissen

sudo postsuper -d ALL deferred

 

De logbestanden van de mail zijn:

/var/log/mail.err

/var/log/mail.log

/var/log/mail.info

/var/log/mail.warn

janne_man
Professional Superweter
Berichten: 5211
Dat verdient een trofee! PhD in problem solving! Een echt antwoordkanon jij! De gouden postveer is voor jou

Raspberry Pi als web server?

Nog wat anderde zaken.

 

Controle of schijven gemount zijn bij het opstarten

 

sudo nano /usr/local/bin/schijf

 

# de sleep $1 is toegevoegd omdat bij een koude start het iets langer duurt eer de schijven gemount zijn.

 

# oproep van deze script: /usr/local/bin <getal>

# het <getal> is de slaaptijd alvorens gecontroleerd wordt op de schijf of schijven gemount zijn

# deze wachttij is van belang in het opstartproces

# $t is de bestemmeling van de mail

# $f is de verzender van de mail

# $1 is de slaaptijd

 

t=naar_voorbeeld@telenet.be

f=`cat /etc/mailname`

 

sleep $1

 

DATUM=`date "+%Y-%m-%d om %H:%M"`

for n in /share/*

    do test -z "`ls $n`" && printf  "From: $f \nSubject: [`hostname`] Op $DATUM is $n ontbrekend.  Einde. \n. \n" |sendmail -f $f -t $t

done

 

Opgelet!: de tekst beginnende met ‘test’ is één lijn. De volgende lijn is de tekst ‘done’.

 

sudo chmod +x /usr/local/bin/schijf

 

Ik wens dat deze controle gebeurt telkens als opgestart wordt. Dit is vooral van belang als er een strommonderbreking geweest is.

 

crontab -e

  @reboot sudo /usr/local/bin/schijf 30

Draadloos koppelen met wps-knop

 

sudo wpa_cli wps_pbc

 

Installatie packages

    

Voor het installeren een update doen van hetgeen reeds geïnstallerd is.

 

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install packagenaam

 

Controleren of een package geïnstalleerd is

 

dpkg --get-selections packagenaam

 

Om een package en zijn configuratie bestanden te wissen

 

   apt-get --purge remove packagenaam of

   sudo apt autoremove

 

Bestanden kopiëren tusssen computers

Vanuit Windows in cmd of PowerShell (niet in een SSH venster):

scp pi@MijnRPI:Documents/test.txt d:\temp\framboos.txt

scp d:\temp\framboos.txt pi@MijnRPI:Documents/test.txt

Bijkomende informatie

 

https://MijnRPI.ddns.net/andere of https://MijnRPI.hopto.org/andere

of

https://MijnRPI.ddns.net/Andere of https://MijnRPI.hopto.org/Andere

Schakelaar voor restart of shutdown

 

janne_man_0-1607282029711.png

 

Software binnenhalen

sudo apt install python3-gpiozero

 

sudo nano /usr/local/bin/shutdown_button.py

#!/usr/bin/python3

# -*- coding: utf-8 -*-

# example gpiozero code that could be used to have a reboot

#  and a shutdown function on one GPIO button

# scruss - 2017-10

 

use_button=27                       # lowest button on PiTFT+

 

from gpiozero import Button

from signal import pause

from subprocess import check_call

 

held_for=0.0

 

def rls():

    global held_for

    if (held_for > 5.0):

            check_call(['/sbin/poweroff'])

    elif (held_for > 2.0):

            check_call(['/sbin/reboot'])

    else:

        held_for = 0.0

 

def hld():

    # callback for when button is held

    #  is called every hold_time seconds

    global held_for

    # need to use max() as held_time resets to zero on last callback

    held_for = max(held_for, button.held_time + button.hold_time)

 

button=Button(use_button, hold_time=1.0, hold_repeat=True)

button.when_held = hld

button.when_released = rls

 

pause() # wait forever

 

sudo chmod +x /usr/local/bin/shutdown_button.py

sudo nano /etc/systemd/system/shutdown_button.service

[Unit]

Description=GPIO shutdown button

After=network.target

 

[Service]

Type=simple

Restart=always

RestartSec=1

User=root

ExecStart=/usr/bin/python3 /usr/local/bin/shutdown_button.py

 

[Install]

WantedBy=multi-user.target

 

sudo systemctl enable shutdown_button.service

sudo systemctl start shutdown_button.service

 

Raspberry start niet op

 

Het komt voor  dat de raspberry blijft hangen in de opstart. Dit kan voorkomen doordat de mount van de schijf of schijven niet gelukt is.

Oplossing 1. Ik start de pc op met een raspbian of ander unix systeem.  Ik sluit de micro sd van de Raspberry aan op de pc. Ik zet de fstab lijntjes in commentaar. Shutdown van pc. Kaartje terug in Raspberry en die terug opstarten. Vervolgens de geplaatste commentaartekens uit de fstab halen. Umount van de schijven en nieuwe mount doen.

Oplossing 2.  fstab aanpassen

# achteraf toegevoegde argumenten in vierde parameter:

#  nofail                      zodat het systeem bij het booten niet vastloopt als het niet lukt

#  x-systemd.device-timeout=4  deverstekwaarde zou 90 seconden zijn, hierdoor wordt het 4 seconden

LABEL=Fram1     /share/disk1     ntfs-3g auto,user,permissions,nofail,x-systemd.device-timeout=4  0       0

 

 

Mounten op andere Linux computer

 

sudo mount -t cifs //192.168.0.21/Jean /mnt/d/test -o user=Jean

 

Dit werkt van de ene RaspberryPi naar de andere, maar niet in de Linux omgeving onder Windows 10.

HDMI CEC uitzetten

 

sudo nano /boot/config.txt

# jdk hdmi Cec uitzetten

hdmi_ignore_cec=1

Metadata muziek aanpassen

sudo apt install kid3

Andere poort voor SSH

sudo nano /etc/ssh/sshd_config

 #Port 22

#AddressFamily any

#ListenAddress 0.0.0.0

#ListenAddress ::

Port 23456

/etc/init.d/ssh restart

 

Op andere computer: ssh pi@192.168.0.12 –p 23456

janne_man
Professional Superweter
Berichten: 5211
Dat verdient een trofee! PhD in problem solving! Een echt antwoordkanon jij! De gouden postveer is voor jou

Raspberry Pi als web server?

Hier en daar kan er een naam staan die niet consistent is. Dit komt omdat ik bij de eerste keer ander namen gebruikt heb en later mogelijk ergens een naam niet aangepast heb. Bovendien heb ik nu (overbodige reactie) toch nog enkel gegevens aangepast.

 

Normaal zou het met alle bovenstaande uitleg moeten lukken om de rpi deftig aan de praat te krijgen.

 

Ik ga binnenkort nog eens opnieuw installeren en proberen alles in mijn document goed aan te passen.

 

EDIT 20:25

Nog een opmerking over de webserver. Eigenlijk heb ik geen pagina's, maar maak ik gebruik van de mappenstructuur van mijn bestanden. Ik kan dus door alles heen wandelen. Voor mij is dat voldoende. Ik kan ergens foto's tonen of een oude familieopname laten horen  of gewoon een bestand raadplegen. Hiervoor heb ik dus geen html nodig.

sb
Professional Superweter
Professional Superweter
Berichten: 5239
TAGGING MASTER! Tag away, my dear! Professional organizer! Krak 2017

Raspberry Pi als web server?

Bedankt, @janne_man ! Een hele boterham. (-: Ik heb een bladwijzer gezet, zodat ik deze op mijn gemak kan raadplegen als ik het nodig heb.


  Bjørn (sb) | Ere-Krak
 An angel led me when I was blind, I said 'Take me back, I've changed my mind.'  
    Vergeet niet om likes te geven en/of als oplossing te markeren.