crm.icon-experts.de zeigt auf das neue CRM

This commit is contained in:
2026-09-14 16:56:39 +02:00
parent bd810fa608
commit 3f25355a6d
3 changed files with 70 additions and 45 deletions
+47 -43
View File
@@ -1,43 +1,47 @@
# ICON CRM - Apache Vhost
# Ablage: /etc/apache2/sites-available/icrm.icon-experts.de.conf
# Aktivieren: a2ensite icrm.icon-experts.de && systemctl reload apache2
#
# Reihenfolge beim Aufsetzen:
# 1. DNS A-Record icrm.icon-experts.de -> 31.70.144.60
# 2. Diese Datei aktivieren (HTTP-Teil), Apache neu laden
# 3. certbot --apache -d icrm.icon-experts.de (legt den :443-Block selbst an)
<VirtualHost *:80>
ServerName icrm.icon-experts.de
DocumentRoot /var/www/icon_CRM/dist
<Directory /var/www/icon_CRM/dist>
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
# Single Page Application: alle unbekannten Pfade auf index.html
FallbackResource /index.html
</Directory>
# Die mit Hash benannten Build-Dateien aendern sich nie - die darf der
# Browser dauerhaft behalten. index.html dagegen nie, sonst sieht ein
# Benutzer nach dem Rollout weiter die alte Anwendung.
<IfModule mod_expires.c>
ExpiresActive On
<FilesMatch "\.(js|css|woff2|png|jpg|svg|ico)$">
ExpiresDefault "access plus 1 year"
</FilesMatch>
</IfModule>
<FilesMatch "index\.html$">
Header set Cache-Control "no-cache, must-revalidate"
</FilesMatch>
# Die API laeuft lokal auf 127.0.0.1:5007 und ist von aussen
# ausschliesslich hierueber erreichbar.
ProxyPreserveHost On
ProxyPass /api http://127.0.0.1:5007/api
ProxyPassReverse /api http://127.0.0.1:5007/api
ErrorLog ${APACHE_LOG_DIR}/icon_crm_error.log
CustomLog ${APACHE_LOG_DIR}/icon_crm_access.log combined
</VirtualHost>
# ICON CRM - Apache Vhost
# Ablage: /etc/apache2/sites-available/icrm.icon-experts.de.conf
# Aktivieren: a2ensite icrm.icon-experts.de && systemctl reload apache2
#
# Reihenfolge beim Aufsetzen:
# 1. DNS A-Record icrm.icon-experts.de -> 31.70.144.60
# 2. Diese Datei aktivieren (HTTP-Teil), Apache neu laden
# 3. certbot --apache -d icrm.icon-experts.de -d crm.icon-experts.de
# (legt den :443-Block selbst an und deckt beide Namen ab)
<VirtualHost *:80>
ServerName icrm.icon-experts.de
# Der alte Name des CRM. Er zeigt seit dem 14.09.2026 auf dieselbe
# Anwendung - Lesezeichen und verschickte Links laufen weiter.
ServerAlias crm.icon-experts.de
DocumentRoot /var/www/icon_CRM/dist
<Directory /var/www/icon_CRM/dist>
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
# Single Page Application: alle unbekannten Pfade auf index.html
FallbackResource /index.html
</Directory>
# Die mit Hash benannten Build-Dateien aendern sich nie - die darf der
# Browser dauerhaft behalten. index.html dagegen nie, sonst sieht ein
# Benutzer nach dem Rollout weiter die alte Anwendung.
<IfModule mod_expires.c>
ExpiresActive On
<FilesMatch "\.(js|css|woff2|png|jpg|svg|ico)$">
ExpiresDefault "access plus 1 year"
</FilesMatch>
</IfModule>
<FilesMatch "index\.html$">
Header set Cache-Control "no-cache, must-revalidate"
</FilesMatch>
# Die API laeuft lokal auf 127.0.0.1:5007 und ist von aussen
# ausschliesslich hierueber erreichbar.
ProxyPreserveHost On
ProxyPass /api http://127.0.0.1:5007/api
ProxyPassReverse /api http://127.0.0.1:5007/api
ErrorLog ${APACHE_LOG_DIR}/icon_crm_error.log
CustomLog ${APACHE_LOG_DIR}/icon_crm_access.log combined
</VirtualHost>
+2 -2
View File
@@ -22,7 +22,7 @@ samt Passwort-Hashes eingeschlossen.
```mermaid
flowchart LR
U(("Browser")) -->|"HTTPS"| A["Apache :443<br/>icrm.icon-experts.de"]
U(("Browser")) -->|"HTTPS"| A["Apache :443<br/>icrm + crm.icon-experts.de"]
A -->|"/"| D["dist/<br/>SPA, FallbackResource"]
A -->|"/api"| E["Express :5007"]
E --> C[("icon_CRM")]
@@ -117,7 +117,7 @@ Spracherkennung auf seinem eigenen Gerät ein, mit seinem eigenen Download.
| --- | --- |
| 5007 | ICON CRM Backend (nur `127.0.0.1`) |
| 3101 | Vite-Dev-Server (nur lokal beim Entwickeln) |
| 80/443 | Apache: `icrm.icon-experts.de`, `icon-experts.de`, `www.icon-experts.de` |
| 80/443 | Apache: `icrm.icon-experts.de` (+ Alias `crm.icon-experts.de`), `icon-experts.de`, `www.icon-experts.de` |
## Was wo liegt
+21
View File
@@ -98,6 +98,27 @@ mariadb-dump --single-transaction icon_CRM | gzip > icon_CRM-$(date +%F).sql.gz
tar czf uploads-$(date +%F).tar.gz -C /var/www/icon_CRM uploads
```
## Der alte Name crm.icon-experts.de
Das erste ICON CRM lief unter **crm.icon-experts.de** auf `212.227.135.41`
(`/var/www/ICON`, Supabase als Datenbank). Seit dem 14.09.2026 zeigt der Name
auf diesen Server und wird vom Vhost `icrm.icon-experts.de` als `ServerAlias`
mitbedient – dasselbe Zertifikat deckt beide Namen ab. Verschickte Links und
Lesezeichen laufen damit weiter, es gibt keinen zweiten Stand zu pflegen.
Der alte Aufbau ist zurückgebaut: Vhosts (`icon`, `icon-le-ssl`) abgeschaltet,
`/var/www/ICON` gelöscht, das dortige Zertifikat für `crm.icon-experts.de`
entfernt (sonst hätte die Erneuerung ab sofort täglich Fehler gemeldet).
Gesichert ist er als `icon-crm-alt-2026-09-14.zip` – Quellcode, Build, `.env`
und beide Vhost-Dateien, ohne `node_modules`. Die Datei liegt **auf beiden
Servern** unter `/root/backups/`, Prüfsumme
`252f7fa3226c2df7c4020a0234c3095c`.
> Die Supabase-Instanz `icondb.perinco.de` läuft weiter. Sie war die Datenbank
> des alten CRM und ist die Quelle der Migration (`server/src/migrate.js`) –
> abzuschalten wäre eine eigene Entscheidung, nicht Teil dieses Rückbaus.
## Störungssuche
| Symptom | Erster Griff |