Schooltool en Debian

Asked by Dídac Sabatés on 2013-01-21

Como puedo instalar schooltool en Debian i hacerlo un servicio?
Gracias

Question information

Language:
Spanish Edit question
Status:
Expired
For:
SchoolTool Edit question
Assignee:
No assignee Edit question
Last query:
2013-02-17
Last reply:
2013-03-05
Douglas Cerna (replaceafill) said : #1

Dídac:

Estos son los pasos que yo uso:

$ wget https://launchpad.net/schooltool/flourish/2.3.1/+download/schooltool-2.3.1.tar.gz

$ tar -xzf schooltool-2.3.1.tar.gz

$ cd schooltool-2.3.1

$ sudo apt-get install bzr build-essential gettext enscript ttf-liberation python-all-dev python-virtualenv libicu-dev libxslt1-dev libfreetype6-dev libjpeg62-dev

$ # para habilitar todos los componentes de SchoolTool, editar el archivo *buildout.cfg* y cambiar esta línea:

----- %< -----
eggs = schooltool
----- %< -----

a:

----- %< -----
eggs = schooltool
       schooltool.gradebook
       schooltool.lyceum.journal
       schooltool.intervention
       schooltool.cando
----- %< -----

$ make compile-translations

$ make run

Abre tu navegador y ve a http://localhost:7080.

Para hacerlo un servicio deberás crear un archivo de inicialización (init.d) el cual será específico a tus necesidades. Yo uso uno similar a este, aunque no es ideal espero te sirva como idea:

----- %< -----

#!/bin/bash

INSTANCE_NAME='school1'
SCRIPT_NAME='/etc/init.d/schooltool'

USERNAME='foobar'
INSTANCES_DIRECTORY='/home/foobar/instances'
INSTANCE_DIRECTORY="$INSTANCES_DIRECTORY/$INSTANCE_NAME"
START_SCHOOLTOOL_INSTANCE="$INSTANCE_DIRECTORY/bin/start-schooltool-instance"
START_COMMAND="$START_SCHOOLTOOL_INSTANCE $INSTANCE_DIRECTORY/instance --daemon --user=$USERNAME"
STOP_COMMAND="$START_SCHOOLTOOL_INSTANCE $INSTANCE_DIRECTORY/instance --stop-daemon --user=$USERNAME"
STATUS_COMMAND="$START_SCHOOLTOOL_INSTANCE $INSTANCE_DIRECTORY/instance --status --user=$USERNAME"

. /lib/lsb/init-functions

case "$1" in
  start)
        log_begin_msg "Starting $INSTANCE_NAME"
        $START_COMMAND || log_end_msg 1
        log_end_msg 0
        ;;
  stop)
        log_begin_msg "Stopping $INSTANCE_NAME"
        $STOP_COMMAND || log_end_msg 1
        log_end_msg 0
        ;;
  restart)
        log_begin_msg "Restarting $INSTANCE_NAME"
        $STOP_COMMAND || log_end_msg 1
        $START_COMMAND || log_end_msg 1
        log_end_msg 0
        ;;
  status)
        $STATUS_COMMAND || exit 1
        exit 0
        ;;
  commands)
        echo $START_COMMAND
        echo $STOP_COMMAND
        echo $STATUS_COMMAND
        exit 0
        ;;
  *)
        log_success_msg "Usage: $SCRIPT_NAME {start|stop|restart|status}" >&2
        exit 1
        ;;
esac

exit 0

----- %< -----

Dídac Sabatés (sabatesduran) said : #2

Gracias lo provare.

Dídac Sabatés (sabatesduran) said : #3

Hola Douglas,
Llevo desde hace 2 semanas intentar que me funcione schooltool como servicio, con el script que me diste modificando tus nombres de usuario, pero por ejemplo no tengo una carpeta de instancias, enfin, no entiendo el script en si.
Me podria ayudar?
Gracias.

Douglas Cerna (replaceafill) said : #4

Hola Dídac. Déjame instalar Debian 6 y te redactaré un script más sencillo. Te doy respuesta mañana, sí?

Saludos.

Dídac Sabatés (sabatesduran) said : #5

Perfecto gracias!

Launchpad Janitor (janitor) said : #6

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

Douglas Cerna (replaceafill) said : #7

Dídac,

Redacté una nueva versión de script de inicio para Debian:

http://paste.ubuntu.com/5666042/

Sólo tienes que modificar las líneas:

PATH=/opt/schooltool
USER=replaceafill

para que apunten al directorio donde descomprimiste SchoolTool (PATH) y el usuario a quien pertenece dicho directorio (USER). Espero te sirva.

Dídac Sabatés (sabatesduran) said : #8

Muchas gracias, lo provare

Dídac Sabatés (sabatesduran) said : #9

The script works fine, thanks for your help.