From e704383cb20e7016794ccc793eda057a609be835 Mon Sep 17 00:00:00 2001 From: ertopogo Date: Sun, 1 Feb 2026 02:49:28 +0100 Subject: ajout de cart pour les commandes --- INSTALLATION.md | 209 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 198 insertions(+), 11 deletions(-) (limited to 'INSTALLATION.md') diff --git a/INSTALLATION.md b/INSTALLATION.md index cc6180c..53c8215 100644 --- a/INSTALLATION.md +++ b/INSTALLATION.md @@ -27,6 +27,111 @@ Exemples pour Lucien Sens Bon (projet `lsb`) sur `huitral` : Conseil : gardez cette nomenclature pour tous vos projets afin de pouvoir passer en DNS public sans changer les URLs dans l'application. +### 1.2 Configuration DNS (interne et public) + +**Cas 1 — DNS interne (ruka.lan)** +Créez des enregistrements A vers l'IP du serveur `huitral` : +- `www.lsb.huitral.ruka.lan` → `IP_DE_HUITRAL` +- `api.lsb.huitral.ruka.lan` → `IP_DE_HUITRAL` +- `admin.lsb.huitral.ruka.lan` → `IP_DE_HUITRAL` (optionnel) + +**Cas 2 — Fichier hosts (temporaire/test local)** +Si vous n'avez pas encore de DNS, ajoutez sur la machine cliente : +``` +IP_DE_HUITRAL www.lsb.huitral.ruka.lan +IP_DE_HUITRAL api.lsb.huitral.ruka.lan +``` + +**Cas 3 — DNS public** +Créez des enregistrements A (et AAAA si IPv6) vers l'IP publique : +- `www.lucien-sens-bon.com` → `IP_PUBLIQUE` +- `api.lucien-sens-bon.com` → `IP_PUBLIQUE` + +**Bonnes pratiques** +- Utilisez les mêmes noms partout (DNS, Apache, variables d'environnement). +- Évitez les ports dans les URLs publiques (Apache s'en charge). +- Quand vous basculez en DNS public, mettez à jour `NEXT_PUBLIC_MEDUSA_BACKEND_URL`, + `ADMIN_CORS` et `STORE_CORS` dans `.env`, puis redémarrez les conteneurs. + +### 1.3 DNS interne avec dnsmasq (araucaria) + +Sur `araucaria`, ajoutez un fichier dédié pour ce projet : +```bash +sudo nano /etc/dnsmasq.d/lsb.conf +``` + +Contenu recommandé : +``` +# Lucien Sens Bon - ruka.lan +address=/www.lsb.huitral.ruka.lan/IP_DE_HUITRAL +address=/api.lsb.huitral.ruka.lan/IP_DE_HUITRAL +address=/admin.lsb.huitral.ruka.lan/IP_DE_HUITRAL +``` + +Rechargez dnsmasq : +```bash +sudo systemctl restart dnsmasq +sudo systemctl status dnsmasq --no-pager +``` + +Tests rapides depuis un client : +```bash +dig +short www.lsb.huitral.ruka.lan +dig +short api.lsb.huitral.ruka.lan +``` + +### 1.4 Procédure complète DNS (Windows + WSL) + +WSL utilise le DNS de Windows. Il faut donc d'abord fixer Windows, puis WSL si besoin. + +**A. Vérifier la résolution côté Windows** +```powershell +nslookup www.lsb.huitral.ruka.lan +``` +Si l'IP n'est pas celle de `huitral`, passez à l'étape B. + +**B. Forcer le DNS Windows sur araucaria** +1. Paramètres Windows → Réseau → Carte réseau → Propriétés IPv4 +2. DNS préféré = `IP_ARAUCARIA` +3. Vider le cache DNS : +```powershell +ipconfig /flushdns +``` + +**C. Vérifier à nouveau côté Windows** +```powershell +nslookup www.lsb.huitral.ruka.lan +``` + +**D. WSL (si la résolution reste KO)** +Dans WSL : +```bash +ls -l /etc/resolv.conf +``` +Si le lien est cassé (ex. vers `systemd/resolve`), recréez le fichier : +```bash +sudo rm -f /etc/resolv.conf +printf "nameserver IP_ARAUCARIA\n" | sudo tee /etc/resolv.conf +``` + +Empêcher WSL de régénérer `resolv.conf` : +```bash +sudo tee /etc/wsl.conf <<'EOF' +[network] +generateResolvConf = false +EOF +``` + +Redémarrer WSL **depuis Windows** : +```powershell +wsl --shutdown +``` + +Relancer WSL puis tester : +```bash +dig +short www.lsb.huitral.ruka.lan +``` + ## 2. Configuration Initiale 1. **Variables d'environnement** : @@ -141,23 +246,53 @@ Une fois les conteneurs démarrés, vous devez initialiser la base de données M ## 5. Configuration Apache (Reverse Proxy) -Pour rendre le site accessible depuis le web (port 80/443), configurez Apache sur votre machine hôte. +Objectif : exposer proprement le site et l'API en HTTP/HTTPS via Apache, sans exposer les ports 8000/9000 aux utilisateurs. -1. **Copiez la configuration** : - Utilisez le contenu du fichier `apache-vhost.conf` fourni dans ce projet et ajoutez-le à votre configuration Apache (généralement dans `/etc/apache2/sites-available/lucien.conf`). - -2. **Activez les modules Proxy** (si ce n'est pas déjà fait) : +### 5.1 Créer le vhost Apache +1. **Copiez la configuration fournie** : ```bash - sudo a2enmod proxy - sudo a2enmod proxy_http + sudo cp apache-vhost.conf /etc/apache2/sites-available/lucien.conf ``` + *Le fichier définit 2 vhosts :* + - `www.lsb.huitral.ruka.lan` → storefront (port 8000) + - `api.lsb.huitral.ruka.lan` → backend Medusa (port 9000) -3. **Activez le site et redémarrez Apache** : - ```bash - sudo a2ensite lucien.conf - sudo service apache2 restart +2. **Vérifiez/ajustez les ServerName** selon vos DNS internes/publics. + Si vous n'avez pas encore de DNS, ajoutez temporairement dans `/etc/hosts` : + ``` + 127.0.0.1 www.lsb.huitral.ruka.lan + 127.0.0.1 api.lsb.huitral.ruka.lan ``` +### 5.2 Activer les modules nécessaires +```bash +sudo a2enmod proxy +sudo a2enmod proxy_http +``` +*(optionnel mais recommandé si vous ajoutez du HTTPS plus tard : `headers`, `rewrite`)* +```bash +sudo a2enmod headers +sudo a2enmod rewrite +``` + +### 5.3 Activer le site et redémarrer Apache +```bash +sudo a2ensite lucien.conf +sudo apache2ctl configtest +sudo service apache2 restart +``` + +### 5.4 Bénéfices de ce reverse proxy +- **URL propres** : accès en `http://www...` et `http://api...` sans ports. +- **Centralisation HTTPS** : un seul endroit pour gérer les certificats (Certbot). +- **Sécurité** : vous pouvez restreindre l'accès direct aux ports 8000/9000. +- **Logs clairs** : logs séparés pour storefront et API. + +### 5.5 Option HTTPS (recommandé en production) +```bash +sudo certbot --apache -d www.lsb.huitral.ruka.lan -d api.lsb.huitral.ruka.lan +``` + ## 6. Vérification - **Storefront** : Accédez à `http://lucien-sens-bon.com` (ou votre domaine). Vous devriez voir la page d'accueil. @@ -209,6 +344,58 @@ git clone toshiro@chillka:/var/data/git/repositories/lucien-sens-bon.git lucien- cd lucien-sens-bon ``` +### 7.5 Mise à jour quand `huitral` a déjà des changements + +Objectif : pousser le code vers `chillka`, puis récupérer sur `huitral` **sans perdre les modifications locales**. + +#### Option A — Conserver les changements de `huitral` (recommandé) + +Sur `huitral` : +```bash +cd /var/www/lucien-sens-bon +git status +git add -A +git commit -m "wip: changements locaux huitral" +git push origin HEAD +``` + +Sur votre machine de dev (ou poste principal) : +```bash +git fetch origin +git checkout main +git merge origin/main +git merge origin/HEAD +git push origin main +``` + +Puis sur `huitral` : +```bash +cd /var/www/lucien-sens-bon +git fetch origin +git checkout main +git merge origin/main +``` + +#### Option B — Stasher temporairement sur `huitral` + +Sur `huitral` : +```bash +cd /var/www/lucien-sens-bon +git status +git stash push -m "wip huitral" +git fetch origin +git checkout main +git merge origin/main +git stash pop +``` + +Résoudre les conflits éventuels, puis : +```bash +git add -A +git commit -m "merge: main + wip huitral" +git push origin main +``` + ## 7. Paiements Crypto Pour activer les paiements Crypto, nous vous conseillons d'installer un plugin comme `medusa-payment-coinbase` ou d'utiliser une intégration Stripe Crypto si disponible. -- cgit v1.2.3