How to Install Odoo 12 On Ubuntu 18.10
Inhoudsopgave:
- Voordat je begint
- Creëer Odoo-gebruiker
- Installeer en configureer PostgreSQL
- Installeer Wkhtmltopdf
- Odoo installeren en configureren
- Maak een Systemd Unit-bestand
- Test de installatie
- Configureer Nginx als SSL-beëindigingsproxy
- Wijzig de bindende interface
- Multiprocessing inschakelen
- Conclusie
Odoo is de populairste alles-in-één bedrijfssoftware ter wereld. Het biedt een scala aan zakelijke toepassingen, waaronder CRM, website, e-commerce, facturering, boekhouding, productie, magazijn, projectbeheer, inventaris en nog veel meer, allemaal naadloos geïntegreerd.
Odoo kan op verschillende manieren worden geïnstalleerd. De eenvoudigste en snelste manier om Odoo te installeren, is door hun officiële APT-opslagplaatsen te gebruiken.
Deze tutorial behandelt de stappen die nodig zijn voor het installeren en configureren van Odoo 12 voor productie met behulp van Git source en Python virtuele omgeving op een Ubuntu 18.04-systeem.
Voordat je begint
Log in op uw Ubuntu-machine als sudo-gebruiker en werk het systeem bij naar de nieuwste pakketten:
sudo apt update && sudo apt upgrade
Installeer Git, Pip, Node.js en de tools die nodig zijn om Odoo-afhankelijkheden te bouwen:
sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less
Creëer Odoo-gebruiker
Maak een nieuwe systeemgebruiker voor Odoo met de naam
odoo12
met homedirectory
/opt/odoo12
met behulp van de volgende opdracht:
sudo useradd -m -d /opt/odoo12 -U -r -s /bin/bash odoo12
U kunt elke naam voor uw Odoo-gebruiker gebruiken zolang u een PostgreSQL-gebruiker met dezelfde naam maakt.
Installeer en configureer PostgreSQL
Installeer het PostgreSQL-pakket vanuit de standaardrepository's van Ubuntu:
sudo apt install postgresql
Nadat de installatie is voltooid, maakt u een PostgreSQL-gebruiker met dezelfde naam als de eerder gemaakte systeemgebruiker, in ons geval dat is
odoo12
:
sudo su - postgres -c "createuser -s odoo12"
Installeer Wkhtmltopdf
Het
wkhtmltox
pakket biedt een set open source-opdrachtregelprogramma's waarmee HTML kan worden omgezet in PDF en verschillende afbeeldingsindelingen. Om PDF-rapporten af te drukken, hebt u het hulpprogramma
wkhtmltopdf
nodig. De aanbevolen versie voor Odoo is
0.12.1
die niet beschikbaar is in de officiële Ubuntu 18.04-opslagplaatsen.
Download het pakket met de volgende wget-opdracht:
wget
Nadat de download is voltooid, installeert u het pakket door te typen:
sudo apt install./wkhtmltox_0.12.1.3-1~bionic_amd64.deb
Odoo installeren en configureren
We zullen Odoo installeren vanuit de GitHub-repository in een geïsoleerde virtuele omgeving van Python.
Voordat u begint met het installatieproces, gaat u naar gebruiker "odoo12":
sudo su - odoo12
Begin met het klonen van de Odoo 12-broncode uit de GitHub-repository:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
Nadat de broncode is gedownload, maakt u een nieuwe virtuele Python-omgeving voor de Odoo 12-installatie:
cd /opt/odoo12
python3 -m venv odoo-venv
Activeer vervolgens de omgeving met de volgende opdracht:
source odoo-venv/bin/activate
Installeer alle vereiste Python-modules met pip3:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Als u tijdens de installatie compilatiefouten tegenkomt, moet u ervoor zorgen dat u alle vereiste afhankelijkheden hebt geïnstalleerd die worden vermeld in de sectie
Before you begin
.
Deactiveer de omgeving met de volgende opdracht:
deactivate
Maak een nieuwe map voor de aangepaste add-ons:
mkdir /opt/odoo12/odoo-custom-addons
Schakel terug naar uw sudo-gebruiker:
exit
Maak vervolgens een configuratiebestand door het meegeleverde voorbeeldconfiguratiebestand te kopiëren:
sudo cp /opt/odoo12/odoo/debian/odoo.conf /etc/odoo12.conf
Open het bestand en bewerk het als volgt:
sudo nano /etc/odoo12.conf
/etc/odoo12.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo12 db_password = False addons_path = /opt/odoo12/odoo/addons, /opt/odoo12/odoo-custom-addons
Vergeet niet om de
my_admin_passwd
te wijzigen in iets veiligers.
Maak een Systemd Unit-bestand
Om Odoo als een service uit te voeren, moeten we een bestand met een service-eenheid maken in de map
/etc/systemd/system/
.
Open uw teksteditor en plak de volgende configuratie:
sudo nano /etc/systemd/system/odoo12.service
/etc/systemd/system/odoo12.service
Description=Odoo12 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo12 PermissionsStartOnly=true User=odoo12 Group=odoo12 ExecStart=/opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf StandardOutput=journal+console WantedBy=multi-user.target
Breng systemd op de hoogte dat er een nieuw eenheidsbestand bestaat en start de Odoo-service door:
sudo systemctl daemon-reload
sudo systemctl start odoo12
Controleer de servicestatus met de volgende opdracht:
sudo systemctl status odoo12
De uitvoer zou er ongeveer zo uit moeten zien, wat aangeeft dat de Odoo-service actief en actief is.
* odoo12.service - Odoo12 Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2018-10-09 14:15:30 PDT; 3s ago Main PID: 24334 (python3) Tasks: 4 (limit: 2319) CGroup: /system.slice/odoo12.service `-24334 /opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
Schakel de Odoo-service in om automatisch te worden gestart tijdens het opstarten:
sudo systemctl enable odoo12
Test de installatie
Open uw browser en typ:
http://:8069
http://:8069
Ervan uitgaande dat de installatie is geslaagd, verschijnt een scherm als het volgende:

Configureer Nginx als SSL-beëindigingsproxy
Zorg ervoor dat u aan de volgende voorwaarden hebt voldaan voordat u doorgaat met deze sectie:
- Domeinnaam die verwijst naar het IP van uw openbare server. In deze zelfstudie gebruiken we
example.comNginx geïnstalleerd.SSL-certificaat voor uw domein. U kunt een gratis Let's Encrypt SSL-certificaat installeren.
De standaard Odoo-webserver levert verkeer via HTTP. Om onze Odoo-implementatie veiliger te maken, zullen we Nginx configureren als een SSL-beëindigingsproxy die het verkeer via HTTPS zal bedienen.
SSL-beëindigingsproxy is een proxyserver die de SSL-codering / decodering afhandelt. Dit betekent dat onze beëindigingsproxy (Nginx) inkomende TLS-verbindingen (HTTPS) verwerkt en decodeert en de niet-gecodeerde verzoeken doorgeeft aan onze interne service (Odoo), zodat het verkeer tussen Nginx en Odoo niet wordt gecodeerd (HTTP).
Het gebruik van een reverse-proxy biedt u veel voordelen, zoals load-balancing, SSL-beëindiging, caching, compressie, serveren van statische inhoud en meer.
In dit voorbeeld zullen we SSL-beëindiging, HTTP naar HTTPS-omleiding, WWW naar niet-WWW-omleiding configureren, de statische bestanden in de cache opslaan en GZip-compressie inschakelen.
Open uw teksteditor en maak het volgende bestand:
sudo nano /etc/nginx/sites-enabled/example.com
/etc/nginx/sites-enabled/example.com
# Odoo servers upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } # HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; # Proxy headers 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; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; # Handle longpoll requests location /longpolling { proxy_pass http://odoochat; } # Handle / requests location / { proxy_redirect off; proxy_pass http://odoo; } # Cache static files location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } # Gzip gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
Vergeet niet om example.com te vervangen door uw Odoo-domein en het juiste pad naar de SSL-certificaatbestanden in te stellen. De fragmenten die in deze configuratie worden gebruikt, worden in deze handleiding gemaakt.
Zodra u klaar bent, start u de Nginx-service opnieuw met:
sudo systemctl restart nginx
Vervolgens moeten we Odoo vertellen dat we proxy zullen gebruiken. Open hiervoor het configuratiebestand en voeg de volgende regel toe:
/etc/odoo12.conf
proxy_mode = True
Start de Odoo-service opnieuw om de wijzigingen van kracht te laten worden:
sudo systemctl restart odoo12
Op dit moment is uw server geconfigureerd en hebt u toegang tot uw Odoo-exemplaar op:
https://example.com
Wijzig de bindende interface
Deze stap is optioneel, maar het is een goede beveiligingspraktijk.
Odoo-server luistert standaard naar poort 8069 op alle interfaces. Als u directe toegang tot uw Odoo-exemplaar wilt uitschakelen, kunt u poort
8069
voor alle openbare interfaces blokkeren of Odoo dwingen alleen te luisteren op de lokale interface.
In deze gids zullen we Odoo configureren om alleen op
127.0.0.1
te luisteren. Open de configuratie en voeg de volgende twee regels toe aan het einde van het bestand:
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Sla het configuratiebestand op en start de Odoo-server opnieuw om de wijzigingen door te voeren:
Multiprocessing inschakelen
Odoo werkt standaard in de multithreading-modus. Voor productie-implementaties wordt aanbevolen om over te schakelen naar de multiprocessing-server omdat deze de stabiliteit verhoogt en de systeembronnen beter gebruikt. Om multiprocessing mogelijk te maken, moeten we de Odoo-configuratie bewerken en een niet-nul aantal werkprocessen instellen.
Het aantal werkers wordt berekend op basis van het aantal CPU-kernen in het systeem en het beschikbare RAM-geheugen.
Volgens de officiële Odoo-documentatie om het aantal werknemers en de vereiste RAM-geheugengrootte te berekenen, gebruiken we de volgende formules en veronderstellingen:
Berekening werknemersnummer
- theoretisch maximaal aantal werkers = (system_cpus * 2) + 11 werkers kunnen ~ = 6 gelijktijdige gebruikers bedienen Werknemers hebben ook CPU nodig
RAM geheugen berekening
- We zullen overwegen dat 20% van alle verzoeken zware verzoeken zijn, terwijl 80% lichtere verzoeken zijn. Zware aanvragen gebruiken ongeveer 1 GB RAM, terwijl de lichtere aanvragen ongeveer 150 MB RAM gebruiken Nodig RAM = number_of_workers
number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
grep -c ^processor /proc/cpuinfo
Laten we zeggen dat we een systeem hebben met 4 CPU-kernen, 8 GB RAM-geheugen en 30 gelijktijdige Odoo-gebruikers.
-
30 users / 6 = **5**(5 is het theoretische aantal benodigde werknemers)(4 * 2) + 1 = **9**(9 is het theoretische maximale aantal werknemers)
Op basis van de bovenstaande berekening kunnen we 5 werknemers + 1 werknemer gebruiken voor de cron-werknemer, wat in totaal 6 werknemers is.
Bereken het RAM-geheugenverbruik op basis van het aantal werknemers:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Uit de bovenstaande berekening blijkt dat onze Odoo-installatie ongeveer 2 GB RAM nodig heeft.
Om naar de multiprocessing-modus te schakelen, opent u het configuratiebestand en voegt u de volgende regels toe:
/etc/odoo12.conf
limit_memory_hard = 2684354560 limit_memory_soft = 2147483648 limit_request = 8192 limit_time_cpu = 600 limit_time_real = 1200 max_cron_threads = 1 workers = 5
Start de Odoo-service opnieuw om de wijzigingen van kracht te laten worden:
sudo systemctl restart odoo12
De overige systeembronnen worden gebruikt door andere services die op dit systeem worden uitgevoerd. In deze gids hebben we Odoo samen met PostgreSQL en Nginx op dezelfde server geïnstalleerd en afhankelijk van uw installatie kunnen er ook andere services op uw server worden uitgevoerd.
Conclusie
Deze tutorial leidde je door de installatie van Odoo 12 op Ubuntu 18.04 in een virtuele Python-omgeving met Nginx als een omgekeerde proxy. Je hebt ook geleerd hoe je multiprocessing kunt inschakelen en Odoo kunt optimaliseren voor de productieomgeving.
U kunt ook onze tutorial raadplegen over het maken van automatische dagelijkse back-ups van uw Odoo-databases.
ubuntu odoo postgresql python pip nginx proxy sslHoe odoo 11 op ubuntu 18.04 te implementeren
Deze gids behandelt de stappen die nodig zijn voor het installeren en configureren van Odoo voor productie met behulp van Git source en Python virtuele omgeving op een Ubuntu 18.04-systeem.
Hoe rocket.chat op centos te implementeren 7
In deze zelfstudie laten we u zien hoe u Rocket.Chat installeert en implementeert op een CentOS 7-server met Nginx als SSL reverse proxy. Rocket.Chat is een compleet teamcommunicatieplatform, een zelfgehost Slack-alternatief.
Hoe rocket.chat op ubuntu 18.04 te implementeren
Rocket.Chat is een open source team communicatieplatform, een zelf-gehost Slack-alternatief. Rocket.Chat is een perfecte oplossing voor bedrijven en communities die hun eigen chatsysteem willen hosten.







