diff options
Diffstat (limited to 'INSTALLATION.md')
| -rw-r--r-- | INSTALLATION.md | 209 |
1 files changed, 198 insertions, 11 deletions
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.
|
