feat(deploy): CRM auch unter crm.perinco.de erreichbar
ServerAlias in beiden Vhosts, HTTP->HTTPS-Redirect fuer beide Namen, Zertifikat um crm.perinco.de erweitert. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
d35e089a4c
commit
0ad7b32dbf
@@ -1,6 +1,7 @@
|
|||||||
<IfModule mod_ssl.c>
|
<IfModule mod_ssl.c>
|
||||||
<VirtualHost *:443>
|
<VirtualHost *:443>
|
||||||
ServerName pcrm.perinco.de
|
ServerName pcrm.perinco.de
|
||||||
|
ServerAlias crm.perinco.de
|
||||||
DocumentRoot /var/www/perinco_CRM/dist
|
DocumentRoot /var/www/perinco_CRM/dist
|
||||||
|
|
||||||
<Directory /var/www/perinco_CRM/dist>
|
<Directory /var/www/perinco_CRM/dist>
|
||||||
|
|||||||
@@ -5,12 +5,15 @@
|
|||||||
# Reihenfolge beim Aufsetzen:
|
# Reihenfolge beim Aufsetzen:
|
||||||
# 1. DNS A-Record pcrm.perinco.de -> 212.227.135.41
|
# 1. DNS A-Record pcrm.perinco.de -> 212.227.135.41
|
||||||
# 2. Diese Datei aktivieren (HTTP-Teil), Apache neu laden
|
# 2. Diese Datei aktivieren (HTTP-Teil), Apache neu laden
|
||||||
# 3. certbot --apache -d pcrm.perinco.de (legt den :443-Block selbst an)
|
# 3. certbot --apache -d pcrm.perinco.de -d crm.perinco.de (legt den :443-Block selbst an)
|
||||||
|
#
|
||||||
|
# crm.perinco.de ist seit 16.09.2026 zweiter Name (ServerAlias, gleiches Zertifikat).
|
||||||
#
|
#
|
||||||
# ServerName bei anderer Subdomain hier UND im certbot-Aufruf anpassen.
|
# ServerName bei anderer Subdomain hier UND im certbot-Aufruf anpassen.
|
||||||
|
|
||||||
<VirtualHost *:80>
|
<VirtualHost *:80>
|
||||||
ServerName pcrm.perinco.de
|
ServerName pcrm.perinco.de
|
||||||
|
ServerAlias crm.perinco.de
|
||||||
DocumentRoot /var/www/perinco_CRM/dist
|
DocumentRoot /var/www/perinco_CRM/dist
|
||||||
|
|
||||||
<Directory /var/www/perinco_CRM/dist>
|
<Directory /var/www/perinco_CRM/dist>
|
||||||
@@ -30,6 +33,7 @@
|
|||||||
ErrorLog ${APACHE_LOG_DIR}/perinco_crm_error.log
|
ErrorLog ${APACHE_LOG_DIR}/perinco_crm_error.log
|
||||||
CustomLog ${APACHE_LOG_DIR}/perinco_crm_access.log combined
|
CustomLog ${APACHE_LOG_DIR}/perinco_crm_access.log combined
|
||||||
RewriteEngine on
|
RewriteEngine on
|
||||||
RewriteCond %{SERVER_NAME} =pcrm.perinco.de
|
RewriteCond %{SERVER_NAME} =pcrm.perinco.de [OR]
|
||||||
|
RewriteCond %{SERVER_NAME} =crm.perinco.de
|
||||||
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
|
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
|
|||||||
@@ -13,13 +13,15 @@ SQL:
|
|||||||
|
|
||||||
Der Browser spricht **nie** direkt mit MariaDB - deshalb überhaupt ein Backend.
|
Der Browser spricht **nie** direkt mit MariaDB - deshalb überhaupt ein Backend.
|
||||||
Das Backend bindet ausschließlich auf `127.0.0.1` und ist von außen nur über
|
Das Backend bindet ausschließlich auf `127.0.0.1` und ist von außen nur über
|
||||||
den Apache-Reverse-Proxy erreichbar.
|
den Apache-Reverse-Proxy erreichbar. Das CRM hört auf `pcrm.perinco.de` und
|
||||||
|
seit 16.09.2026 auch auf `crm.perinco.de` (`ServerAlias` im selben Vhost, beide
|
||||||
|
Namen im selben Let’s-Encrypt-Zertifikat).
|
||||||
|
|
||||||
## Topologie
|
## Topologie
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
flowchart LR
|
flowchart LR
|
||||||
U(("Browser")) -->|"HTTPS"| A["Apache :443<br/>pcrm.perinco.de"]
|
U(("Browser")) -->|"HTTPS"| A["Apache :443<br/>pcrm.perinco.de<br/>crm.perinco.de"]
|
||||||
A -->|"/"| D["dist/<br/>SPA, FallbackResource"]
|
A -->|"/"| D["dist/<br/>SPA, FallbackResource"]
|
||||||
A -->|"/api"| E["Express :5006"]
|
A -->|"/api"| E["Express :5006"]
|
||||||
E --> C[("perinco_CRM")]
|
E --> C[("perinco_CRM")]
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ Ein CRM für die Projektvermittlung. Es beantwortet vier Fragen:
|
|||||||
|
|
||||||
## Anmelden
|
## Anmelden
|
||||||
|
|
||||||
`https://pcrm.perinco.de`. Anmelden geht mit **Benutzername oder E-Mail** plus
|
`https://crm.perinco.de` (alternativ `https://pcrm.perinco.de`). Anmelden geht mit **Benutzername oder E-Mail** plus
|
||||||
Passwort. Die Sitzung hält 12 Stunden, danach fragt die Anwendung erneut.
|
Passwort. Die Sitzung hält 12 Stunden, danach fragt die Anwendung erneut.
|
||||||
|
|
||||||
Sagt die Meldung „Benutzername oder Passwort ist falsch", bleibt bewusst offen,
|
Sagt die Meldung „Benutzername oder Passwort ist falsch", bleibt bewusst offen,
|
||||||
|
|||||||
Reference in New Issue
Block a user