Entwicklung Homeserver
Inhaltsverzeichnis
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.
- 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
- per SSH auf den PI gehen
- Git installieren (wenn noch nicht installiert)
- das homeserver Verzeichnis sichern
- das homeserver Verzeichnis leeren und das Git Repository hinein clonen ( im Verzeichnis /var/www den Befehl "git clone https://dein-bitbucket-benutzer@bitbucket.org/Haus-Bus/homeserver.git" aufrufen)
- Sicherung wieder einspielen
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"