Entwicklung Homeserver

Aus Haus-Bus.de Home Automation System
Wechseln zu: Navigation, Suche

Entwicklungsumgebungen

Es gibt viele Möglichkeiten WebServer zu entwickeln.

VisualStudio Code

XDebug Einrichten

Installiere ACL auf dem Raspberry PI um dem Benutzer "homeserver" Rechte auf dem Verzeichniss /var/www zu geben, dort per SSH Verbindung Daten zu verändern:

  • sudo apt -y install acl
  • sudo setfacl -R -m u:homeserver:rwx /var/www

XDebug installieren phpInfo() ausgabe komplett einfügen und Installationshinweise befolgen.

XDebug configurieren

  • sudo nano /etc/php/7.3/apache2/conf.d/99-xdebug.ini mit folgendem Inhalt anpassen:

    zend_extension = xdebug

    [XDebug]
    xdebug.remote_enable = 1
    xdebug.remote_autostart = 1
    xdebug.mode = debug
    xdebug.start_with_request = yes
    xdebug.client_port = 9000
    xdebug.client_host = ip.des.home.servers

Direkt auf dem PI entwickeln

Wenn auf dem PI der homeserver noch nicht als Git Repository exisiert müssen folgende Schritte gemacht werden

Will man auf dem PI Dateien über die Remote-SSH Verbindung bearbeiten und auch ändern/speichern, so muss man sich als Benutzer www-data anmelden. Dieser ist im Standard-Image aber nur ein service user. D.h. wir müssen ihm erst noch ein Passwort geben und für SSH Logins berechtigen. Dazu müssen folgende Schritte gemacht werden:

  • Passwort für www-data setzen ( sudo passwd www-data )
  • Shell für www-data definieren ( in der Datei /etc/passwd für www-data /usr/sbin/nologin durch /bin/bash ersetzen )

Jetzt kann man aus VSCode sich per Remote - SSH mit dem PI verbinden. Dazu auf das Remote-SSH Icon unten links in der Status-Bar klicken und aus dem Menu "Connect to Host..." auswählen. In der folgenden Abfrage dann "www-data@IP/Name des PIs" eingeben. Nach Eingabe des Passworts öffnet sich eine neue Fenster VSCode Instanz, die mit dem PI verbunden ist. Anschließend kann im Explorer der Ordner "/var/www/homeserver" als Projekt geöffnet werden.

Um Änderungen mit Git committen zu können muss noch der Name und die Email mit den folgenden Kommandos eingestellt werden

  • git config --global user.name "Mein Name"
  • git config --global user.email "meinemail@example.com"