Consentement d'utilisation des Cookies

J'accepte Notre site sauvegarde des traceurs textes (cookies) sur votre appareil afin de vous garantir de meilleurs contenus et à des fins de collectes statistiques.Vous pouvez désactiver l'usage des cookies en changeant les paramètres de votre navigateur. En poursuivant votre navigation sur notre site sans changer vos paramètres de navigateur vous nous accordez la permission de conserver des informations sur votre appareil.

Installer Odoo 8 ex openerp sur Centos 7, nginx, SSL





Ce post est plus un reminder qu’un tutorial, c’est pourquoi je ne détaillerai pas chaque ligne de commande.

Vous pouvez également utiliser Hebus pour installer automatiquement Odoo ici : INSTALLATION AUTOMATIQUE DE ODOO

Nous allons installer Odoo sur une nouvelle machine CENTOS 7 , dans un environnement virtuel depuis les sources Github.

Installation de Odoo :

1 : Installation de PostgreSQL depuis le repo officiel :

 

rpm -Uvh http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm 
yum -y install postgresql93 postgresql93-server postgresql93-devel --disablerepo=* --enablerepo=pgdg93 

2) Initialissation de la base de données et activation du service au redémarrage de la machine :

/usr/pgsql-9.3/bin/postgresql93-setup initdb 
systemctl enable postgresql-9.3.service 
systemctl start postgresql-9.3 

 

création de l’utilisateur odoo :

su - postgres -c "createuser -s odoo" 2> /dev/null || true 

 

installation des packages necessaires :

 

yum -y groupinstall "Development tools" 
yum -y install zlib-devel bzip2-devel openssl openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel git libpng libjpeg libXext curl xorg-x11-font-utils fontconfig python-virtualenv libevent-devel libxml2-devel libxslt-devel openldap-devel openjpeg-devel freetype-devel libjpeg-turbo-devel libtiff-devel kernel-devel xorg-x11-fonts-75dpi xorg-x11-fonts-Type1

 

Activer EPEL :

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm 
rpm -ivh epel-release-7-5.noarch.rpm 

 

installation de wkhtmltopdf pour pouvoir imprimer des documents dans Odoo :

yum --enablerepo=epel install wkhtmltopdf 

wget http://downloads.sourceforge.net/wkhtmltopdf/wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm

rpm -ivh wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm

 

 

Installation de pip :

yum --enablerepo=epel install python-pip 

 

Clone de Odoo 8 depuis Github dans le répertoire /opt/odoo

git clone --branch 8.0 https://www.github.com/odoo/odoo /opt/odoo 

( pour faire un update de l’installation plus tard , il suffit de faire : git pull )

 

Création de l’environement virtuel pour Odoo:

 

useradd odoo 
chown -R odoo: /opt/odoo 
su - odoo 

 

Installation des packages nécessaires :

/bin/virtualenv odoo 
source odoo/bin/activate 
PATH=$PATH:/usr/pgsql-9.3/bin 
pip install -r /opt/odoo/requirements.txt 
exit 

 

Fichier de configuration et systemctl :

 

vi /etc/odoo-server.conf 

Ensuite insérer ceci dans le fichier :

[options] 
admin_passwd = admin 
db_host = False 
db_port = False 
db_user = odoo 
db_password = False 
addons_path = /opt/odoo/addons 
without-demo=all 
no-xmlrpc = True 
no-xmlrpcs = True 
no-netrpc = True 
log_db = False 
log_handler = ['['["[\':INFO\']"]']'] 
log_level = info 
logfile = False 
login_message = False 
logrotate = True 
syslog = False

 

Pour systemctl :

vi /usr/lib/systemd/system/odoo.service

 

[Unit] 
Description=Odoo 8.0 ERP and CRM server 
After=postgresql-9.3.service 
[Service] 
Type=simple 
User=odoo 
Group=odoo 
ExecStart=/home/odoo/odoo/bin/python /opt/odoo/openerp-server --config=/etc/odoo-server.conf 
[Install] 
WantedBy=multi-user.target 

 

installation de firewalld pour les images cloud CENTOS :

yum install firewalld
service firewalld start

 

Ouverture du port 8069 ( si vous installez pas nginx ! )

firewall-cmd --zone=public --add-port=8069/tcp --permanent 
firewall-cmd --reload 

 

Si Nginx va être installé :

firewall-cmd --zone=public --add-port=443/tcp --permanent 
firewall-cmd --reload 

 

Enfin démarer Odoo

systemctl enable odoo.service 
systemctl start odoo 

 

Si vous avec ouvert le port 8069 Odoo est accessible à : http://<adresse_ip_de_votre_serveur>:8069

Installation de Nginx :

yum install nginx
systemctl enable nginx

 

création du répertoir pour le certificat ssl :

 

mkdir /etc/nginx/ssl
cd /etc/nginx/ssl

 

Pour les certificat approuvé par une autoritée :

a) génération du CSR :

openssl req -new -newkey rsa:2048 -nodes -out VOTRE_NOM_DE_DOMAINE.csr -keyout VOTRE_NOM_DE_DOMAINE.key -subj "/C=INTIALES_DU_PAYS/ST=REGION /O=VOTRE_ORGANISATION SPRL/CN=VOTRE.NOMDE.DOMAINE"

vous pouvez également en généré un à l’aide de cet outil openssl

b) création du PEM

 

Une fois que vous avez reçu votre certificat en retour de l’autorité signataire, copié le contenu du fichier VOTRE_NOM_DE_DOMAINE.pem que vous avez reçu de leur part dans :

vi /etc/nginx/ssl/VOTRE_NOM_DE_DOMAINE.pem

 

ensuite créer le fichier de configuration Nginx :


 
vi /etc/nginx/conf.d/votresiteodoo.conf
et insérez y :

upstream oddo {
    server 127.0.0.1:8069;
}

server {
    listen      443 default;
    server_name VOTRE_NOM_DE_DOMAINE.COM;
### exemple :
### server_name odoo.com;
    access_log  /var/log/nginx/oddo.access.log;
    error_log   /var/log/nginx/oddo.error.log;

    ssl on;
    #### Il s'agit du nom des certificats SSL créer précédement 
    ssl_certificate     /etc/nginx/ssl/VOTRE_NOM_DE_DOMAINE.PEM;
    ssl_certificate_key /etc/nginx/ssl/VOTRE_NOM_DE_DOMAINE.key;
    keepalive_timeout   60;

    ssl_ciphers             HIGH:!ADH:!MD5;
    ssl_protocols           SSLv3 TLSv1;
    ssl_prefer_server_ciphers on;

    proxy_buffers 16 64k;
    proxy_buffer_size 128k;

    location / {
        proxy_pass  http://oddo;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_redirect off;

        proxy_set_header    Host            $host;
        proxy_set_header    X-Real-IP       $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    X-Forwarded-Proto https;
    }

    location ~* /web/static/ {
        proxy_cache_valid 200 60m;
        proxy_buffering on;
        expires 864000;
        proxy_pass http://oddo;
    }
}

server {
    listen      80;
    server_name VOTRE_NOM_DE_DOMAINE.COM;
### exemple :
### server_name odoo.com;

    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^/.*$ https://$host$request_uri? permanent;
}


service nginx restart

 

 

Pour les certificat self signed :

cd /etc/nginx/ssl
openssl genrsa -des3 -passout pass:x -out server.pass.key 2048
openssl rsa -passin pass:x -in server.pass.key -out server.key
rm server.pass.key
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

 

ensuite créer le fichier de configuration Nginx :


 
vi /etc/nginx/conf.d/votresiteodoo.conf


et insérez y :



upstream oddo {
    server 127.0.0.1:8069;
}

server {
    listen      443 default;
    server_name VOTRE_NOM_DE_DOMAINE.COM;
### exemple :
### server_name odoo.com;
    access_log  /var/log/nginx/oddo.access.log;
    error_log   /var/log/nginx/oddo.error.log;

    ssl on;
    ssl_certificate     /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;
    keepalive_timeout   60;

    ssl_ciphers             HIGH:!ADH:!MD5;
    ssl_protocols           SSLv3 TLSv1;
    ssl_prefer_server_ciphers on;

    proxy_buffers 16 64k;
    proxy_buffer_size 128k;

    location / {
        proxy_pass  http://oddo;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_redirect off;

        proxy_set_header    Host            $host;
        proxy_set_header    X-Real-IP       $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    X-Forwarded-Proto https;
    }

    location ~* /web/static/ {
        proxy_cache_valid 200 60m;
        proxy_buffering on;
        expires 864000;
        proxy_pass http://oddo;
    }
}

server {
    listen      80;
    server_name VOTRE_NOM_DE_DOMAINE.COM;
### exemple :
### server_name odoo.com;

    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^/.*$ https://$host$request_uri? permanent;
}


service nginx restart

 

 

Pour tout le monde :

Odoo est accessible à : https://<adresse_ip_de_votre_serveur>

 

 

 

 

 

 

Vous pouvez également utiliser Hebus pour installer automatiquement Odoo ici : INSTALLATION AUTOMATIQUE DE ODOO