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.
In questo tutorial, ti mostreremo come installare Odoo12 dal sorgente all'interno di un ambiente virtuale Python su una macchina CentOS 7.
Prerequisiti #
Assicurati di aver effettuato l'accesso come utente con privilegi sudo prima di procedere con il tutorial.
Installa Python 3.6 e le dipendenze Odoo #
Installeremo i pacchetti Python 3.6 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 i repository EPEL e SCL con il seguente comando:
sudo yum install epel-release centos-release-scl
Una volta abilitati i repository, installa Python 3.6 tutti gli strumenti necessari per creare dipendenze Odoo:
sudo yum install rh-python36 git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel
Durante l'installazione ti verrà chiesto di accettare le chiavi GPG.
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/odoo12 -s /bin/bash odoo12
Puoi nominare l'utente come preferisci, assicurati solo di creare un utente PostgreSQL con lo stesso nome. Installa e configura PostgreSQL #
Al momento della stesura di questo articolo, l'ultima versione di PostgreSQL disponibile dai repository CentOS è PostgreSQL versione 9.2 che non è ufficialmente supportata da Odoo.
Installeremo PostgreSQL 10 dai repository PostgreSQL ufficiali.
Inizia abilitando il repository PostgreSQL:
sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
Installa il server PostgreSQL e crea un nuovo cluster di database PostgreSQL:
sudo yum install postgresql10-server postgresql10-devel
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Una volta completata l'installazione, abilita e avvia il servizio PostgreSQL:
sudo systemctl enable postgresql-10
sudo systemctl start postgresql-10
Crea un utente PostgreSQL con lo stesso nome dell'utente di sistema precedentemente creato, nel nostro caso odoo12
:
sudo su - postgres -c "createuser -s odoo12"
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.
Scarica la versione consigliata con il seguente comando wget:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm
Una volta completato il download, installa il rpm
pacchetto digitando:
sudo yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm
Installa e configura Odoo 12 #
Prima di iniziare con il processo di installazione, assicurati di passare all'utente “odoo12”:
sudo su - odoo12
Inizia clonando il codice sorgente di Odoo 12 dal repository Odoo GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
Abilita le raccolte di software in modo da poter accedere ai binari di Python 3.6:
scl enable rh-python36 bash
Crea un nuovo ambiente virtuale Python per l'installazione di Odoo con:
cd /opt/odoo12
python3 -m venv venv
Attiva l'ambiente:
source venv/bin/activate
Installa tutti i moduli Python richiesti:
pip3 install -r odoo/requirements.txt
Se riscontri errori di compilazione durante l'installazione, assicurati di aver installato tutte le dipendenze richieste elencate in Install Python 3.6 and Odoo Dependencies
sezione. Una volta completata l'installazione, disattivare l'ambiente utilizzando il seguente comando:
deactivate
Crea una nuova directory per i componenti aggiuntivi personalizzati:
mkdir /opt/odoo12/odoo-custom-addons
Torna al tuo utente sudo:
exit
Quindi, apri il tuo editor di testo e crea il seguente file di configurazione:
sudo nano /etc/odoo12.conf
/etc/odoo12.conf[options]
; This is the password that allows database operations:
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo12
db_password = False
addons_path = /opt/odoo12/odoo/addons, /opt/odoo12/odoo-custom-addons
Salva e chiudi il file.
Non dimenticare di modificare ilsuperadmin_passwd
a qualcosa di più sicuro. Crea un file di unità systemd #
Per eseguire Odoo come servizio creeremo un file di unità.
Apri il tuo editor di testo e crea un file chiamato odoo12.service
all'interno di /etc/systemd/system/
directory:
sudo nano /etc/systemd/system/odoo12.service
Incolla il seguente contenuto:
/etc/systemd/system/odoo12.service[Unit]
Description=Odoo12
Requires=postgresql-10.service
After=network.target postgresql-10.service
[Service]
Type=simple
SyslogIdentifier=odoo12
PermissionsStartOnly=true
User=odoo12
Group=odoo12
ExecStart=/usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Salva il file e chiudi l'editor.
Notifica a Systemd che abbiamo creato un nuovo file di unità:
sudo systemctl daemon-reload
Avvia e abilita il servizio Odoo eseguendo:
sudo systemctl enable odoo12
sudo systemctl start odoo12
Puoi controllare lo stato del servizio con il seguente comando:
sudo systemctl status odoo12
● odoo12.service - Odoo12
Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2018-10-30 16:35:09 UTC; 6s ago
Main PID: 24649 (scl)
CGroup: /system.slice/odoo12.service
├─24649 /usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
├─24650 /bin/bash /var/tmp/scldyaa9h
└─24653 /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
Se vuoi vedere i messaggi registrati dal servizio Odoo puoi usare il comando qui sotto:
sudo journalctl -u odoo12
Verifica l'installazione #
Apri il browser e digita:http://<your_domain_or_IP_address>:8069
Supponendo che l'installazione sia riuscita, apparirà una schermata simile alla seguente:
Se non riesci ad accedere alla pagina, probabilmente il tuo firewall sta bloccando la porta 8069
.
Utilizzare i seguenti comandi per aprire la porta necessaria:
sudo firewall-cmd --permanent --zone=public --add-port=8069/tcp
sudo firewall-cmd --reload