How to Install Ubuntu on Galaxy Tab 10.1 Android Tablet!
Sommario:
- Prima di iniziare
- Crea utente Odoo
- Installa e configura PostgreSQL
- Installa Wkhtmltopdf
- Installa e configura Odoo
- Creare un file di unità Systemd
- Testare l'installazione
- Configurare Nginx come proxy di terminazione SSL
- Cambia l'interfaccia di associazione
- Abilita multiprocessing
- Conclusione
Odoo è il software aziendale all-in-one più famoso al mondo. Offre una gamma di applicazioni aziendali tra cui CRM, sito Web, e-commerce, fatturazione, contabilità, produzione, magazzino, gestione dei progetti, inventario e molto altro, il tutto perfettamente integrato.
Odoo può essere installato in diversi modi. Il modo più semplice e veloce per installare Odoo è utilizzare i loro repository APT ufficiali.
Questo tutorial copre i passaggi necessari per l'installazione e la configurazione di Odoo 12 per la produzione utilizzando l'origine Git e l'ambiente virtuale Python su un sistema Ubuntu 18.04.
Prima di iniziare
Accedi al tuo computer Ubuntu come utente sudo e aggiorna il sistema agli ultimi pacchetti:
sudo apt update && sudo apt upgrade
Installa Git, Pip, Node.js e gli strumenti necessari per creare dipendenze Odoo:
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
Crea utente Odoo
Crea un nuovo utente di sistema per Odoo chiamato
odoo12
con home directory
/opt/odoo12
usando il seguente comando:
sudo useradd -m -d /opt/odoo12 -U -r -s /bin/bash odoo12
Puoi usare qualsiasi nome per il tuo utente Odoo finché crei un utente PostgreSQL con lo stesso nome.
Installa e configura PostgreSQL
Installa il pacchetto PostgreSQL dai repository predefiniti di Ubuntu:
sudo apt install postgresql
Una volta completata l'installazione, crea un utente PostgreSQL con lo stesso nome dell'utente di sistema creato in precedenza, nel nostro caso
odoo12
:
sudo su - postgres -c "createuser -s odoo12"
Installa Wkhtmltopdf
Il pacchetto
wkhtmltox
fornisce una serie di strumenti da riga di comando open source che possono convertire HTML in PDF e vari formati di immagine. Per stampare report PDF, è necessario lo strumento
wkhtmltopdf
. La versione consigliata per Odoo è
0.12.1
che non è disponibile nei repository ufficiali Ubuntu 18.04.
Scarica il pacchetto usando il seguente comando wget:
wget
Una volta completato il download, installa il pacchetto digitando:
sudo apt install./wkhtmltox_0.12.1.3-1~bionic_amd64.deb
Installa e configura Odoo
Installeremo Odoo dal repository GitHub all'interno di un ambiente virtuale Python isolato.
Prima di iniziare con il processo di installazione, passare all'utente "odoo12":
sudo su - odoo12
Inizia clonando il codice sorgente di Odoo 12 dal repository GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
Una volta scaricato il codice sorgente, crea un nuovo ambiente virtuale Python per l'installazione di Odoo 12:
cd /opt/odoo12
python3 -m venv odoo-venv
Successivamente, attiva l'ambiente con il seguente comando:
source odoo-venv/bin/activate
Installa tutti i moduli Python richiesti con pip3:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Se si verificano errori di compilazione durante l'installazione, assicurarsi di aver installato tutte le dipendenze richieste elencate nella sezione
Before you begin
.
Disattiva l'ambiente usando il seguente comando:
deactivate
Creare una nuova directory per i componenti aggiuntivi personalizzati:
mkdir /opt/odoo12/odoo-custom-addons
Torna al tuo utente sudo:
exit
Quindi, crea un file di configurazione, copiando il file di configurazione di esempio incluso:
sudo cp /opt/odoo12/odoo/debian/odoo.conf /etc/odoo12.conf
Apri il file e modificalo come segue:
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
Non dimenticare di cambiare
my_admin_passwd
in qualcosa di più sicuro.
Creare un file di unità Systemd
Per eseguire Odoo come servizio è necessario creare un file di unità di servizio nella directory
/etc/systemd/system/
.
Apri il tuo editor di testo e incolla la seguente configurazione:
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
Notifica a systemd che esiste un nuovo file di unità e avvia il servizio Odoo eseguendo:
sudo systemctl daemon-reload
sudo systemctl start odoo12
Controlla lo stato del servizio con il seguente comando:
sudo systemctl status odoo12
L'output dovrebbe essere simile al seguente che indica che il servizio Odoo è attivo e in esecuzione.
* 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
Abilitare il servizio Odoo per l'avvio automatico all'avvio:
sudo systemctl enable odoo12
Testare l'installazione
Apri il browser e digita:
http://:8069
http://:8069
Supponendo che l'installazione abbia esito positivo, verrà visualizzata una schermata simile alla seguente:
Configurare Nginx come proxy di terminazione SSL
Assicurarsi di aver soddisfatto i seguenti prerequisiti prima di continuare con questa sezione:
- Nome di dominio che punta all'IP del tuo server pubblico. In questo tutorial useremo il certificato
example.com
.Nginx installato.SSL per il tuo dominio. È possibile installare un certificato SSL Let's Encrypt gratuito.
Il web server Odoo predefinito serve il traffico su HTTP. Per rendere più sicura la nostra distribuzione Odoo configureremo Nginx come proxy di terminazione SSL che servirà il traffico su
Il proxy di terminazione SSL è un server proxy che gestisce la crittografia / decrittografia SSL. Ciò significa che il nostro proxy di terminazione (Nginx) gestirà e decrittograferà le connessioni TLS in arrivo (HTTPS) e passerà le richieste non crittografate al nostro servizio interno (Odoo) in modo che il traffico tra Nginx e Odoo non sarà crittografato (HTTP).
L'uso di un proxy inverso offre molti vantaggi come Bilanciamento del carico, Terminazione SSL, Memorizzazione nella cache, Compressione, Pubblicazione di contenuti statici e altro ancora.
In questo esempio configureremo la terminazione SSL, il reindirizzamento da HTTP a HTTPS, il reindirizzamento da WWW a non WWW, la cache dei file statici e abiliteremo la compressione GZip.
Apri il tuo editor di testo e crea il seguente file:
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; }
Non dimenticare di sostituire example.com con il tuo dominio Odoo e impostare il percorso corretto per i file del certificato SSL. Gli snippet utilizzati in questa configurazione sono creati in questa guida.
Al termine, riavviare il servizio Nginx con:
sudo systemctl restart nginx
Successivamente, dobbiamo dire a Odoo che useremo il proxy. Per fare ciò, apri il file di configurazione e aggiungi la seguente riga:
/etc/odoo12.conf
proxy_mode = True
Riavvia il servizio Odoo per rendere effettive le modifiche:
sudo systemctl restart odoo12
A questo punto, il tuo server è configurato e puoi accedere alla tua istanza Odoo su:
https://example.com
Cambia l'interfaccia di associazione
Questo passaggio è facoltativo, ma è una buona pratica di sicurezza.
Per impostazione predefinita, il server Odoo ascolta la porta 8069 su tutte le interfacce. Se si desidera disabilitare l'accesso diretto all'istanza Odoo, è possibile bloccare la porta
8069
per tutte le interfacce pubbliche o forzare Odoo ad ascoltare solo sull'interfaccia locale.
In questa guida configureremo Odoo per l'ascolto solo su
127.0.0.1
. Apri la configurazione aggiungi le seguenti due righe alla fine del file:
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Salvare il file di configurazione e riavviare il server Odoo per rendere effettive le modifiche:
Abilita multiprocessing
Per impostazione predefinita, Odoo funziona in modalità multithreading. Per le distribuzioni di produzione, si consiglia di passare al server multiprocessore in quanto aumenta la stabilità e consente un migliore utilizzo delle risorse di sistema. Per abilitare il multiprocessing è necessario modificare la configurazione di Odoo e impostare un numero diverso da zero di processi di lavoro.
Il numero di lavoratori viene calcolato in base al numero di core della CPU nel sistema e alla memoria RAM disponibile.
In base alla documentazione ufficiale di Odoo per calcolare il numero di lavoratori e la dimensione della memoria RAM richiesta utilizzeremo le seguenti formule e ipotesi:
Calcolo del numero di lavoratore
- numero massimo teorico di worker = (system_cpus * 2) + 11 worker può servire ~ = 6 utenti simultanei Anche i lavoratori cronologici richiedono CPU
Calcolo della dimensione della memoria RAM
- Considereremo che il 20% di tutte le richieste sono richieste pesanti, mentre l'80% sono richieste più leggere. Le richieste pesanti utilizzano circa 1 GB di RAM mentre quelle più leggere utilizzano circa 150 MB di RAM RAM necessaria =
number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
grep -c ^processor /proc/cpuinfo
Supponiamo di avere un sistema con 4 core CPU, 8 GB di memoria RAM e 30 utenti Odoo simultanei.
-
30 users / 6 = **5**
(5 è il numero teorico di lavoratori necessari)(4 * 2) + 1 = **9**
(9 è il numero massimo teorico di lavoratori)
Sulla base del calcolo di cui sopra, possiamo utilizzare 5 lavoratori + 1 lavoratore per il cronista che è un totale di 6 lavoratori.
Calcola il consumo di memoria RAM in base al numero di lavoratori:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Il calcolo sopra ci mostra che la nostra installazione di Odoo richiederà circa 2 GB di RAM.
Per passare alla modalità multiprocessing, aprire il file di configurazione e aggiungere le seguenti righe:
/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
Riavvia il servizio Odoo per rendere effettive le modifiche:
sudo systemctl restart odoo12
Il resto delle risorse di sistema verrà utilizzato da altri servizi in esecuzione su questo sistema. In questa guida abbiamo installato Odoo insieme a PostgreSQL e Nginx su uno stesso server e, a seconda della configurazione, potresti avere anche altri servizi in esecuzione sul tuo server.
Conclusione
Questo tutorial ti ha guidato attraverso l'installazione di Odoo 12 su Ubuntu 18.04 in un ambiente virtuale Python usando Nginx come proxy inverso. Hai anche imparato come abilitare il multiprocessing e ottimizzare Odoo per l'ambiente di produzione.
Puoi anche consultare il nostro tutorial su come creare backup giornalieri automatici dei tuoi database Odoo.
ubuntu odoo postgresql python pip nginx proxy sslCome distribuire odoo 11 su Ubuntu 18.04
Questa guida illustra i passaggi necessari per l'installazione e la configurazione di Odoo per la produzione utilizzando l'origine Git e l'ambiente virtuale Python su un sistema Ubuntu 18.04.
Come distribuire rocket.chat su Ubuntu 18.04
Rocket.Chat è una piattaforma di comunicazione di team open source, un'alternativa Slack self-hosted. Rocket.Chat è una soluzione perfetta per aziende e comunità che vogliono ospitare il proprio sistema di chat.
Come distribuire il più possibile su Ubuntu 18.04
Mattermost riunisce tutte le comunicazioni del tuo team in un unico posto e offre varie funzionalità tra cui condivisione di file, messaggistica uno-a-uno e di gruppo, emoji personalizzati, videochiamate e altro ancora.