Outils personnels

OpenERP v6.1 - Installation sur BlueOnyx - Centos 6.3

De wikiGite

Dépendances

Ajouter le depot epel :

yum install -y  http://mirrors.ircam.fr/pub/fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm
sed -i 's/enabled = 1/enabled = 0/' /etc/yum.repos.d/rpmforge.repo

Installation :

yum install -y --enablerepo=epel python-devel pychart python-dateutil python-reportlab python-lxml python-psycopg2 python-mako python-setuptools pytz PyYAML \
graphviz pydot  python-imaging pywebdav python-vobject   vim system-config-firewall-tui wget python-babel python-gdata python-ldap python-openid python-werkzeug \ 
python-vatnumber  python-simplejson 

Postgresql 8.4

Installation

yum install postgresql-server

Initialiser postgresql :

service postgresql initdb

Démarer postgresql :

service postgresql start

Lancer postgresql au demarage

chkconfig postgresql on

Ajouter le superuser de postgresql et de openerp

useradd openerp
passwd openerp

Ajouter cet utilisateur dans postgresql :

su -c 'createuser --superuser --no-createrole --createdb --pwprompt openerp' postgres

Postgresql 9.2 (conseillé: meilleures performances)

Ajout du Dépot :

yum install http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-5.noarch.rpm

Installation :

yum update -y
yum install postgresql92-server

Initialiser postgresql :

service postgresql-9.2 initdb

Démarer postgresql :

service postgresql-9.2 start

Lancer postgresql au demarage

chkconfig postgresql-9.2 on

Ajouter le superuser de postgresql et de openerp

useradd openerp
passwd openerp

Ajouter cet utilisateur dans postgresql :

su -c 'createuser --superuser --no-createrole --createdb --pwprompt openerp' postgres

Installer openerp

Télécharger les sources :

wget http://nightly.openerp.com/6.1/releases/openerp-6.1-latest.tar.gz
tar xzvf openerp-6.1-latest.tar.gz
cd openerp-6.1-$VERSION
python setup.py install

Copier le script d'init dans /etc/init.d/ :

#!/bin/bash
# openerp-server        This shell script takes care of starting and stopping
#                       OpenERP server
#
# chkconfig: 345 95 05
# description: OpenERP server
#
# pidfile: /var/run/openerp-server.pid
# config: /etc/openerp-server.conf

### BEGIN INIT INFO
# Provides: openerp-server
# Required-Start: postgresql-9.2
# Required-Stop: postgresql-9.2
# Should-Start: $network harddrake
# Default-Start: 345
# Short-Description: Launches the OpenERP server.
# Description: This startup script launches the OpenERP server.
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

PIDFILE=/var/run/openerp/openerp-server.pid
LOCKFILE=/var/lock/subsys/openerp-server
LOGFILE=/var/log/openerp/openerp-server.log

DAEMON=/usr/bin/openerp-server
OPTS="--pidfile=$PIDFILE --logfile=$LOGFILE"

prog="openerp-server"
desc="OpenERP Server Daemon"

# check if the openerp-server conf file is present, then use it
if [ -f /etc/openerp-server.conf ]; then
    OPTS="$OPTS -c /etc/openerp-server.conf"
fi


# check the existence of the openerp-server script
[ -z $DAEMON ] && exit 0

RETVAL=0

start() {
    if [ -d /etc/openerp/start.d ] ; then
        echo -n $"Preparing $desc: "
        run-parts --exit-on-error /etc/openerp/start.d
        RETVAL=$?
        echo
        [ $RETVAL -ne 0 ] && return $RETVAL
    fi
    
    echo -n $"Starting $desc ($prog): "
    daemon --user openerp --check openerp-server \
    "/usr/bin/setsid $DAEMON \
    -c /etc/openerp-server.conf \
    --pidfile=$PIDFILE \
    --logfile=$LOGFILE &" 2>&1

    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch $LOCKFILE
    return $RETVAL
}

stop() {
    echo -n $"Stopping $desc ($prog): "
    kill -TERM `cat $PIDFILE` > /dev/null 2>&1
    RETVAL=$?
    if [ $RETVAL -eq 0 ] ; then
        rm -f $LOCKFILE

        echo_success
        echo
    else
        echo_failure
        echo
    fi
    if [ -d /etc/openerp/stop.d ] ; then
        echo -n $"Clearing $desc: "
        run-parts /etc/openerp/stop.d
        echo
    fi
    return $RETVAL
}

restart() {
    stop
    start
}    

condrestart() {
    [ -e $LOCKFILE ] && restart || :
}

status() { 
    if [ -f $PIDFILE ] ; then
        checkpid `cat $PIDFILE`
        RETVAL=$?
        if [ $RETVAL -eq 0 ] ; then
            echo  $"$prog is running..."
        else
            echo  $"$prog is stopped"
        fi
    else
        echo  $"$prog is stopped"
    fi
    return $RETVAL
}

case "$1" in
start)
    start
    ;;

stop)
    stop
    ;;

restart|reload)
    restart
    ;;

condrestart)
    condrestart
    ;;

status)
    status
    ;;

probe)
    exit 0
    ;;

*)
    echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
    exit 1
esac
chmod +x /etc/init.d/openerp-server
chkconfig /etc/init.d/openerp-server
chkconfig openerp-server on

Donner les droit d'ecriture sur le fichier de log et de pid à l'utilisateur openerp

mkdir /var/log/openerp
chown openerp:root /var/log/openerp
mkdir /var/run/openerp
chown openerp:root /var/run/openerp

Créer le fichier de configuration:
(Modifier en fonction des besoins. Faire attention à l'option addons_path qui varie entre les numeros de version)

vim /etc/openerp-server.conf
[options]
login_message = False
list_db = True
without_demo = False
admin_passwd = admin
pidfile = None
addons_path = /usr/lib/python2.6/site-packages/openerp-6.1_20120925_233125-py2.6.egg/openerp/addons
proxy_mode = True
timezone = False

logfile = None
syslog = False
logrotate = True
log_handler = [':INFO']
log_level = info
debug_mode = False

smtp_port = 25
smtp_password = False
smtp_server = localhost
smtp_ssl = False
smtp_user = False
email_from = False

db_template = template0
db_password = False
db_user = openerp
dbfilter = .*
db_host = False
db_maxconn = 64
db_port = False
db_name = False
pg_path = None

xmlrpcs = True
xmlrpcs_port = 8071
xmlrpcs_interface = 

xmlrpc = True
xmlrpc_port = 8069
xmlrpc_interface = 127.0.0.1

netrpc = True
netrpc_port = 8070
netrpc_interface = 127.0.0.1

cpu_time_limit = 60
virtual_memory_reset = 671088640
virtual_memory_limit = 805306368
cache_timeout = 100000
osv_memory_count_limit = False
osv_memory_age_limit = 1.0
max_cron_threads = 4

static_http_enable = False
static_http_document_root = None
secure_cert_file = server.cert
static_http_url_prefix = None

test_file = False
test_disable = False
test_commit = False
test_report_directory = False
reportgz = False

secure_pkey_file = server.pkey
assert_exit_level = error
unaccent = False
demo = {}
import_partial = 
csv_internal_sep = ,
translate_modules = ['all']
server_wide_modules = None


chown openerp:root /etc/openerp-server.conf
service openerp-server start

Apache

Installation

yum install httpd mod_ssl openssl
cd /tmp

Générer clés/certificat

Générer une nouvelle clé avec mot de passe :

openssl genrsa -des3 -out server.pkey 1024

Pour ne pas avoir a taper un mot de passe a cahque redemarage du serveur faire ceci :

penssl rsa -in server.pkey -out server.key

Générer un certificat avec cette clé :

openssl req -new -key server.key -out server.csr

Puis signer votre propre certificat :

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Donner les droits au fichiers :

chown openerp:root server.crt server.key
chmod 640 server.crt server.key

Puis copier les au bon endroit

mkdir /etc/ssl/openerp
chown openerp:root /etc/ssl/openerp
chmod 710 /etc/ssl/openerp
mv server.crt server.key /etc/ssl/openerp/

Configuration

Créer le fichier de configurtation

vim /etc/httpd/conf.d/openerp.conf
ServerName openerp.kogite.local
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
SSLProxyEngine on
SSLEngine on
SSLCertificateFile /etc/ssl/openerp/server.crt
 SSLCertificateKeyFile /etc/ssl/openerp/server.key
SSLCACertificateFile    /etc/ssl/openerp/server.crt
RequestHeader set "X-Forwarded-Proto" "https"
ProxyRequests Off
ProxyPass        /   http://127.0.0.1:8069/
ProxyPassReverse /   http://127.0.0.1:8069/
ProxyErrorOverride off
   TransferLog /var/log/httpd/transfer.web.openerp.log
SetEnv proxy-nokeepalive 1

Lancer Apache :

service httpd start
chkconfig httpd on

TIPS

Installation de nouveaux modules

Pour intégrer des modules qui ne sont pas dans la liste par défaut (par exemple téléchargés de apps.openerp.com), copier le répertoire du nouveau module dans /usr/lib/python2.6/site-packages/openerp-7.0_20130425_232458-py2.6.egg/openerp/addons.

Dans la configuration de l'utilisateur Administrateur (Configuration / Utilisateurs / Administrator / Droits d'accès) vérifier que "Caractéristiques techniques" est coché. S'il ne l'est pas, cliquer sur Modifier, cocher la case, enregistrer, et reconnecter l'Administrateur.

Les menus de droites sont alors plus fournis. Notamment dans Configuration, on a désormais "Mettre à jour la liste des modules". Cette mise à jour prendra en compte le nouveau module.

Pour l'installer, aller sur "Modules installés", enlever le filtre "Installé" en haut à droite et rechercher le module par son nom.

générer le fichier de configuration

su -c 'openerp-server -s -c /home/openerp/openerp-server.conf' openerp

Problèmes

==== DataError: encoding "UTF8" does not match locale "en_US" DETAIL: The chosen LC_CTYPE setting requires encoding "LATIN1". ====

Si au moment de la création de la BDD sur l'interface web ce message d'erreur apparait : - Arrêter postgresql et openerp

service openerp-server stop
service postgresql-9.2 stop

- Supprimer les bases

rm -Rf /var/lib/pgsql/9.2/data/*

- Reinitialiser la BDD :

su - postgres
cd /usr/pgsql-9.2/bin/
./initdb --locale=fr_FR.UTF-8 -D /var/lib/pgsql/9.2/data/
exit

- Relancer la base de donnée service postgresql-9.2 start

- Recréer l'utilisateur openerp dans postgres :

su -c 'createuser --superuser --no-createrole --createdb --pwprompt openerp' postgres

- Relancer openerp :

service openerp-server start

Sources

http://www.easyopenerp.com/installation-open-erp-server-et-web-6-1/
http://www.banym.de/linux/centos/install-openerp-on-centos-6-0-with-nginx-http-proxy
http://powerphil.wordpress.com/2011/01/28/how-to-install-and-configure-an-openerp-6-0-1-server-and-web-server-on-an-ubuntu-10-10-server/
http://www.clearfoundation.com/component/option,com_kunena/Itemid,232/catid,40/func,view/id,43407/