Odoo è il software aziendale all-in-one più popolare 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.
Odoo11 richiede Python 3.5 che non è disponibile nei repository CentOS. Per questo motivo, non possiamo installare il pacchetto Odoo tramite yum dal repository Odoo.
O eseguiamo Odoo in un contenitore mobile o lo installiamo in un ambiente virtuale Python.
In questo tutorial, ti illustreremo come installare Odoo 11 utilizzando il codice sorgente Git e l'ambiente virtuale Python su una macchina CentOS 7.
Prima di iniziare #
Accedi alla tua macchina CentOS come utente sudo e aggiorna il sistema agli ultimi pacchetti:
sudo yum update
Abilita il repository EPEL digitando:
sudo yum install epel-release
Installeremo i pacchetti Python 3.5 dal repository Software Collections (SCL).
Abilitando SCL avrai accesso alle versioni più recenti di linguaggi di programmazione e servizi che non sono disponibili nei repository principali. Abilita il repository SCL con il seguente comando:
sudo yum install centos-release-scl
Installa i pacchetti Python 3.5, con il seguente comando:
sudo yum install rh-python35
Infine installa git
, pip
e tutti gli strumenti necessari per creare dipendenze Odoo:
sudo yum install git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel postgresql-devel
Crea utente Odoo #
Crea un nuovo utente di sistema e un gruppo con la directory home /opt/odoo
che eseguirà il servizio Odoo:
sudo useradd -m -U -r -d /opt/odoo -s /bin/bash odoo
Puoi nominare l'utente come preferisci, assicurati solo di creare un utente PostgreSQL con lo stesso nome. Installa e configura PostgreSQL #
Installa il server PostgreSQL e crea un nuovo cluster di database PostgreSQL:
sudo yum install postgresql-server
sudo postgresql-setup initdb
Una volta completata l'installazione, abilita e avvia il servizio PostgreSQL:
sudo systemctl enable postgresql
sudo systemctl start postgresql
Crea un utente PostgreSQL con lo stesso nome dell'utente di sistema precedentemente creato, nel nostro caso odoo
:
sudo su - postgres -c "createuser -s odoo"
Installa Wkhtmltopdf #
Il wkhtmltox
Il pacchetto fornisce una serie di strumenti da riga di comando open source che possono eseguire il rendering di HTML in PDF e vari formati di immagine. Per stampare i report in PDF, avrai bisogno del wkhtmltopdf
attrezzo. La versione consigliata per Odoo è 0.12.1
che non è disponibile nei repository ufficiali di CentOS 7.
Per scaricare e installare la versione consigliata, eseguire i seguenti comandi:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm
sudo yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm
Installa e configura Odoo 11 #
Installeremo Odoo dal repository GitHub in modo da poter avere un maggiore controllo su versioni e aggiornamenti. Useremo anche virtualenv che è uno strumento per creare ambienti Python isolati.
Prima di iniziare con il processo di installazione, assicurati di [passare all'utente] “odoo”:
sudo su - odoo
Per confermare di aver effettuato l'accesso come odoo
utente puoi usare il seguente comando:
whoami
Ora possiamo iniziare con il processo di installazione, prima clonare odoo dal repository GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11
Abilita le raccolte di software in modo da poter accedere ai binari di Python 3.5:
scl enable rh-python35 bash
Crea un nuovo ambiente virtuale per la nostra installazione di Odoo con:
cd /opt/odoo
python3 -m venv odoo11-venv
attivare l'ambiente:
source odoo11-venv/bin/activate
e installa tutti i moduli Python richiesti:
pip3 install -r odoo11/requirements.txt
Se riscontri errori di compilazione durante l'installazione, assicurati di aver installato tutte le dipendenze richieste elencate in Before you begin
sezione. Una volta completata l'installazione, disattiva l'ambiente e torna al tuo utente sudo utilizzando i seguenti comandi:
deactivate
exit
Se prevedi di installare moduli personalizzati, è meglio installarli in una directory separata. Per creare una nuova directory per i moduli personalizzati esegui:
sudo mkdir /opt/odoo/odoo11-custom-addons
sudo chown odoo: /opt/odoo/odoo11-custom-addons
Successivamente, dobbiamo creare un file di configurazione:
/etc/odoo11.conf[options]
; This is the password that allows database operations:
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/odoo11/addons
; If you are using custom modules
; addons_path = /opt/odoo/odoo11/addons,/opt/odoo/odoo11-custom-addons
Non dimenticare di modificare il superadmin_passwd
a qualcosa di più sicuro e regola il addons_path
se stai utilizzando moduli personalizzati. Crea un file di unità systemd #
Per eseguire odoo come servizio creeremo un odoo11.service
file unit nel /etc/systemd/system/
directory con i seguenti contenuti:
[Unit]
Description=Odoo11
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo11
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/usr/bin/scl enable rh-python35 -- /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Notifica a systemd
che abbiamo creato un nuovo file unit e avviamo il servizio Odoo eseguendo:
sudo systemctl daemon-reload
sudo systemctl start odoo11
Puoi controllare lo stato del servizio con il seguente comando:
sudo systemctl status odoo11
● odoo11.service - Odoo11
Loaded: loaded (/etc/systemd/system/odoo11.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2018-03-28 20:13:30 UTC; 6s ago
Main PID: 16174 (scl)
CGroup: /system.slice/odoo11.service
├─16174 /usr/bin/scl enable rh-python35 -- /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
├─16175 /bin/bash /var/tmp/sclihoNjg
└─16178 /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
e se non ci sono errori puoi abilitare l'avvio automatico del servizio Odoo all'avvio:
sudo systemctl enable odoo11
Se vuoi vedere i messaggi registrati dal servizio Odoo puoi usare il comando qui sotto:
sudo journalctl -u odoo11
Verifica l'installazione #
Apri il browser e digita:http://<your_domain_or_IP_address>:8069
Supponendo che l'installazione abbia esito positivo, apparirà una schermata simile alla seguente:
Se non riesci ad accedere alla pagina, probabilmente il tuo firewall sta bloccando la porta 8069.