Entradas

Entorno de desarrollo de OpenERP con Eclipse – Parte III: Eclipse

3 Eclipse

3.1 Instalación

  • Hay dos opciones para instalar Eclipse:
    1. A través de apt-get,
    2. Como ejecutable de la página web.

La primera opción garantizará que todas las dependencias se instalen automáticamente.
La segunda opción permite instalar la última versión de Eclipse y asi aprovechar las nuevas funciones.

3.1.1 Por apt-get

Ejecutar el comando:

$ sudo apt-get install eclipse

Podrá iniciar Eclipse a través del menú o de la consola:

$ eclipse

3.1.2 Descargar de la pagina web

Primero hay que instalar las dependencias que son –como mínimo– Java 6:

$ sudo apt-get install sun-java6-jdk

Descargar Eclipse Classic desde su página web. Seleccionar la carpeta donde se instalará:

$ cd ~/bin
$ tar xvzf ~/Descargas/eclipse-SDK-3.7.1-linux-gtk-x86_64.tar.gz
$ cd eclipse
$ ./eclipse

Es necesario intercambiar Descargas/eclipse-SDK-3.7.1-linux-gtk-x86_64.tar.gz por la versión y la carpeta adecuada.

3.2 PyDev

PyDev es un plug-in para Eclipse que facilita la programación en Python.

3.2.1 Instalación

Se instala PyDev desde el propio Eclipse. En Eclipse elige [Help] y en el menú que aparece Install New Software….

En la ventana que aparece ingresar en el campo Work with:http://pydev.org/updates y seleccionar Add….

http://www.domatix.com/wp-content/uploads/install_work_with_pydev.png

Ingresar ‘http://pydev.org/updates’ y seleccionar ‘Add…’

Aparecerá una nueva ventana donde se ingresa un nombre y seleccionar OK.

http://www.domatix.com/wp-content/uploads/add_repository.png

Ingresar un nombre y hacer clic en ‘OK’.

Aparece Pending en la lista hasta que haya cargado la información. Después se verán dos nuevas entradas:

  1. PyDev
  2. PyDev Mylyn Integration (optional)

Seleccionar PyDev y seleccionar Next.

http://www.domatix.com/wp-content/uploads/install_pydev_selected.png

Seleccionar ‘PyDev‘ y seleccionar ‘Next’

En el siguiente menú seleccionar PyDevfor Eclipse y hacer click en Next.

http://www.domatix.com/wp-content/uploads/install_pydev_selected.png

Seleccionar ‘PyDev for Eclipse’ y hacer clic en ‘Next’.

Aparece el menú Review Licenses. Para continuar es necesario aceptar las condiciones y terminos de la licencia de uso, seleccionar I accept the terms of the
license agreement
y hacer clic en Finish.

http://www.domatix.com/wp-content/uploads/install_license_agreement.png

Aceptar la licencia y hacer click en  Finish.

Aparecerá una nueva ventana que indicará el proceso de la instalación.

http://www.domatix.com/wp-content/uploads/installing_software.png

Mientras está instalando, desea saber si se confía en el certificado de Aptana. Seleccionar Aptana Pydev; Pydev;Aptana, en esa misma ventana y luego hacer clic en OK.

http://www.domatix.com/wp-content/uploads/selection_needed.png

Seleccionar ‘Aptana’ y hacer clic en ‘OK’

Después de haber instalado PyDev Eclipse se requiere reiniciar para poder usar el nuevo plugin. Hacer clic en Restart Now.

http://www.domatix.com/wp-content/uploads/restart_now.png

Hacer clic a ‘Restart Now’

3.2.2 Configuración

En la ventana principal de Eclipse, seleccionar [Window] y seleccionar Preferences. Se abre una nueva ventana donde se localiza el punto PyDev, y seleccionar el subpunto Interpreter - Python. Hacer click en AutoConfig.

http://www.domatix.com/wp-content/uploads/pydev_config.png

Configuración de PyDev

Si no existen errores, en la ventana siguiente se tiene que comprobar la selección que ha hecho Eclipse.

http://www.domatix.com/wp-content/uploads/pydev_config_selection.png

Comprobar la selección de Eclipse.

Hacer click en OK.

3.3 Soporte para XML

Instalaremos otro plugin que facilita el trabajo con archivos XML. El proceso es similar al de PyDev.

3.3.1 Instalación

Seleccionar de nuevo [Help] y Install New Software….Es nedesario abrir el menú Work with: y elegir Indigo – http://download.eclipse.org/releases/indigo (el nombre puede cambiar según la versión de Eclipse que se este usando) y de la lista seleccionar el punto Web, XML and Java EE Development y selecciones Eclipse XML Editors and Tools. Hacer clic en Next.

http://www.domatix.com/wp-content/uploads/install_xml_editor.png

Seleccionar ‘Eclipse XML Editors and Tools’.

Proceder como en la instalación de PyDev aceptando la licencia y reiniciando Eclipse después de la instalación.

3.4 OpenERP Templates

Los templates se pueden descargar directamente o via svn:

$ sudo apt-get install subversion
$ svn checkout 
       http://openerp-eclipse-template.googlecode.com/svn/trunk/ 
       openerp-eclipse-template-read-only

Explicación de la instalación y el uso de los snippets en unos vídeos en Youtube:

Para importarlos:

3.4.1 Python Snippets

  • [Window] -> Preferences, PyDev -> Editor -> Templates,
  • Hacer click en  Import y
  • Seleccionar el  archivo templates-openerp.xml.

3.4.2 XML Snippets

  • [Window] -> Preferences, XML -> XML Files -> Editor -> Templates,
  • Hacer click en Import
  • Seleccionar  el archivo Openerp-eclipse-xml-template.xml.

Entorno de desarrollo de OpenERP con Eclipse – Parte II: OpenERP

2 OpenERP

2.1 Instalación de dependencias

Es necesario instalar algunos paquetes de los cuales depende OpenERP.

2.1.1 Dependencias del servidor de OpenERP

Como se encuentra documentado en esta sección.

$ sudo apt-get install python-lxml python-mako python-dateutil 
 python-psycopg2 python-pychart python-pydot python-tz 
 python-reportlab python-yaml python-vobject python-ldap 
 python-libxslt1

2.1.2 Dependencias del cliente OpenERP

Como se encuentra documentado en esta sección:

$ sudo apt-get install python-gtk2 python-glade2 python-matplotlib 
 python-egenix-mxdatetime python-dateutil python-lxml python-tz 
 python-hippocanvas python-pydot

2.1.3 Dependencias del cliente web de OpenERP

La documentación se encuentra en esta sección:

$ sudo apt-get install python-cherrypy3 python-formencode 
 python-babel

2.2 Instalar OpenERP desde Launchpad

2.2.1 Instalar Bazaar

Para instalar OpenERP desde Launchpad es necesario utilizar Bazaar:

$ sudo apt-get install bzr

2.2.2 Grabar el código

Para este paso existen dos opciones:

  1. Grabar y ejecutar este pequeño script que hemos desarrollado en Domatix
  2. Hacerlo a manualmente:

Ir a la carpeta donde se requiere tener la instalación de OpenERP – usualmente se instala en una carpeta con el nombre: «openerp» en la carpeta del usuario:

$ PATH_TO_OPENERP=~/openerp
$ mkdir $PATH_TO_OPENERP
$ mkdir $PATH_TO_OPENERP/server
$ cd $PATH_TO_OPENERP/server
$ bzr branch lp:~openerp/openobject-server/6.0 6.0
$ bzr branch lp:~openerp/openobject-server/5.0 5.0
$ mkdir $PATH_TO_OPENERP/client
$ cd $PATH_TO_OPENERP/client
$ bzr branch lp:~openerp/openobject-client/6.0 6.0
$ bzr branch lp:~openerp/openobject-client/5.0 5.0
$ mkdir $PATH_TO_OPENERP/client-web
$ cd $PATH_TO_OPENERP/client-web
$ bzr branch lp:~openerp/openobject-client-web/6.0 6.0
$ bzr branch lp:~openerp/openobject-client-web/5.0 5.0
$ mkdir $PATH_TO_OPENERP/addons
$ cd $PATH_TO_OPENERP/addons
$ bzr branch lp:~openerp/openobject-addons/6.0 6.0
$ bzr branch lp:~openerp/openobject-addons/5.0 5.0
$ mkdir $PATH_TO_OPENERP/addons-extra
$ cd $PATH_TO_OPENERP/addons-extra
$ bzr branch lp:~openerp-commiter/openobject-addons/extra-6.0 6.0
$ bzr branch 
 lp:~openerp-commiter/openobject-addons/stable_5.0-extra-addons 5.0

Para que los ‘addons’ funcionen en la versión 5.0 hay que hacer unos links:

$ cd $PATH_TO_OPENERP/server/5.0/bin/addons
$ for d in $PATH_TO_OPENERP/addons/5.0/*; do ln -sv $d; done

En la versión 6.0 hay que configurarlo a través del archivo ~/.openerp_serverrc. Si no existe este archivo en el sistema iniciar el servidor de la siguiente manera:

$ cd $PATH_TO_OPENERP/server/6.0
$ bin/openerp-server.py --save --stop-after-init

Abre el el archive ~/.openerp_serverrc en tu editor preferido y modifica la linea

addons_path = /your/path/to/openerp/server/6.0/bin/addons

A algo como lo siguiente:

addons_path = /your/path/to/openerp/server/6.0/bin/addons,/your/path/to/openerp/addons/6.0

2.3 Comprobar que funciona.

2.3.1 El servidor

Esto solo funcionará si se ha creado anteriormente la base de datos para testificar.

$ cd $PATH_TO_OPENERP/server/6.0
$ bin/openerp-server.py --db_user=openerp

2.3.2 El cliente

Con el servidor arrancado es posible iniciar el cliente:

$ cd $PATH_TO_OPENERP/client/6.0
$ bin/openerp-client.py

Aparece una ventana para hacer el login. Como clave se ingresa: demo.

La clave es ‘demo’

Si todo ha sido correcto, ahora hay un cliente conectado.

http://www.domatix.com/wp-content/uploads/client_logged_in.png

Si todo ha sido correcto…

Se puede observar en la pantalla donde se ha iniciado el servidor para verificar si ha ocurrido algún error.

2.3.3 El interfaz de web

$ cd $PATH_TO_OPENERP/web 
$ ./openerp-web.py

En el navegador local hay que abrir la pagina http://192.168.0.122:8080. El usuario y clave es demo. Después, hacer clic en Login.

http://www.domatix.com/wp-content/uploads/web_login.png

Usuario ‘demo’, clave ‘demo’.

Si todo ha sido correcto se verá una ventana así:.

http://www.domatix.com/wp-content/uploads/web_logged_in.png

Si la instalación ha sido correcta…

2.3.4 Eliminar la base de datos ‘testerp’

Ahora que se ha comprobado que todo funciona correctamente, procedemos a eliminar la base de datos que se ha creado anteriormente:

$ sudo su - postgres
postgres $ psql
psql (9.1.2)
Type "help" for help.
postgres=# DROP DATABASE testerp;
DROP DATABASE
postgres=# q
postgres@vincebox ~ $ exit

Installing Zoook on Ubuntu – Part IV: Zoook – Parametrize and connect with OpenERP

1. Install OpenERP dependencies

You’ll have to install the following modules in OpenERP:

2. Connecting Zoook to the Database

At first create a PostgreSQL database for Zoook. In a development environment you can use the user openerp. This way you don’t have to create a new one. In production its recommended to make sure that every user has an exclusive access to the database.

$ sudo -u postgres psql
postgres=# CREATE DATABASE dj_zoook OWNER openerp;
postgres=# l

The last command shows the existent databases. If everything worked out fine it should show someting like the following:

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/list_databases.png

Verify the correct creation of the database.

3. Parametrisation of Zoook

3.1. ~/django-projects/zoook-app/config.py

Edit the file and adjust the parameters of the connection to OpenERP. You’ll have to configure all passages. The following ones are especially important for the interconnection with the OpenERP server and error detection:

  • LANGUAGESDefines the languages of your web shop. They have to be the same as in OpenERP.
    #Edit your languages
    LANGUAGE_CODE = 'es'
    LANGUAGES = (
        ('es', ugettext('Spanish')),
        ('en', ugettext('English')),
    )
    DEFAULT_LANGUAGE = 1
    LOCALE_URI = True
  • OERP_SALEIndicates which OpenERP shop should be used in Zoook (just for the case that you have several shops).
    OERP_SALE = 1 #Sale Shop. All price, orders, ... use this Sale Shop ID.
  • LOGSDefines the path to Zoooks logging files.
    LOGFILE = '/home/roberto/django-projects/zoook-app/log/sync.log' #path sync log
    LOGSALE = '/home/roberto/django-projects/zoook-app/log/sale.log' #path sale log
  • DATABASESDefines where and how Zoook finds its database.
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
            'NAME': 'dj_zoook',     # Or path to database file if using sqlite3.
            'USER': 'openerp',      # Not used with sqlite3.
            'PASSWORD': 'openerp',  # Not used with sqlite3.
            'HOST': '192.168.0.122',    # Set to empty string for 192.168.0.122. Not used with sqlite3.
            'PORT': '5432',         # Set to empty string for default. Not used with sqlite3.
        }
    }
  • OERP_CONFDefines the connection to the XML-RPC service of OpenERP.
    OERP_CONF = {
        'username':'admin',
        'password':'openerp',
        'dbname':'openerp',
        'protocol':'xmlrpc', #xmlrpc
        'uri':'http://192.168.0.122', #xmlrpc
        'port':8069, #xmlrpc
    # 'protocol':'pyro', #pyro
    # 'uri':'192.168.0.122', #pyro
    # 'port':8071, #pyro
    }

3.2. ~/django-projects/zoook-app/sync/config_path.py

Contains the routes to Zoook so that the SSH synchronisation process can find the needed files.

djpath = '/home/roberto/django-projects/zoook-app'

3.3. ~/django-projects/zoook-app/settings.py

Edit this file to assign a new unique password to Zoook. I’d recommend to use a password generator such as safepasswd.com.

# Make this unique, and don't share it with anybody.
SECRET_KEY = 'YOUR_PASSWORD_GOES_HERE'

3.4. Create Zoooks database tables

  • Generate the data base structure
    $ cd ~/django-projects/zoook-app
    $ python manage.py syncdb

    The script will ask if you want to create a new super-user. Affirm and pass it the needed data for the account you’ll later want to administer Zoook with.

    http://www.domatix.com/http://www.domatix.com/wp-content/uploads/syncdb_superuser3.png

    Create a superuser for Django.

3.5. ~/django-projects/zoook-app/configuration.py

Execute the configuration assistant and give it further information needed by Django.

  • Execute configuration.py
    $ cd ~/django-projects/zoook-app
    $ ./configuration.py

    The output should look like this:

    http://www.domatix.com/http://www.domatix.com/wp-content/uploads/asistente_configuration.png

    Configuration of Django.

3.6. Adjust file permissions

  • Change the permissions in the sync directory
    $ cd ~/django-projects/zoook-app/
    $ sudo chown -R roberto:www-data *
    $ sudo chmod 775 -R sync

3.7. Testing Zoook

  • Run the server
    $ cd ~/django-projects/zoook-app/
    $ python manage.py runserver

    this should show something like:

    http://www.domatix.com/http://www.domatix.com/wp-content/uploads/server_django_post.png

    Successfully initiated Django server.

    Open your browser and open up the direction of the server (http://127.0.0.1:8000/). Zoook should load the first time and you should end up with a site like this:

    http://www.domatix.com/http://www.domatix.com/wp-content/uploads/server_zoook_test.png

    Start page of Zoook.

    Access the administration area with the super user credentials created beforehand:

    http://www.domatix.com/http://www.domatix.com/wp-content/uploads/zoook_administration.png

    Zooks administration page.

4. Connecting Zoook with OpenERP

A SSH server is required on the machine where Zoook is installed:

$ sudo apt-get install openssh-server

The next step is to configure poweremail to create a template for orders. This article won’t cover the further details of this step. You can get that information here.

Now, open up OpenERP and configure the shop for the connection with Zoook. Open

Sales => Configuration => Sales => Shop

Choose the shop you’re going to use with Zoook, edit it and check the box next to OpenERP e-Sale in the upper right. As an outcome of this should appear a new configuration tab for Zoook.

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/openerp_config_tienda001.png

Mark a shop fort exportation.

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/openerp_config_tienda002.png

Mark all products for exportation.

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/openerp_config_tienda007.png

Configure the SSH connection.

When doing the test of the connection it should pop up a message, saying that it is configured properly.

5. Export test products

Now, we’ll only have to add some test categories and products. The only thing noteworthy at this point is that in order to export a product to the web you have to check “Export to online shop?”. Once this is checked you’ll see a new tab with the name “e-Sale” where you can parametrise the options of the product of the web shop.

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/openerp_config_product.png

Configuring e-Sale options on a product.

After the creation of products you’ll have to go back to the configuration of the shop to export products, categories, images etc. After doing a refresh of the page of Zoook you should be able to see the introduced data:

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/zoook_category_view.png

Successfully exported category in Zoook.

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/zoook_product_view.png

Successfully exported product in Zoook.

Installing Zoook on Ubuntu – Part III: Zoook installation

1 Download Zoook from the repositories

The repository of the Django application of Zoook isn’t available any more on Launchpad. But you can fetch a zipped copy here.

For the rest of this article I assume that you unpacked the content of the archive to /home/roberto/django-projects/zoook-app.

2 Install dependencies

Zoook depends on the following packages:

Install the python-setuptools package first in order to make the installation of these dependencies easier:

$ sudo apt-get install python-setuptools

The next step is to create a folder, where you want to install all further third party dependencies of Zoook. This will later on make updates of the packages via git, mercurial, etc. much easier. In this tutorial we are going to use ~/django-projects/zoook-external for this purpose:

$ cd ~/django-projects
$ mkdir zoook-external

2.1 OOOP (Open Object On Python)

Clone and install the fork of Zikzak Media:

$ cd ~/django-projects/zoook-external
$ git clone https://github.com/zikzakmedia/ooop.git
$ cd ooop
$ sudo python setup.py install

2.2 Pyro3 (Python Remote Objects)

Check their PyPI project page for the latest version – that is 3.15 as of this writing –, download, unpack and install it:

$ cd ~/django-projects/zoook-external
$ wget pypi.python.org/packages/source/P/Pyro/Pyro-3.15.tar.gz
$ tar xvzf Pyro-3.15.tar.gz
$ cd Pyro-3.15
$ sudo python setup.py install

2.3 Paramiko

Check their website for the latest version – that is 1.7.7.1 as of this writing –, download, unpack and install it:

$ cd ~/django-projects/zoook-external
$ wget http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz
$ tar xvzf paramiko-1.7.7.1.tar.gz
$ cd paramiko-1.7.7.1
$ sudo python setup.py install

2.4 Recaptcha Client

Check their PyPI project page for the latest version – that is 1.0.6 as of this writing –, download, unpack and install it:

$ cd ~/django-projects/zoook-external
$ wget http://pypi.python.org/packages/source/r/recaptcha-client/recaptcha-client-1.0.6.tar.gz
$ tar xvzf recaptcha-client-1.0.6.tar.gz
$ cd recaptcha-client-1.0.6
$ sudo python setup.py install

2.5 inplaceeditform

Clone and install the fork of Zikzak Media:

$ cd ~/django-projects/zoook-external
$ git clone https://github.com/zikzakmedia/django-inplaceeditform.git
$ cd django-inplaceeditform
$ sudo python setup.py install

2.6 django-localurl

In the case that there is no Mercurial installed:

$ sudo apt-get install mercurial

This done, clone the oficial repository of django-localurl and install it:

$ cd ~/django-projects/zoook-external
$ hg clone https://bitbucket.org/carljm/django-localeurl
$ cd django-localeurl/
$ sudo python setup.py install

2.7 django-transmeta

In case that you don’t have SVN installed:

$ sudo apt-get install svn

That finished go ahead to the installation of django-transmeta:

$ cd ~/django-projects/zoook-external
$ svn checkout http://django-transmeta.googlecode.com/svn/trunk/ django-transmeta
$ cd django-transmeta
$ sudo python setup.py install

2.8 django-maintenancemode

Clone and install Zikzak Media’s fork of django-maintanencemode:

$ cd ~/django-projects/zoook-external
$ git clone https://github.com/zikzakmedia/django-maintenancemode.git
$ cd django-maintenancemode
$ sudo python setup.py install

2.9 Correct imports

As a default Zoook’s module do absolute imports with a zoook. prefix. You’ll have to convert these absolute imports to relative ones. That is, to eliminate this ‘zoook’ prefix. Modify the following files as indicated.

2.9.1 /zoook-app/settings.py

Change this line

ROOT_URLCONF = 'zoook.urls'

to

ROOT_URLCONF = 'urls'

2.9.2 /zoook-app/tools/cms/templatetags/imageslider.py

Change this line

from zoook.tools.cms.models import ImageSlider, ImageSliderItem

to

from tools.cms.models import ImageSlider, ImageSliderItem

2.9.3 /zoook-app/tools/cms/templatetags/menubuilder.py

Change this line

from zoook.tools.cms.models import Menu, MenuItem

to

from tools.cms.models import Menu, MenuItem

2.9.4 /zoook-app/tools/cms/templatetags/modules.py

Change this line

from zoook.tools.cms.models import Modules

to

from tools.cms.models import Modules

The next and final article in this series will be dedicated to the interconnection of Zoook and OpenERP.

Installing Zoook on Ubuntu – Part II: Python and Django

1 Install Python

The default Python interpreter on Ubuntu 11.10 is 2.7.2. To verify that this is the version on your system execute:

$ python

This should return something like the following:

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/python_version.png

Find out the version of your Python installation.

The message indicates that the version 2.7.2 is installed.

To exit the Python interpreter execute a

>>> quit()

In the rare case that there is no Python on your system, install it via

$ sudo apt-get install python

2 Install Django

Install all dependencies needed by Django:

$ sudo apt-get install python-dev python-psycopg2

You can install Django in three different ways:

  1. via the package management system of your distribution,
  2. fetching the latest stable version from the website, or
  3. download the development version from their repositories.

2.1 Installation via the package management system

The installation via the package management system is as simple as

$ sudo apt-get install python-django

2.2 Installing the last stable version from the website

Surf to the download section of the Django site and check for the latest stable version. That was 1.3.1 as of this writing (8th of February 2012).

$ cd ~
$ tar xvzf Django-1.3.1.tar.gz
$ mv Django-1.3.1 django-src

This way you’ll find the source code in the directory ~/django-src. The next step is to pass this information to Python. Locate the site-packages of your Python installation:

$ python -c "from distutils.sysconfig import get_python_lib; 
 print get_python_lib()"

This should return something like the following:

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/site-packages.png

Locate the site-packages of your Python installation.

which indicates that your site-package directory is /usr/lib/python2.7/dist-packages. In this directory you’ll have to add the route to the Django sources:

$ echo '/home/roberto/django-src' | sudo tee -a 
 /usr/lib/python2.7/dist-packages/django.pth

This creates the file /usr/lib/python2.7/dist-packages/django.pth with the path to your Django installation.

To make a live a bit more comfortable, create a symbolic link to django-admin.py:

$ sudo ln -s /home/roberto/django-src/django/bin/django-admin.py 
 /usr/local/bin

This way you can use django-admin.py in every place of the file system instead of executing the script by its absolute path ~/django-src/django/bin/django-admin.py.

3 Verify the installation

Check that Python can find the Django modules:

$ python
>>> import django
>>> print django.get_version()

This should return something like:

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/python-django-verification.png

Check that Python finds Django.

This indicates that Python detected Django in its 1.3.1 version.

3.1 Create a Django test project

We are going to create a Django test page in order to verify that everything is working fine. At first create a new directory for this:

$ mkdir ~/django-projects
$ cd ~/django-projects

In this case the directory is located in the home directory of the user and has the name django-projects. Now, create a test project in this category:

$ django-admin.py startproject testdjango

Change to the directory of the project and start the Django server:

$ cd testdjango
$ python manage.py runserver

This should return something like:

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/testdjango_launched.png

Successfully started Django server.

The server started up correctly and is waiting for connections on port 8000 (http://127.0.0.1:8000/). When navigating your browser to this direction you should see a site like this:

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/django-testproject_ok.png

Djangos start page.

Now, we could create a database in PostgreSQL and verify the connection with the project. But, given the aim of this article (install Zoook) we’re going into the details of the database access when configuring Zoook.

Installing Zoook on Ubuntu – Part I: Apache and PostgreSQL

Whar are we going to install?

  • Apache 2
  • PostgreSQL 9.11
  • pgAdmin3 1.14.0
  • Python 2.7
  • the mod_wsgi module for Apache 2
  • Zoook.

In this series of articles we are going into the details of how to install Zoook on Ubuntu 11.00.

The aim of these articles is to document the steps to implement a Zoook in a development as well as in an actual production environment and to give the user the solutions to possible problems that can come up during the installation and configuration process.

The whole process it is going to be split up into four parts with this one being the first explaining how to set up Apache 2 and PostgreSQL.

1 Install Apache 2 (production environment)

Django incorporates a server for development environments that is recommended to use as it simplifies the debugging process. So this step is not needed in development environments.

To install Apache 2 open up a terminal and execute:

$ sudo apt-get install apache2

2 Install PostgreSQL

Python as well as Apache support various database back ends. But, this article is centred on the usage of PostgreSQL.

To install PostgreSQL execute:

$ sudo apt-get install postgresql

3 Install pgAdmin3

The next step is to install pgAdmin3. A graphical interface to PostgreSQL that makes the management of the PostgreSQL server easier. Actually the last available version is 1.14.0. But, in the repository of Ubuntu is only te version 1.12.3-1.

3.1 Installation from the repositories

To install the version 1.12.3-1 from the repositories:

$ sudo apt-get install pgadmin3

3.2 Compilation and Installation of the source code

If you prefer to install the last version, you have to fetch the source code and compile it. Download the source and unpack it:

$ tar xvzf pgadmin3-1.14.0.tar.gz

Change to the directory where you unpacked it:

$ cd pgadmin3-1.14.0

Before you can install it make sure that all the dependencies are satisfied:

$ sudo apt-get install build-essential libwxgtk2.8-dev libxml2-dev 
       libxslt1-dev  libgtk2.0-dev

After this execute

$ ./configure

The next step would be to execute make. But, if you do that now it’ll raise the error:

./db/keywords.c:33:34: error: parser/kwlist.h: No such file or directory

This error is produced because there is a bug in the PostgreSQL constructor that misses to install the necessary file in the appropriate directory. To solve this you have to download this file and create the directory /usr/include/postgresql/parser:

$ sudo mkdir -p /usr/include/postgresql/parser

Move the downloaded archive to this directory:

$ sudo mv kwlist.h /usr/include/postgresql/parser

Now, you can execute

$ make

and afterwards

$ make install

The installation should have succeed correctly.

Additionally create a symbolic link to the pgadmin3 executable:

$ sudo ln -s /usr/local/pgadmin3/bin/pgadmin3 /usr/local/bin/pgadmin3

This way you can execute it via:

$ pgadmin3

instead of:

$ /usr/local/bin/pgadmin3

4 Configure PostgreSQL user

PostgreSQL has the default setting ident sameuser for local connections. This permits a system user to access the same account on the SQL server. For this reason you have to create a new user on the SQL server with the same name under which the server is running.

$ sudo -u postgres createuser --superuser YOUR_USER_NAME
    $ sudo -u postgres psql
    postgres=# password YOUR_USER_NAME

Re-initiate the Apache server after all these changes:

$ sudo /etc/init.d/apache2 restart

Now the system is set up to continue with the following steps to install Python, Django, mod_wsgi and Zoook.

Entorno de desarrollo de OpenERP con Eclipse – Parte I: Instalación

Con el fin de no hacer demasiado extenso el artículo se dividirá en cuatro sub-artículos:

  1. Instalación del servidor PostgreSQL (este artículo)
  2. Instalación de OpenERP
  3. Instalación de Eclipse
  4. Script para importar el entorno de trabajo desde Launchpad

A continuación se detalla la primera parte de la serie de artículos

1. Servidor de PostgreSQL

Índice

1.1. Instalación

$ sudo apt-get install postgresql

1.2. Usuario de PostgreSQL

Necesitamos un usuario a través del cual OpenERP luego puede acceder a la base de datos. Ten en cuenta que el nombre del usuario en PostgreSQL tiene que ser el mismo que el nombre que usas como el usuario que luego inicia el servidor:

$ sudo su - postgres
postgres $ createuser openerp
Shall the new role be a superuser? (y/n) y
postgres $ psql template1
psql (9.1.2)
Type "help" for help.
template1=# alter role openerp with password 'postgres';
postgres $ psql
postgres=# CREATE DATABASE testerp WITH OWNER = openerp;
CREATE DATABASE
postgres=# q
postgres $ exit

El último comando crea una base de datos para luego poder comprobar que el servidor funcione.

Ahora tenemos que hacer unos cambios en el archivo /etc/postgresql/9.1/main/pg_hba.conf (intercambia 9.1 por la versión instalada en tu sistema operativo).

1.3. Permitir OpenERP acceso a la base de datos

Este paso puedes saltar si el nombre del usuario que luego ejecuta el servidor de OpenERP tiene el mismo nombre que el usuario de PostgreSQL.

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
# "local" is for Unix domain socket connections only
# MODIFY THE EXISTING LINE TO LOOK LIKE THIS:
local   all         all                               trust
# IPv4 local connections:
# MODIFY THE EXISTING LINE TO LOOK LIKE THIS:
host    all         all         127.0.0.1/32          trust
# ADD THIS LINE TO ALLOW REMOTE ACCESS; use your own IP address range:
host    all         all         10.10.10.0/24        trust
# IPv6 local connections:
host    all         all         ::1/128               ident

Instalación de Tryton en Ubuntu 11.10

Instalando desde el gestor de paquetes todas las dependencias se instalarán automáticamente al instalar el paquete tryton-server. Así para empezar lo único que habrá que hacer es ejecutar la siguiente orden:

apt-get install tryton-server

Nota: Si el sistema tiene un usuario llamado tryton dará un error al instalar el paquete.

Una vez instalado habrá que configurar el servidor, los pasos a seguir para configurarlo los puedes encontrar en

/usr/share/doc/tryton-server/README.Debian

Lo primero es comprobar que el motor de base de datos se ha instalado y se está ejecutando correctamente. En ubuntu 11.10 la versión de PostgreSQL que se instala es 9.1, para recargarlo se puede ejecutar el siguiente comando:

sudo su postgres -c "/etc/init.d/postgresql reload"

Lo ejecutamos como el usuario postgres pero lanzando como root, ya que por defecto no conocemos la contraseña del usuario postgres, esto se puede hacer de muchas formas pero creo que esta es la mas comoda.

Si todo ha ido bien devolverá el siguiente mensaje.

capturas_openerp

Lo siguiente será crear el usuario de base de datos:

su - postgres -c "createuser --createdb --no-createrole --no-superuser --pwprompt tryton"

Este comando nos pedirá introducir la nueva contraseña para este usuario, habrá que guardar esta contraseña ya que será necesaria para la configuración del servidor.

En el fichero /etc/trytond.conf tenemos la configuración del servidor, en la siguiente imágen se ve la configuración de la base de datos para el usuario tryton, con contraseña tryton, funcionando en 192.168.0.122 y con el puerto 5432, el puerto por defecto que utiliza postgresql.

capturas_openerp

Si se utiliza otro usuario distinto a tryton o se utiliza otro nombre de usuario se tendrá que indicar en ese fichero de configuración, por defecto en este fichero para el usuario tryton aparecerá ‘db_user = tryton’.

Con esto ya está el servidor configurado y se puede reiniciar ejecutando:

sudo /etc/init.d/tryton-server restart

La creación de la base de datos para empezar a trabajar se puede crear desde el mismo cliente de tryton, pero también se puede crear desde la consola con estos comandos:

sudo su - postgres -c "createdb --encoding=UNICODE --owner=tryton tryton"
sudo /usr/bin/trytond -i all -d tryton

Al final pedirá una contraseña para el usuario administrador de esa base de datos.

Si se quiere instalar todos los módulos, para tenerlos disponibles en el servido se puede hacer instalando el paquete tryton-modules-all

sudo apt-get install tryton-modules-all

y habrá que reiniciar el servidor

sudo /etc/init.d/tryton-server restart

Para instalar el cliente en otra maquina con ubuntu se puede hacer con

sudo apt-get install tryton-client

y para lanzar el cliente

tryton-client

Para conectarnos a la base de datos que hemos creado antes habrá que indicar la dirección del server, el puerto, que por defecto para json será 8000 y para netrpc será 8070, y se cargará la lista de la base de datos. Accederemos con el usuario admin y la contraseña que hayamos indicado al crear la base de datos

Magento en 192.168.0.122 en Ubuntu

1.- Descargar Magento.

La versión Magento Community se puede descargar desde:

http://www.magentocommerce.com/download

Para este artículo se ha empleado la versión 1.5.1 aunque el procedimiento sirve para todas las versiones. Descomprimir la versión decargada en una carpeta accesible para Apache ( normalmente dentro de /var/www ).

En el resto de este artículo se tomará la ruta «/var/www/magento151» como la carpeta en la que se ha descomprimido Magento.

2.- Crear la base de datos MySQL.

Para este artículo se creará la base de datos magento151 en codificación utf8.

Conectar al servidor local de MySQL:

mysql -u root -p
(introducir la clave)

una vez dentro del intérprete MySQL crear la base de datos

mysql> CREATE DATABASE `magento151` /*!40100 CHARACTER SET utf8 COLLATE utf8_general_ci */;

Para salir del intérprete mysql escribir quit y darle a enter.

3.- Crear y activar un host virtual para el dominio.

El primer paso es indicarle a Apache qué tiene que hacer cuando se le solicite el dominio magento151.local (el utilizado en este ejemplo).

Crear un archivo para el host virtual:

cd /etc/apache2/sites-available/
sudo gedit magento151.local

y dejarlo como:

<VirtualHost *:80>
    ServerAdmin admin@magento151.local
    ServerName magento151.local
    ServerAlias magento151.local
    DocumentRoot /var/www/magento151
    ErrorLog /var/www/magento151/log/error.log
    CustomLog /var/www/magento151/log/access.log combined
</VirtualHost>

sustituir las rutas correspondientes a la carpeta donde está almacenada la copia de magento descargada.

IMPORTANTE: Hay que asegurarse de que las rutas de los logs existen o de crearlas. Si no Apache dará error al reiniciarse.

Activar el host virtual y reiniciar apache:

sudo a2ensite magento151.local
sudo /etc/init.d/apache2 restart

4.- Redirigir el host a la ip local.

En este paso se configura un host para que Ubuntu resuelva magento151.local a la ip local ( 127.0.0.1 ). De otro modo intentaría resolver el dominio a través de DNS externas como cualquier otro.

Editar el archivo de hosts:

sudo gedit /etc/hosts

agregar la línea:

127.0.0.1    magento151.local

5.- Comprobar el estado del módulo mod_rewrite

mod_rewrite es el módulo de Apache que permite usar urls limpias en los sitios web.

Para instalarlo / verificar el estado del módulo ejecutar:

sudo a2enmod rewrite

En caso de estar activado aparecerá un mensaje que lo indicará. De lo contrario lo el módulo se activará.

6.- Instalar Magento

Si todo ha ido bien al abrir el navegador web en la dirección http://magento151.local aparecerá el inicio de la instalación de Magento. Lo único reseñable a partir de aquí son los datos que hay que introducir para configurar la instalación. Se pueden ver los datos empleados en la siguiente captura:

tutorial

Solución error Gtk-WARNING pixmap

Solución para GTK2:

sudo apt-get install gtk2-engines-pixbuf

Solución para GTK3:

sudo apt-get install gtk3-engines-pixbuf