Présentation
Odoo est un logiciel CRM et ERP gratuit et open source qui offre beaucoup de flexibilité et de personnalisation qui vous permet de répondre aux besoins uniques de votre entreprise.
De plus, Odoo est le système d'information d'entreprise de nouvelle génération qui vous aide à développer votre entreprise, avec une conception modulaire puissante couvrant tous les aspects essentiels d'une entreprise.
Odoo est un fork de la communauté Odoo et son objectif principal était d'implémenter de nombreuses fonctionnalités d'Odoo Enterprise tout en le gardant ouvert à tous.
Mettre à jour les packages
Exécutez les commandes suivantes pour mettre à niveau tous les packages installés sur votre VPS :
sudo apt-get update -y && sudo apt-get upgrade -y
Installer les dépendances requises
Vous devrez installer le package Python et d'autres dépendances Odoo sur votre système. Exécutez cette commande :
sudo apt-get install gcc python3-venv build-essential python3-pillow python3-wheel python3-lxml python3-dev python3-pip python3-setuptools npm nodejs git gdebi libldap2-dev libsasl2-dev libxml2-dev libxslt1-dev libjpeg-dev libpq-dev -y
Vous devrez également installer l'outil wkhtmltopdf sur votre système.
Vous pouvez le télécharger et l'installer avec la commande suivante :
qadry@unixcop:~$ wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
--2021-08-20 05:44:26-- https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
Resolving github.com (github.com)... 140.82.121.4
Connecting to github.com (github.com)|140.82.121.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-releases.githubusercontent.com/131323182/10e1d800-ab93-11ea-862e-4f209c09ebf0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210820%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210820T124427Z&X-Amz-Expires=300&X-Amz-Signature=17fe5ac9c52a75f405aa1915db96e68c7af0126b1e3f3b5f5de32bb2c9060ae2&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=131323182&response-content-disposition=attachment%3B%20filename%3Dwkhtmltox_0.12.6-1.focal_amd64.deb&response-content-type=application%2Foctet-stream [following]
--2021-08-20 05:44:27-- https://github-releases.githubusercontent.com/131323182/10e1d800-ab93-11ea-862e-4f209c09ebf0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210820%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210820T124427Z&X-Amz-Expires=300&X-Amz-Signature=17fe5ac9c52a75f405aa1915db96e68c7af0126b1e3f3b5f5de32bb2c9060ae2&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=131323182&response-content-disposition=attachment%3B%20filename%3Dwkhtmltox_0.12.6-1.focal_amd64.deb&response-content-type=application%2Foctet-stream
Resolving github-releases.githubusercontent.com (github-releases.githubusercontent.com)... 185.199.110.154, 185.199.109.154, 185.199.108.154, ...
Connecting to github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.110.154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 15721382 (15M) [application/octet-stream]
Saving to: ‘wkhtmltox_0.12.6-1.focal_amd64.deb.1’
wkhtmltox_0.12.6-1.focal_amd64.deb.1 100%[=======================================================================>] 14.99M 367KB/s in 42s
2021-08-20 05:45:10 (364 KB/s) - ‘wkhtmltox_0.12.6-1.focal_amd64.deb.1’ saved [15721382/15721382]
qadry@unixcop:~$
Installer PostgreSQL
Oddra PostgreSQL afin de stocker ses données dans une base de données. installez-le avec la commande suivante :
sudo apt-get install postgresql -y
Utilisez PostgreSQL et créez un utilisateur pour Odoo. J'ai nommé l'utilisateur flectra , mais vous pouvez utiliser le nom de votre choix :
su - postgres -c "createuser -s flectra"
Installer Odoo
Tout d'abord, créez un utilisateur distinct pour Odoo. Le nom de cet utilisateur doit être le même que votre utilisateur PostgreSQL :
useradd -m -U -r -d /opt/flectra -s /bin/bash flectra
Vous devez vous connecter avec votre utilisateur Odoo et télécharger la source Odoo depuis le dépôt Git officiel :
root@unixcop:~# su - flectra
flectra@unixcop:~$ git clone --depth=1 --branch=1.0 https://gitlab.com/flectra-hq/flectra.git flectra
Cloning into 'flectra'...
remote: Enumerating objects: 26592, done.
remote: Counting objects: 100% (26592/26592), done.
remote: Compressing objects: 100% (18809/18809), done.
Receiving objects: 60% (15931/26592), 5.26 MiB | 943.00 KiB/s
Créez ensuite un environnement virtuel Odoo avec python avec la commande ci-dessous :
python3 -m venv flectra-venv
Activez également l'environnement virtuel.
Remarque : Par défaut, Ubuntu 20.04 est livré avec Python version 3.8.2. Vous devrez donc mettre à jour le fichier requirementsments.txt fichier pour éviter l'erreur psucopg2 lors de l'installation de Odoo
Vous pouvez éviter cette erreur avec deux solutions :
(1) :
Ouvrez le fichier avec l'éditeur de texte que vous avez
(flectra-venv) flectra@unixcop:~$ vim flectra/requirements.txt
Ensuite, vous pouvez ignorer toutes les erreurs en supprimant tout le contenu du fichier requirements.txt et en y ajoutant ce contenu.
Babel==2.3.4
decorator==4.0.10
docutils==0.12
ebaysdk==2.1.5
feedparser==5.2.1
gevent==1.1.2 ; sys_platform != 'win32' and python_version < '3.7'
gevent==1.5.0 ; python_version >= '3.7'
greenlet==0.4.10 ; python_version < '3.7'
greenlet==0.4.14 ; python_version >= '3.7'
html2text==2016.9.19
Jinja2==2.10.1
lxml==3.7.1 ; sys_platform != 'win32' and python_version < '3.7'
lxml==4.6.3 ; sys_platform != 'win32' and python_version >= '3.8'
lxml ; sys_platform == 'win32'
Mako==1.0.4
MarkupSafe==0.23
mock==2.0.0
num2words==0.5.6
ofxparse==0.16
passlib==1.6.5
Pillow==4.0.0 ; python_version < '3.7'
Pillow==6.1.0 ; python_version >= '3.7'
psutil==4.3.1; sys_platform != 'win32' and python_version >= '3.7'
psutil==5.6.3; sys_platform == 'win32'
psycopg2==2.8.5; sys_platform != 'win32' and python_version >= '3.7'
psycopg2==2.8.5; sys_platform != 'win32' and python_version >= '3.8'
psycopg2==2.8.5; sys_platform == 'win32'
pydot==1.2.3
pyldap==2.4.28; sys_platform != 'win32'
pyparsing==2.1.10
PyPDF2==1.26.0
pyserial==3.1.1
python-dateutil==2.5.3
# vatnumber requirement. Last version compatible
python-stdnum<=1.14
pytz==2016.7
pyusb==1.0.0
PyYAML==3.12 ; python_version < '3.7'
PyYAML==3.13 ; python_version >= '3.7'
qrcode==5.3
reportlab==3.3.0
requests==2.20.0
suds-jurko==0.6
vatnumber==1.2
vobject==0.9.3
Werkzeug==0.11.15 ; sys_platform != 'win32'
Werkzeug==0.16.0 ; sys_platform == 'win32'
XlsxWriter==0.9.3
xlwt==1.3.*
xlrd==1.0.0
pypiwin32 ; sys_platform == 'win32'
oauthlib==2.0.7
pycrypto==2.6.1
validate-email==1.3
unittest2==1.1.0
numpy==1.14.3
Ce contenu affiché ci-dessus est celui par défaut du fichier mais je l'ai édité avec soin et j'ai ignoré toutes les erreurs qui m'ont été rencontrées lors de l'installation (Erreurs telles que :compatibilité de version et lignes dupliquées…etc)
Si vous souhaitez terminer l'installation sans erreur, je vous recommande cette solution.
(2) :
La seconde solution en modifiant le fichier requirements.txt par défaut :
vim flectra/requirements.txt
Recherchez les lignes suivantes :
psycopg2==2.7.3.1; sys_platform != 'win32'
psycopg2==2.8.3; sys_platform == 'win32'
Remplacez-les par les lignes suivantes :
psycopg2==2.8.5; sys_platform != 'win32'
psycopg2==2.8.5; sys_platform == 'win32'
Si vous avez des erreurs avec des lignes en double ou quelque chose comme ça, vous pouvez les supprimer puis enregistrer le fichier et quitter.
Après cela, installez le module de roue avec la commande :
(flectra-venv) flectra@unixcop:~$ pip3 install wheel
Enfin, installez tous les modules Python requis avec :
(flectra-venv) flectra@unixcop:~$ pip3 install -r flectra/requirements.txt
Une fois tous les modules installés, désactivez depuis l'environnement virtuel
(flectra-venv) flectra@unixcop:~$ deactivate
Ensuite, quittez l'utilisateur Odora
flectra@unixcop:~$ exit
logout
root@unixcop:~#
Configurer Odoo
Nous devons créer une structure de répertoires pour que Odoo stocke les addons, les fichiers de configuration et les journaux.
Créez-le avec ces commandes :
mkdir /opt/flectra/flectra-custom-addons
mkdir /var/log/flectra
touch /var/log/flectra/flectra.log
mkdir /etc/flectra
Changez la propriété des répertoires ci-dessus en Odoo comme indiqué :
chown -R flectra:flectra /opt/flectra/flectra-custom-addons
chown -R flectra:flectra /var/log/flectra/
chown -R flectra:flectra /etc/flectra
Créez ensuite un fichier de configuration de Odoo
vim /etc/flectra/flectra.conf
Et ajoutez les lignes suivantes :
options]
admin_passwd = unixcop@password
db_host = False
db_port = False
db_user = flectra
db_password = False
logfile = /var/log/flectra/flectra.log
logrotate = True
proxy_mode = True
addons_path = /opt/flectra/flectra/addons, /opt/flectra/flectra-custom-addons
Enregistrez et fermez le fichier.
Créer un fichier de service Systemd pour Odoo
Nous allons créer un fichier de service systemd pour gérer le service Odoo. Créez un nouveau fichier de service avec cette commande :
vim /etc/systemd/system/flectra.service
Ajoutez ensuite les lignes suivantes :
[Unit]
Description=flectra
[Service]
Type=simple
SyslogIdentifier=flectra
PermissionsStartOnly=true
User=flectra
Group=flectra
ExecStart=/opt/flectra/flectra-venv/bin/python3 /opt/flectra/flectra/flectra-bin -c /etc/flectra/flectra.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Ensuite, rechargez la liste des démons systemd. et démarrez le service Odoo et activez-le pour qu'il démarre au démarrage.
systemctl daemon-reload
systemctl start flectra
systemctl enable flectra
Vérifiez le port sur lequel Odoo écoute à l'aide de la commande ci-dessous :
root@unixcop:~# netstat -plntu | grep 7073
tcp 0 0 0.0.0.0:7073 0.0.0.0:* LISTEN 23821/python3
root@unixcop:~#
Maintenant, ouvrez votre navigateur Web et tapez http://IP_address:7073 Vous serez redirigé vers la page suivante :
Remarque :
J'ai remplacé IP adresse avec flectra.unixcop.com dans /etc/hosts
# echo "192.168.13.130 flectra.unixcop.com" > /etc/hosts
Si vous suivez cette étape, ouvrez le navigateur et tapez :
flectra.unixcop.com:7073
Ensuite, fournissez votre mot de passe principal que vous l'avez ajouté dans flectra.conf fichier, les détails de la base de données, l'e-mail et le mot de passe et cliquez sur le bouton Créer une base de données. Vous serez redirigé vers le tableau de bord Odoo, comme indiqué ci-dessous :
Installer Nginx en tant que proxy inverse pour Odoo
Odoo fonctionne maintenant, mais il n'est accessible qu'à notre adresse IP en utilisant le port 7073. Cela peut convenir à certains, mais ce serait idéal si Odoo pouvait être directement accessible à l'aide d'un nom de domaine avec le port par défaut (80). Pour ce faire, nous allons configurer Nginx en tant que proxy inverse. Installez le serveur Web Nginx à l'aide de la commande suivante :
sudo apt-get install nginx -y
créer un nouvel hôte virtuel Nginx
vim /etc/nginx/sites-available/example.conf
Ajoutez les lignes suivantes.
#flectra server
upstream flectra {
server 127.0.0.1:7073;
}
server {
listen 80;
server_name flectra.unixcop.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Add Headers for flectra proxy mode
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;
# log
access_log /var/log/nginx/flectra.access.log;
error_log /var/log/nginx/flectra.error.log;
# Redirect requests to flectra backend server
location / {
proxy_redirect off;
proxy_pass http://flectra;
}
# common gzip
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
Assurez-vous de remplacer flectra.unixcop.com avec votre propre nom de domaine
Activez ensuite le fichier d'hôte virtuel Nginx.
ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/
La dernière étape pour redémarrer le service nginx
systemctl restart nginx
Accéder à l'interface utilisateur Web de Odoo
Ouvrez maintenant votre navigateur puis tapez :
flectra.unixcop.com
Odoo a été installé, vous pouvez donc commencer à l'utiliser et améliorer la productivité de votre entreprise.
C'est tout !!