Outils personnels

Odoo 9 - Installation sur Centos 7 : Différence entre versions

De wikiGite

(Page créée avec « = Installation = https://techjourney.net/install-odoo-8-openerp-in-centos-red-hat-enterprise-linux/ https://panovski.me/install-odoo-8-on-centos-7/ == Pré-requis == yu... »)
 
Ligne 38 : Ligne 38 :
 
  server {
 
  server {
 
     listen      10.0.0.11:80;
 
     listen      10.0.0.11:80;
     server_name erp.domaine.com;
+
     server_name odoo.domaine.com;
     error_log  /var/log/httpd/erp.domaine.com.error.log error;
+
     error_log  /var/log/httpd/odoo.domaine.com.error.log error;
 
     location / {
 
     location / {
 
         proxy_pass      http://10.0.0.11:8069;
 
         proxy_pass      http://10.0.0.11:8069;
Ligne 66 : Ligne 66 :
 
* déclarer ce même alias dans la configuration nginx :
 
* déclarer ce même alias dans la configuration nginx :
  
     server_name erp.domaine.com mabase.domaine.com ;
+
     server_name odoo.domaine.com mabase.domaine.com ;
  
 
En appelant cette URL, Odoo extraiera "mabase", la sélectionnera automatiquement et proposera la page de login correspondante.
 
En appelant cette URL, Odoo extraiera "mabase", la sélectionnera automatiquement et proposera la page de login correspondante.

Version du 19 août 2016 à 10:18

Installation

https://techjourney.net/install-odoo-8-openerp-in-centos-red-hat-enterprise-linux/

https://panovski.me/install-odoo-8-on-centos-7/

Pré-requis

yum install --enablerepo=epel postgresql postgresql-server postgresql-devel postgresql-libs
postgresql-setup initdb
systemctl enable postgresql
systemctl start postgresql
su - postgres -c "createuser -s odoo" 2> /dev/null || true  

Odoo par RPM

Déclarer le dépôt EPEL, puis :

yum-config-manager --add-repo=https://nightly.odoo.com/9.0/nightly/rpm/odoo.repo
yum install odoo --enablerepo=epel
systemctl enable odoo
systemctl start odoo # Odoo écoute sur TCP 8069

Vérifier que les bases template* de Postgresql soient en UTF8 :

# su - postgres
$ psql
postgres=# \l
    Nom    | Propriétaire | Encodage | Collationnement | Type caract. |    Droits d'accès     
-----------+--------------+----------+-----------------+--------------+-----------------------
 postgres  | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | 
 template0 | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | =c/postgres          +
           |              |          |                 |              | postgres=CTc/postgres
 template1 | postgres     | UTF8     | fr_FR.UTF-8     | fr_FR.UTF-8  | =c/postgres          +
           |              |          |                 |              | postgres=CTc/postgres
(3 lignes)

postgres=# \q

Sur Vesta, paramétrer une redirection nginx:

# vi /etc/nginx/conf.d/odoo.conf
server {
    listen      10.0.0.11:80;
    server_name odoo.domaine.com;
    error_log  /var/log/httpd/odoo.domaine.com.error.log error;
    location / {
        proxy_pass      http://10.0.0.11:8069;
   }
}
systemctl restart nginx

Naviguer sur http://odoo.mondomaine.com et remplir le formulaire de première installation

Configuration

Multibase

Odoo a une logique particulière concernant le multibase. Par défaut, il affiche la liste des bases créées sur l'écran de login, on en sélectionne une et on se connecte.

ça a deux désavantages : on ne veut pas forcément que la liste des toutes les bases apparaissent (quand on donne accès à une des bases à un client, par exemple), et par ailleurs le lien envoyé dans les mails venant d'Odoo (exemple : mail suite à création d'un utilisateur, mail de changement de mot de passe, mass mailing, etc...) ne fonctionne pas (erreur 404 : page non trouvée).

La solution d'Odoo est donc de pré-sélectionner la base avant d'arriver sur la page de login. Seul moyen : lui dire d'extraire tout ou partie de l'URL et de sélectionner la base qui correspond. Pour ça il faut donc :

  • dans /etc/odoo/openerp-server.conf, modifier :
dbfilter = ^%d$
list_db = False

Le premier extrait le nom d'hôte (%d) de l'URL sans le domaine, le second désactive la liste des bases sur l'écran de login.

  • ensuite, créer un alias DNS qui contient le nom de la base. Par exemple, si la base créée s'appelle "mabase", créer un alias DNS "mabase.domaine.com" qui pointe vers le serveur.
  • déclarer ce même alias dans la configuration nginx :
    server_name odoo.domaine.com mabase.domaine.com ;

En appelant cette URL, Odoo extraiera "mabase", la sélectionnera automatiquement et proposera la page de login correspondante.


TODO : forcer https