Skip to content

Tipps und Tricks

Schreibrechte für Windows User bei WSL Projekten vergeben

In der Ubuntu Konsole im Projektordner ausführen

Für alle Dateien

bash
sudo chown -R username:www-data .

Nur für den storage Ordner

bash
chmod -R ug+rw app/storage

SSH Tunnel einrichten

Ziel lokaler Port 8080 verbindet auf 192.168.20.171 über service2.ejwue.de

Tunnel einrichten

bash
ssh -L 8080:192.168.20.171:22 root@service2.ejwue.de

Auf 192.168.20.171 verbinden

bash
ssh localhost -p 8080

SSH Key für Windows erstellen

  1. Kommandozeile öffnen
  2. Befehl ausführen
    bash
    ssh-keygen
  3. Vorgeschlagenen Pfad und Dateinamen bestätigen oder anpassen
  4. Optional ein Passwort vergeben und bestätigen
  5. Zum Schluss wird der Key Fingerprint angezeigt
    Der Public Key liegt als id_rsa.pub vor

Quelle
https://www.antary.de/2020/02/


SSH Connection in der Kommandozeile prüfen

bash
ssh user@hostname

Wenn vorhanden Passwort eingeben


Persönlichen Public Key auslesen oder kopieren

bash
cat ~/.ssh/id_rsa.pub

oder

bash
pbcopy < ~/.ssh/id_rsa.pub

Webprojekte transferieren

Verzeichnis packen

bash
tar -cvf transfer.tar .

Transfer

bash
wget https://server-blablabla.de/transfer.tar

Im Zielverzeichnis entpacken

bash
tar xfv transfer.tar

Screen

Dokumentation
https://wiki.ubuntuusers.de/Screen/

Neue Sitzung

bash
screen -S sitzung1

Sitzung wiederaufnehmen

bash
screen -r

Wichtige Tastenkombinationen
Strg A dann C erstellt ein neues Fenster
Strg A dann Space wechselt zwischen Fenstern
Strg A dann D trennt die Sitzung
Wiederaufnehmen mit Namen

bash
screen -rd <screenname>

Lokale Zertifikate installieren

Dateien in den nginx Ordner im Docker Projekt kopieren und korrekt benennen
create_certificate_for_domain.sh
create_root_cert_and_key.sh
v3.ext

In der Konsole in den Ordner docker/dev/nginx wechseln und ausführen

bash
sh create_root_cert_and_key.sh

Parameter eingeben mit eigener E Mailadresse

Country Name (2 letter code): de
State or Province Name: bw
Locality Name: Stuttgart
Organization Name: farbcode
Organizational Unit Name: IT
Common Name: farbcode.net
Email Address: xxx.xxx@farbcode.net

Mit Projekt Domain ausführen

bash
sh create_certificate_for_domain.sh domain.test

device.key umbenennen in

domain.test.key

Zertifikat unter macOS vertrauen

bash
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain rootCA.pem

Zertifikat unter Windows vertrauen
Anleitung verwenden

nginx default.conf um folgende Zeilen ergänzen

nginx
listen 443 ssl;

ssl_certificate     /etc/nginx/domain.test.crt;
ssl_certificate_key /etc/nginx/domain.test.key;

nginx Dockerfile um folgende Zeilen ergänzen

dockerfile
COPY domain.test.crt /etc/nginx/domain.test.crt
COPY domain.test.key /etc/nginx/domain.test.key

docker compose yaml im nginx Service um Ports und Dateien ergänzen

yaml
ports:
  # ssl port
  - 443:443
volumes:
  - ./docker/nginx/domain.test.key:/etc/nginx/ssl/domain.test.key
  - ./docker/nginx/domain.test.crt:/etc/nginx/ssl/domain.test.crt

Ziggy neu generieren und nginx neu bauen und starten

bash
docker-compose build nginx
docker-compose up -d

Docker Shell Aliases

Damit das Entwickeln schneller geht

bash
# start the docker compose stack im aktuellen Verzeichnis
alias dcu="docker-compose up -d"

# start und images neu bauen
alias dcub="docker-compose up -d --build"

# stop delete oder restart
alias dcs="docker-compose stop"
alias dcd="docker-compose down"
alias dcr="docker-compose restart"

# logs anzeigen optional mit service
alias dcl="docker-compose logs"

# docker exec kurz
alias dce="docker-compose exec"

# für Laravel und Nuxt Projekte mit ziggy
alias ziggygen="docker compose exec php php artisan ziggy:generate globalstorage/ziggy.js"

Aliases in die Datei schreiben

bash
nano .bash_profile

oder

bash
nano .zshrc

Weitere Infos
https://dev.to/kovah/useful-docker-compose-aliases-4a5i
https://wpbeaches.com/make-an-alias-in-macos-using-terminal/
Aliase unter Windows und WSL tbd


OpenConnect EJWUE VPN in der Konsole ausführen

bash
sudo openconnect https://vpn.ejwservice.de

supervisorctl für User ohne sudo Passwort freigeben

Als forge User einloggen
Root werden

bash
sudo -i

Sudoers Datei öffnen

bash
visudo

Unter User privilege specification hinzufügen

forge ALL=NOPASSWD: /usr/bin/supervisorctl