crm.icon-experts.de zeigt auf das neue CRM
This commit is contained in:
@@ -1,43 +1,47 @@
|
|||||||
# ICON CRM - Apache Vhost
|
# ICON CRM - Apache Vhost
|
||||||
# Ablage: /etc/apache2/sites-available/icrm.icon-experts.de.conf
|
# Ablage: /etc/apache2/sites-available/icrm.icon-experts.de.conf
|
||||||
# Aktivieren: a2ensite icrm.icon-experts.de && systemctl reload apache2
|
# Aktivieren: a2ensite icrm.icon-experts.de && systemctl reload apache2
|
||||||
#
|
#
|
||||||
# Reihenfolge beim Aufsetzen:
|
# Reihenfolge beim Aufsetzen:
|
||||||
# 1. DNS A-Record icrm.icon-experts.de -> 31.70.144.60
|
# 1. DNS A-Record icrm.icon-experts.de -> 31.70.144.60
|
||||||
# 2. Diese Datei aktivieren (HTTP-Teil), Apache neu laden
|
# 2. Diese Datei aktivieren (HTTP-Teil), Apache neu laden
|
||||||
# 3. certbot --apache -d icrm.icon-experts.de (legt den :443-Block selbst an)
|
# 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
|
<VirtualHost *:80>
|
||||||
DocumentRoot /var/www/icon_CRM/dist
|
ServerName icrm.icon-experts.de
|
||||||
|
# Der alte Name des CRM. Er zeigt seit dem 14.09.2026 auf dieselbe
|
||||||
<Directory /var/www/icon_CRM/dist>
|
# Anwendung - Lesezeichen und verschickte Links laufen weiter.
|
||||||
Options -Indexes +FollowSymLinks
|
ServerAlias crm.icon-experts.de
|
||||||
AllowOverride None
|
DocumentRoot /var/www/icon_CRM/dist
|
||||||
Require all granted
|
|
||||||
# Single Page Application: alle unbekannten Pfade auf index.html
|
<Directory /var/www/icon_CRM/dist>
|
||||||
FallbackResource /index.html
|
Options -Indexes +FollowSymLinks
|
||||||
</Directory>
|
AllowOverride None
|
||||||
|
Require all granted
|
||||||
# Die mit Hash benannten Build-Dateien aendern sich nie - die darf der
|
# Single Page Application: alle unbekannten Pfade auf index.html
|
||||||
# Browser dauerhaft behalten. index.html dagegen nie, sonst sieht ein
|
FallbackResource /index.html
|
||||||
# Benutzer nach dem Rollout weiter die alte Anwendung.
|
</Directory>
|
||||||
<IfModule mod_expires.c>
|
|
||||||
ExpiresActive On
|
# Die mit Hash benannten Build-Dateien aendern sich nie - die darf der
|
||||||
<FilesMatch "\.(js|css|woff2|png|jpg|svg|ico)$">
|
# Browser dauerhaft behalten. index.html dagegen nie, sonst sieht ein
|
||||||
ExpiresDefault "access plus 1 year"
|
# Benutzer nach dem Rollout weiter die alte Anwendung.
|
||||||
</FilesMatch>
|
<IfModule mod_expires.c>
|
||||||
</IfModule>
|
ExpiresActive On
|
||||||
<FilesMatch "index\.html$">
|
<FilesMatch "\.(js|css|woff2|png|jpg|svg|ico)$">
|
||||||
Header set Cache-Control "no-cache, must-revalidate"
|
ExpiresDefault "access plus 1 year"
|
||||||
</FilesMatch>
|
</FilesMatch>
|
||||||
|
</IfModule>
|
||||||
# Die API laeuft lokal auf 127.0.0.1:5007 und ist von aussen
|
<FilesMatch "index\.html$">
|
||||||
# ausschliesslich hierueber erreichbar.
|
Header set Cache-Control "no-cache, must-revalidate"
|
||||||
ProxyPreserveHost On
|
</FilesMatch>
|
||||||
ProxyPass /api http://127.0.0.1:5007/api
|
|
||||||
ProxyPassReverse /api http://127.0.0.1:5007/api
|
# Die API laeuft lokal auf 127.0.0.1:5007 und ist von aussen
|
||||||
|
# ausschliesslich hierueber erreichbar.
|
||||||
ErrorLog ${APACHE_LOG_DIR}/icon_crm_error.log
|
ProxyPreserveHost On
|
||||||
CustomLog ${APACHE_LOG_DIR}/icon_crm_access.log combined
|
ProxyPass /api http://127.0.0.1:5007/api
|
||||||
</VirtualHost>
|
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>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ samt Passwort-Hashes eingeschlossen.
|
|||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
flowchart LR
|
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 -->|"/"| D["dist/<br/>SPA, FallbackResource"]
|
||||||
A -->|"/api"| E["Express :5007"]
|
A -->|"/api"| E["Express :5007"]
|
||||||
E --> C[("icon_CRM")]
|
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`) |
|
| 5007 | ICON CRM Backend (nur `127.0.0.1`) |
|
||||||
| 3101 | Vite-Dev-Server (nur lokal beim Entwickeln) |
|
| 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
|
## Was wo liegt
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
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
|
## Störungssuche
|
||||||
|
|
||||||
| Symptom | Erster Griff |
|
| Symptom | Erster Griff |
|
||||||
|
|||||||
Reference in New Issue
Block a user