Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
server_und_serverdienste:odoo_auf_ubuntu_mit_let_s_encrypt [2020/09/20 16:56] – loma | server_und_serverdienste:odoo_auf_ubuntu_mit_let_s_encrypt [2021/06/11 00:31] – 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 | + | ==== IPV6 für Odoo aktivieren ==== |
Hierfür editierst du einfach die Datei ''/ | Hierfür editierst du einfach die Datei ''/ | ||
< | < | ||
Zeile 29: | Zeile 43: | ||
===== 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 / | ||
</ | </ | ||
- | 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. | + | <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. | ||
+ | <code bash> | ||
+ | apt install certbot -y | ||
+ | systemctl stop nginx | ||
+ | export DOMAIN=" | ||
+ | export EMAIL=" | ||
+ | certbot certonly --standalone -d ${DOMAIN} --preferred-challenges http --agree-tos -n -m ${EMAIL} --keep-until-expiring | ||
+ | </ | ||
+ | Ist alles korrekt, sieht der Output so aus: | ||
+ | < | ||
+ | IMPORTANT NOTES: | ||
+ | - Congratulations! Your certificate and chain have been saved at: | ||
+ | / | ||
+ | Your key file has been saved at: | ||
+ | / | ||
+ | Your cert will expire on 2020-12-19. To obtain a new or tweaked | ||
+ | | ||
+ | | ||
+ | " | ||
+ | - Your account credentials have been saved in your Certbot | ||
+ | | ||
+ | | ||
+ | also contain certificates and private keys obtained by Certbot so | ||
+ | | ||
+ | - If you like Certbot, please consider supporting our work by: | ||
+ | |||
+ | | ||
+ | | ||
+ | </ | ||
+ | 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> | ||
+ | # | ||
+ | / | ||
+ | </ | ||
+ | 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 | ||
+ | </ | ||
+ | ===== Links und Quellen ===== | ||
- | ===== Links ===== | + | {{: |
https:// | https:// |