Skip to content

Instalación con Buildout en Debian Lenny

macagua edited this page Sep 14, 2010 · 15 revisions

Requisitos previos
Para instalar en Debian Lenny eduintelligent-LCMS es necesario cumplir con una serie de requisitos previos:

Entornos de desarrollo Buildout

  • Python 2.4.×. ,versión del interprete de Python que soporta Plone 2.5.x y Plone 3.×.
  • Python Dev, los archivos de encabezados Python 2.4 para las compilaciones necesarias.
  • Python Imaging Library, PIL para Plone es necesario instalarlo en Python 2.4.
  • Python Setup Tools, Paquete que instala la herramienta de gestión de paquetes Easy Install necesaria para manipular paquetes eggs de Python 2.4 “easy_install-2.4”.
  • Libc, Librerías de desarrollo y los archivos de encabezados Python 2.4.
  • Libncurses Dev, librerías y documentación de desarrolladores para ncurses.
  • Python profiler, Algunas distribuciones de Linux requieren el paquete python-profiler por separado.
  • Virtualenv, es un constructor de entorno Virtual de Python.
  • ZopeSkel, es una colección de esqueletos para crear automáticamente paquetes e instancias en Zope.
  • PasteScript, es una utilidad de linea de comando basada configurable, que incluye comandos para instalar paquetes.
  • Subversion, es un sistema de control de versiones Avanzado.
  • Git, es un sistema de control de versiones rápido, escalable, y distribuido.

# aptitude install python2.4 python2.4-dev python2.4-imaging python2.4-setuptools python-virtualenv libncurses5-dev libc6-dev git-core subversion

Requerimientos de eduintelligent-LCMS

  • Postgresql 8.3, un servidor de base de datos objeto-relacional SQL, versión 8.3.
  • libpq-dev, los archivos de cabecera para libpq5 (Librería PostgreSQL).
  • python-psycopg2, el módulo Python para PostgreSQL.

# aptitude install postgresql-8.3 libpq-dev python-psycopg2

Instalando entornos locales al usuario de Python
Para evitar usar la instalación base del Python de tu sistema, que previamente acaba de realizar, se recomienda instalar un entorno de virtual de Python local al usuario, algunos casos de usos para virtualenv, se describe a continuación:

  • No es necesarios permisos de administración para instalar librerías y aplicaciones Python, ya que estas se hace locales en al directorio del usuario.
  • Mayor comodidad de trabajar con versiones de librerías y aplicaciones mas actuales las que maneja tu sistema.

Instalar Virtualenv en usuario local, ejecutando los siguientes comandos:
$ cd $HOME

$ mkdir ./virtualenv ; cd virtualenv

Crear entorno virtual del Python 2.4 de tu sistema al directorio ~/virtualenv del usuario, ejecutando el siguiente comando:

$ virtualenv python2.4

Activar el entorno virtual creado previamente, ejecutando el siguiente comando:

$ source ./python2.4/bin/activate

Luego proceda a instalar el paquete ZopeSkel y PasteScript para Zope usando la herramienta Easy Install, con el siguiente comando:

$ easy_install-2.4 ZopeSkel PasteScript

Descarga eduintelligent-LCMS
Con este comando se clona el repositorio Git
$ git clone http://github.com/iservicesmx/eduintelligent-LCMS.git

Instalación desde el código fuente
El mecanismo de instalación desde el código fuente de eduintelligent-LCMS es a través del sistema Buildout.

Accedes al directorio de instalador buildout creado, ejecutando el siguiente comando:
$ cd ./eduintelligent-LCMS

Luego proceda a recrear la estructura base para reconstruir tu instalación buildout
$ python2.4 ./bootstrap.py

Esto nos creará el directorio ./bin/ con un script llamado buildout que nos permitir, iniciar el proceso de instalación:
$ ./bin/buildout -v

Configurar bases de datos PostgreSQL
Por ahora, eduIntelligent necesita dos bases de datos PostgreSQL con el fin de ejecutar el
el registro de acceso y los sistemas de mensajería. Esto podría cambiar en el futuro a medida que hacemos
mejoras para optimizar el producto.

Por ahora, los paquetes eggs llamados eduintelligent.database y eduintelligent.loginhistory
necesita un servidor PostgreSQL.

Nota: Usted puede continuar los siguientes pasos solamente si usted ya tiene exitosamente
ejecutando los procesos buildout en la sección anterior.

Crear un usuario Zope
eduIntelligent necesita del usuario Zope restringido con el fin de utilizar las bases de datos. El usuario root es PostgreSQL y es como una cuenta de usuario normal en sistemas Linux. Por ejemplo, en sistemas Debian GNU/Linux, puede que tenga que hacer lo siguiente:

# su postgres

$ createuser --no-createdb --no-createrole --no-superuser --login --pwprompt zope

Entonces agrega la contraseña del usuario y vuelva a confirmarla de nuevo.

$ exit

Existe algunas herramientas gráficas que pueden ser usadas para hacer esto de forma más fácil. Mi recomendación para escritorios GNU/Linux es pgAdmin, si lo desea instalar ejecute el siguiente comando:

# aptitude install pgadmin3

Crear la base de datos para registro de acceso y sistema de mensajería
Para realizar este paso debe ejecutar los siguientes comandos:

# su postgres

$ createdb --encoding=UTF-8 --owner=zope eduintelligent_logs

$ exit

Crear el esquema de base de datos para registro de acceso y sistema de mensajería
Usted necesita configurar dos scripts dentro del directorio src/ hay dos paquetes eggs de que apuntar a la base de datos correcta.

Para el módulo eduintelligent.loginhistory:

$ vim ./src/eduintelligent.loginhistory/eduintelligent/loginhistory/dbclasses.py

Cambiar la siguiente linea:

engine = create_engine(‘postgres://zope:contraseña@localhost/eduintelligent_logs’, echo=True)

Y finalmente ejecute:

$ ./bin/zopepy ./src/eduintelligent.loginhistory/eduintelligent/loginhistory/dbclasses.py

Para el módulo eduintelligent.messages:
(Nota. correr el buildout antes de hacer esto)

$ vim ./src/eduintelligent.messages/eduintelligent/messages/dbclasses.py

Cambiar la siguiente linea:

engine = create_engine(‘postgres://zope:contraseña@localhost/eduintelligent_logs’, echo=True)

Y finalmente ejecute:

$ ./bin/zopepy ./src/eduintelligent.messages/eduintelligent/messages/dbclasses.py

Crear algunas categorías para sistema de mensajería
Le pido disculpas, pero, por ahora, las categorías de mensajes (Bandeja de entrada, Enviados, Notificaciones), se deben crear manualmente.

# su postgres

$ psql

COPY messagescategory (id, display_order, name) FROM stdin;
1 1 Inbox
2 2 Notifications
3 3 Sent
\.

postgres=# \q

Instalando el paquete eduIntelligent.quickstart
Siga este proceso:

  • Ejecutar la secuencia de comandos $ ./bin/buildout -vN si no lo han hecho.
  • Ejecutar un sitio Plone, ya sea en primer plano en modo depuración $ ./bin/instance fg o como proceso en segundo plano $ ./bin/instance start.
  • Crear una instancia Plone en el ZMI.
  • Instalar eduIntelligent.quickstart* desde el configlet Productos Adicionales en el panel de control de Plone.
  • Opcionalmente instalar el producto membrane y remember, si el paquete de inicio rápido, no logró hacerlo.
    TODO: Corregir este error.
  • Configurar las bases de datos (sí, o través, lo siento) en configlet Configuración de Plone.
  • Ir a la siguiente dirección http://yoursite:port/ploneinstance/@@eduintelligent-database-control-panel
Coloque los siguientes valores:
  • Nombre del Driver: postgres
  • Nombre del Host: localhost
  • Número del Puerto: Dejarlo en blanco para usar el puerto por defecto.
  • Nombre del Usuario: zope
  • Contraseña: coloque la contraseña del usuario.
  • Nombre de Base de Datos: eduintelligent_logs
Entonces haga clic en el botón Save.

Asociado Edumember y Centro de Capacitación en la herramienta membrane_tool

  • Ir al ZMI en si instancia Plone.
  • Haga clic en el enlace de la herramienta membrane_tool.
  • Una lista de selección múltiple aparecerá bajo el nombre Membrane Types
  • Asegúrese que tres de los objetos “Membrane” estén seleccionados: Member, TrainingCenter y eduMember.
  • Haga clic en el botón submit.
  • Confirme la operación revisando la página de la herramienta membrane_tool en el ZMI.
    Usted debería ver los tres objetos seleccionado.
Si usted no asocia esos objetos “Membrane”, usted puede encontrarse con errores como: ‘NoneType’ object has no attribute ‘addMember’. No continúe si no se ha completado este paso.

Crear un Training Center en Plone
Abra su sitio Web Plone, inicie sesión como admin y en el página de inicio haga clic en el menú Agregar elemento y seleccione Training Center.

Referencias