class: center, middle  # Digitale Veranstaltungstafel ### Apache, PHP & ICS parsen ### Hauke Goos-Habermann #### https://goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - Community-Video-Serie *"Nicht der Weisheit letzter Schluß"* auf
tube.tchncs.de
und
YouTube
mit **beruflichen** oder **privaten Projekten** - Hat für die Kieler LinuxTage ein Veranstaltungstafel gebastelt --- ### Digitale Veranstaltungstafel?  Als Rechner wird ein alter **32-Bit-Rechner** mit **
Devuan 5
** (Debian ohne systemd) und Mate-Desktop verwendet. **Firefox** zeigt laufende und kommende Vorträge/Workshops ähnlich einer Abflugtafel am Flughafen an. Auf dem PC läuft ein **Apache** mit **PHP**, der die Seite mit der **Tafel generiert** und **aktuelle Informationen** aus einer **ICS-Datei** (vom Internet) holt. Bei Netzausfall wird eine zwischengespeicherte Version verwendet. --- ### Grundlegende Einrichtung  Beginnen wir mit der Grundeinrichtung: ```bash # Pakete installieren apt -y install apache2 libapache2-mod-php\ php php-curl ntpdate # Debians Standardseite deaktivieren a2dissite 000-default # WLAN aktivieren, Uhrzeit beim Booten # per NTP setzen echo "/sbin/ifconfig wlan0 up ntpdate-debian" >> /etc/rc.local # Benutzer soll auch WLAN einstellen können adduser test netdev; adduser test video adduser test plugdev ``` --- ### Apache-Seite aktivieren  Apache müssen wir noch mitteilen, in welchem Verzeichnis sich die Dateien der digitalen Veranstaltungstafel befinden: ```bash echo '
DocumentRoot "/var/www/abflugtafel/" ServerSignature Off
AllowOverride All Require all granted
' > \ /etc/apache2/sites-available/abflugtafel.conf # Seite aktivieren: a2ensite abflugtafel # Apache-Konfiguration neu laden service apache2 reload ``` --- ### Webseite importieren + Zugriff einschränken  Nun laden wir das Archiv
abflugtafel.tar.xz
mit der Software nach /tmp herunter. ```bash # Im Webverzeichnis entpacken cd /var/www tar xfvJ /tmp/abflugtafel.tar.xz # Benutzer-/Gruppenrechte auf Apache setzen chown www-data:www-data -R /var/www ``` Rufen wir testweise die Webseite auf: http://[ip]/flughafen.php Da der Zugriff nur von lokalem Webbrowser erlaub sein soll, konfigurieren wir Apache noch um: ```bash echo "Listen localhost:80" > /etc/apache2/ports.conf service apache2 restart ``` --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de