Entwicklung Homeserver: Unterschied zwischen den Versionen
Viktor (Diskussion | Beiträge) (→Entwicklungsumgebungen) |
Viktor (Diskussion | Beiträge) |
||
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 7: | Zeile 7: | ||
*[[Clone GIT Repository VisualStudio Code|Homeserver-Projekt mit VS Code aus Bitbucket holen]] | *[[Clone GIT Repository VisualStudio Code|Homeserver-Projekt mit VS Code aus Bitbucket holen]] | ||
− | ==Einrichten== | + | ==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: | 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 apt -y install acl | ||
Zeile 17: | Zeile 17: | ||
[https://www.drupaldump.com/vs-code-xdebug-remote-server XDebug configurieren] | [https://www.drupaldump.com/vs-code-xdebug-remote-server XDebug configurieren] | ||
*sudo nano /etc/php/7.3/apache2/conf.d/99-xdebug.ini mit folgendem Inhalt anpassen:<br/><br/>zend_extension = xdebug<br><br>[XDebug]<br>xdebug.remote_enable = 1<br>xdebug.remote_autostart = 1<br>xdebug.mode = debug<br>xdebug.start_with_request = yes<br>xdebug.client_port = 9000<br>xdebug.client_host = ip.des.home.servers<br> | *sudo nano /etc/php/7.3/apache2/conf.d/99-xdebug.ini mit folgendem Inhalt anpassen:<br/><br/>zend_extension = xdebug<br><br>[XDebug]<br>xdebug.remote_enable = 1<br>xdebug.remote_autostart = 1<br>xdebug.mode = debug<br>xdebug.start_with_request = yes<br>xdebug.client_port = 9000<br>xdebug.client_host = ip.des.home.servers<br> | ||
+ | |||
+ | ==Direkt auf dem PI entwickeln== | ||
+ | *[[Entwicklungsumgebung VisualStudio Code|VisualStudio Code installieren]] | ||
+ | *[https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh Remote - SSH installieren] | ||
+ | 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" |
Aktuelle Version vom 13. Januar 2022, 00:12 Uhr
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"