Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
server_und_serverdienste:odoo_auf_ubuntu_mit_let_s_encrypt [2020/09/20 17:19] – [Nginx Proxy mit Let's Encrypt] loma | server_und_serverdienste:odoo_auf_ubuntu_mit_let_s_encrypt [2022/03/16 08:46] (aktuell) – loma | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== |
+ | Du möchtest dich gerne für unsere Hilfe erkenntlich zeigen 8-o. Gerne. Wir bedanken uns bei dir für deine Spende! LOL \\ | ||
+ | [[https:// | ||
+ | \\ | ||
+ | Hauseigenes Apt-Repo: [[https:// | ||
+ | \\ | ||
+ | GITLAB Enterprise: [[https:// | ||
+ | \\ | ||
+ | \\ | ||
- | Als erstes installiert man sich einen Ubuntu Server 20.04. Alles Standard. | + | {{: |
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | ===== Installation ===== | ||
+ | |||
+ | Als erstes installiert man sich einen Ubuntu Server 20.04. Alles Standard. | ||
< | < | ||
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2FAB19E7CCB7F415 | apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2FAB19E7CCB7F415 | ||
Zeile 9: | Zeile 23: | ||
apt update | apt update | ||
</ | </ | ||
- | Darin installieren wir zuerst den Postgresql und ein paar nützliche Abhängigkeiten. | + | Darin installieren wir zuerst den Postgresql |
< | < | ||
- | apt install postgresql postgresql-client python3-ldap wkhtmltox python-dev libldap2-dev libsasl2-dev libssl-dev | + | apt install postgresql postgresql-client python3-ldap wkhtmltox python-dev libldap2-dev libsasl2-dev libssl-dev |
</ | </ | ||
Hat das geklappt gehts auch schon and die Odoo Installation. | Hat das geklappt gehts auch schon and die Odoo Installation. | ||
Zeile 17: | Zeile 31: | ||
apt install odoo | apt install odoo | ||
</ | </ | ||
- | Danach ist Odoo bereits auf der Seite http:// | + | Danach ist Odoo bereits auf der Seite http://erp.deinServer.foo:8069/ erreichbar, und du kannst dir eine neue Datenbank anlegen. |
- | ===== IPV6 für Odoo aktivieren | + | ==== Addons ==== |
+ | Möchte man manuel Addons installieren, | ||
+ | |||
+ | ==== IPV6 für Odoo aktivieren ==== | ||
Hierfür editierst du einfach die Datei ''/ | Hierfür editierst du einfach die Datei ''/ | ||
< | < | ||
Zeile 29: | Zeile 46: | ||
===== Nginx Proxy mit Let's Encrypt ===== | ===== Nginx Proxy mit Let's Encrypt ===== | ||
+ | Selbstverständlich willst du das dein Odoo verschlüsselt kommuniziert, | ||
< | < | ||
apt -y install nginx | apt -y install nginx | ||
nano / | nano / | ||
</ | </ | ||
+ | <code nginx> | ||
+ | # Odoo Upstreams | ||
+ | upstream erp.deinServer.foo { | ||
+ | | ||
+ | } | ||
+ | |||
+ | server { | ||
+ | listen 80; | ||
+ | listen [::]:80; | ||
+ | server_name erp.deinServer.foo; | ||
+ | access_log / | ||
+ | error_log / | ||
+ | |||
+ | |||
+ | # Proxy settings | ||
+ | proxy_read_timeout 720s; | ||
+ | proxy_connect_timeout 720s; | ||
+ | proxy_send_timeout 720s; | ||
+ | proxy_set_header X-Forwarded-Host $host; | ||
+ | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
+ | proxy_set_header X-Forwarded-Proto $scheme; | ||
+ | proxy_set_header X-Real-IP $remote_addr; | ||
+ | |||
+ | # Request for root domain | ||
+ | location / { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | # Cache static files | ||
+ | location ~* / | ||
+ | proxy_cache_valid 200 90m; | ||
+ | proxy_buffering on; | ||
+ | expires 864000; | ||
+ | proxy_pass http:// | ||
+ | } | ||
+ | |||
+ | # Gzip | ||
+ | gzip_types text/css text/less text/plain text/xml application/ | ||
+ | gzip on; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
Nun ist das Portforwarding für HTTP und HTTPS auf den Server frei zu schalten. Du wirst vermutlich eine extra Hardwarefirewall hier für verwenden. Als nächstes installieren wir Certbot und holen uns ein frisches Zertifikat von Let's Encrypt. | Nun ist das Portforwarding für HTTP und HTTPS auf den Server frei zu schalten. Du wirst vermutlich eine extra Hardwarefirewall hier für verwenden. Als nächstes installieren wir Certbot und holen uns ein frisches Zertifikat von Let's Encrypt. | ||
- | < | + | < |
- | apt install certbot | + | apt install certbot |
systemctl stop nginx | systemctl stop nginx | ||
export DOMAIN=" | export DOMAIN=" | ||
export EMAIL=" | export EMAIL=" | ||
- | certonly --standalone -d ${DOMAIN} --preferred-challenges http --agree-tos -n -m ${EMAIL} --keep-until-expiring | + | certbot |
</ | </ | ||
Ist alles korrekt, sieht der Output so aus: | Ist alles korrekt, sieht der Output so aus: | ||
Zeile 62: | Zeile 124: | ||
| | ||
</ | </ | ||
+ | Nachdem du das Zertifikat erfolgreich abgeholt hast, erweitern wir die Nginx Konfiguration wie folgt: | ||
+ | <code nginx> | ||
+ | # Odoo Upstreams | ||
+ | upstream erp.deinServer.foo { | ||
+ | | ||
+ | } | ||
+ | |||
+ | server { | ||
+ | listen 80; | ||
+ | listen [::]:80; | ||
+ | server_name erp.deinServer.foo; | ||
+ | return 301 https:// | ||
+ | } | ||
+ | |||
+ | |||
+ | server { | ||
+ | listen 443 ssl; | ||
+ | listen [::]:443 ssl; | ||
+ | server_name erp.deinServer.foo; | ||
+ | access_log / | ||
+ | error_log / | ||
+ | |||
+ | # SSL | ||
+ | ssl_certificate / | ||
+ | ssl_certificate_key / | ||
+ | ssl_trusted_certificate / | ||
+ | |||
+ | |||
+ | # Proxy settings | ||
+ | proxy_read_timeout 720s; | ||
+ | proxy_connect_timeout 720s; | ||
+ | proxy_send_timeout 720s; | ||
+ | proxy_set_header X-Forwarded-Host $host; | ||
+ | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
+ | proxy_set_header X-Forwarded-Proto $scheme; | ||
+ | proxy_set_header X-Real-IP $remote_addr; | ||
+ | |||
+ | # Request for root domain | ||
+ | location / { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | # Cache static files | ||
+ | location ~* / | ||
+ | proxy_cache_valid 200 90m; | ||
+ | proxy_buffering on; | ||
+ | expires 864000; | ||
+ | proxy_pass http:// | ||
+ | } | ||
+ | |||
+ | # Gzip | ||
+ | gzip_types text/css text/less text/plain text/xml application/ | ||
+ | gzip on; | ||
+ | } | ||
+ | </ | ||
+ | Und starten Nginx wieder neu. '' | ||
+ | < | ||
+ | certbot certificates | ||
+ | </ | ||
+ | |||
+ | {{: | ||
+ | {{ : | ||
+ | |||
+ | |||
+ | ==== Cronjob für Let's Encrypt ==== | ||
+ | |||
+ | |||
+ | Damit das ganze auch automatisch passiert, richten wir noch einen wöchentlichen Cronjob ein. '' | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | / | ||
+ | </ | ||
+ | Datei ausführbar machen nicht vergessen ;) '' | ||
+ | |||
+ | ==== Sicherheit ==== | ||
+ | Aus Sicherheitsgründen wird empfohlen den Datenbankmanager im öffentlichem Betrieb zu deaktivieren. Hierzu öffnet man die Odoo Hauptkonfiguration unter ''/ | ||
+ | < | ||
+ | - list_db = True | ||
+ | + list_db = False | ||
+ | </ | ||
+ | |||
+ | ===== LDAPanbindung für UCS (Univention) ===== | ||
+ | LDAP Server: FQDN \\ | ||
+ | LDAP Port: 7389 \\ | ||
+ | TLS verwenden: nicht anhaken \\ | ||
+ | LDAP binddn: hier einen nicht privelgierten User anlegen, einen ldapreader \\ | ||
+ | LDAP Filter: Beispiel \\ | ||
+ | < | ||
+ | (& | ||
+ | </ | ||
+ | |||
+ | ===== Links und Quellen ===== | ||
- | ===== Links ===== | + | {{: |
https:// | https:// |