From dd189063485b4636169ddda540dd6127641605c9 Mon Sep 17 00:00:00 2001 From: fs Date: Fri, 31 Jul 2026 16:21:09 +0200 Subject: [PATCH] Deploy-Anleitung: absolute Pfade, ~ ist auf diesem Webspace / MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Das SSH-Konto hat die Systemwurzel als Home. cd ~ führt aus dem Webspace heraus, ~/tsv08kulmbach-website existiert nicht. Betraf das scp-Ziel und jede cd-Zeile. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01NzeVVgMCrzCDJAKeLEdKr7 --- docs/deploy.md | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/docs/deploy.md b/docs/deploy.md index 4227e9a..8e4e7d1 100644 --- a/docs/deploy.md +++ b/docs/deploy.md @@ -58,7 +58,7 @@ git push origin main ```bash ssh @.kasserver.com -pwd # z. B. /www/htdocs/w01ca75d → das ist HOME +pwd # das Verzeichnis, in dem SSH startet which php; php -v # PHP muss >= 8.1 sein git --version ``` @@ -67,14 +67,19 @@ git --version | | | |---|---| -| HOME | `/www/htdocs/w01ca75d` | +| Webspace-Wurzel | `/www/htdocs/w01ca75d` | | SITE | `/www/htdocs/w01ca75d/tsv08kulmbach-website` | | PHP (CLI, für Cron) | `/usr/bin/php` — 8.3.29 | | Composer | 2.9.8, global vorhanden | | Alte CMS-Seite (Rückweg) | `/www/htdocs/w01ca75d/tsv08kulmbach.de` | -All-Inkl legt pro Domain einen Ordner im Home an, das Home selbst ist also kein -Docroot. Der Ordnername `tsv08kulmbach.de` ist von der alten Seite belegt, deshalb +**Falle: `~` ist hier `/`, nicht der Webspace.** Das SSH-Konto hat die Systemwurzel +als Home-Verzeichnis, `cd ~` führt also aus dem Webspace heraus und `~/…`-Pfade +existieren nicht. Alle Pfade in dieser Anleitung sind deshalb absolut — auch das +`scp`-Ziel und die Cron-Zeilen. + +All-Inkl legt pro Domain einen Ordner unter `/www/htdocs//` an, dieses +Verzeichnis selbst ist also kein Docroot. Der Ordnername `tsv08kulmbach.de` ist von der alten Seite belegt, deshalb heißt der neue `tsv08kulmbach-website`. Die anderen TSV-Ordner (`2024.`, `hall-of-fame.`, `kabinendienst.`, `kreisliga-reise.`) sind eigene Subdomains und vom Umschalten nicht betroffen. @@ -85,7 +90,7 @@ Domain getrennt ein (Schritt C1). ### B2 [SSH] Repo klonen ```bash -cd ~ +cd /www/htdocs/w01ca75d git clone https://onion.breadcrumb-online.de/fs/tsv08kulmbach-website.git tsv08kulmbach-website cd tsv08kulmbach-website && pwd # diesen Pfad notieren: das ist SITE ``` @@ -101,7 +106,7 @@ Die Datei ist gitignored, also nicht im Klon. Vom Mac hochladen: ```bash # [lokal], in einem zweiten Terminal scp config/config.production.php \ - @.kasserver.com:~/tsv08kulmbach-website/config/config.php + @.kasserver.com:/www/htdocs/w01ca75d/tsv08kulmbach-website/config/config.php ``` Wichtig: Ziel heißt `config.php`, nicht `config.production.php`. Danach [SSH]: @@ -113,7 +118,7 @@ chmod 600 config/config.php # enthält SMTP-Passwort und app_secret ### B4 [SSH] Composer-Abhängigkeiten ```bash -cd ~/tsv08kulmbach-website +cd /www/htdocs/w01ca75d/tsv08kulmbach-website composer install --no-dev --optimize-autoloader ``` @@ -169,7 +174,7 @@ holen die Syncs. Vor dem ersten Lauf fehlen Tabellen, Spiele und der Instagram-Block (die Seite bricht deswegen nicht, sie zeigt Ersatzinhalte). ```bash -cd ~/tsv08kulmbach-website +cd /www/htdocs/w01ca75d/tsv08kulmbach-website php bin/matchcenter-sync.php # Spiele, Ergebnisse, Tabellen, Wappen php bin/instagram-sync.php # Posts und Bilder ``` @@ -298,14 +303,14 @@ liegt und andere Menschen dort hochladen: ```bash # 1. [SSH] auf dem Server: neue Uploads sichern -cd ~/tsv08kulmbach-website +cd /www/htdocs/w01ca75d/tsv08kulmbach-website git add -A storage/dateien/uploads && git commit -m "Uploads vom Server" && git push # 2. [lokal] holen, dann entwickeln git pull # 3. [lokal] fertig, gepusht → [SSH] ausrollen -cd ~/tsv08kulmbach-website && git pull && php bin/preflight.php +cd /www/htdocs/w01ca75d/tsv08kulmbach-website && git pull && php bin/preflight.php ``` Nie in der anderen Reihenfolge. Details und Begründung in CLAUDE.md, Abschnitt