Files
ICON-CRM/deploy/icrm.icon-experts.de.conf

48 lines
1.9 KiB
Plaintext

# 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>