viernes, 17 de diciembre de 2010

Instalar el servidor de aplicaciones de ADempiere como un servicio

Si hay la necesidad de arrancar el servidor de aplicaciones para ADempiere desde el inicio, es necesario hacer algunos cambios para que el script original (adempiere_Debian.sh) funcione en Ubuntu.

Como condición necesaria para aplicar estas instrucciones es haber instalado satisfactoriamente ADempiere.

  1. Abrimos un terminal y hacemos una copia del archivo original (para preservar el original en caso de emergencia):

    $ cd $ADEMPIERE_HOME/utils/unix
    $ sudo cp adempiere_Debian.sh /etc/init.d/adempiere
  2. Editamos el archivo adempiere para habilitarlo en Ubuntu 10.10

    $ cd /etc/init.d
    $ sudo gedit adempiere


    Hacer los siguientes cambios:

    EXECDIR=/opt/adempiere (directorio donde se instaló ADempiere)
    ADEMPIEREUSER=root (evita problemas de permiso al inicializar)
    # ENVFILE=/home/adempiere/.bashrc (comentar esta línea con #)
    su $ADEMPIEREUSER -c "cd $EXECDIR/utils;$EXECDIR/utils/RUN_Server2Stop.sh &> /dev/null &" a su $ADEMPIEREUSER -c "cd $EXECDIR/utils;$EXECDIR/utils/RUN_Server2Stop.sh &> $LASTLOG &" (evita errores al apagar)
    MAXITERATIONS=90 # 2 seconds every iteration, max wait 2 minutes) (incrementa el tiempo para el arranque/parada del servidor)
  3. Crear los enlaces de nivel
    $ sudo update-rc.d adempiere defaults
  4. Los siguientes comandos le ayudarán a administrar esta utilidad desde el terminal. $ sudo /etc/init.d/adempiere [start|stop|restart|status|condrestart]  
    Referencias:
    Install-adempiere-erp-on-ubuntu-karmic-koala 

miércoles, 15 de diciembre de 2010

Instalar ADempiere en Ubuntu 10.10

Estas instrucciones permiten la instalación de ADempiere 3.60 sobre Ubuntu 10.10 apoyado en openjdk-6 y Postgres 8.4.
  1. Instalar openjdk, Postgres y subversion
  2. $ sudo aptitude install openjdk-6-jdk openjdk-6-jre icedtea6-plugin postgresql subversion
  3. Configurar JAVA_HOME para que Postgres pueda encontrar la máquina virtual de Java (jvm)
  4. $ export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk/
  5. Ahora tenemos que permitir a los usuarios acceder a la base de datos como el usuario postgres, que es el usuario del sistema de la base de datos y que será utilizado por el script RUN_ImportAdempiere.sh para importar los datos de base de datos.
    $ sudo gedit /etc/postgresql/8.4/data/pg_hba.conf
    Se puede cambiar el ip por el ip externo.
    # Database administrative login by UNIX sockets
    local all postgres trust

    # TYPE DATABASE USER CIDR-ADDRESS METHOD

    # "local" is for Unix domain socket connections only
    local all all trust

    # IPv4 local connections for user postgres:
    host all postgres 192.168.1.100/24 trust
    # IPv4 local connections for user adempiere:
    host all adempiere 192.168.1.100/24 trust
    # IPv6 local connections:
    host all all ::1/128 trust
  6. Reiniciamos Postgres para que se apliquen los cambios
    $ sudo /etc/init.d/postgresql-8.4 restart
  7. Descargar y construir(build) ADempiere desde SVN
    $ svn co https://adempiere.svn.sourceforge.net/svnroot/adempiere/trunk ~/svnworkdir/adempiere
    $ cd ~/svnworkdir/adempiere/utils_dev
    $ ./RUN_build.sh
  8. Instalamos ADempiere
    $ sudo unzip ~/svnworkdir/adempiere/install/build/Adempiere_360LTS.zip -d /opt
    $ cd /opt
    $ sudo mv Adempiere adempiere-360LTS
    $ sudo ln -sf adempiere-360LTS adempiere
    $ export ADEMPIERE_HOME="/opt/adempiere"
    Ahora veremos algo así:
    $ ls -l /opt
    $ total 4
    $ lrwxrwxrwx 1 root root 15 Oct 18 19:22 adempiere -> adempiere-360LTS
    $ drwxr-xr-x 10 root root 4096 Oct 18 19:11 adempiere-360LTS
  9. Creamos la base de datos
    ubuntu:/opt$ sudo su - postgres
    postgres@ubuntu:~$ /etc/postgresql/8.4/bin/createdb adempiere
    postgres@ubuntu:~$
    /etc/postgresql/8.4/bin/createuser adempiere
    Shall the new role be a superuser? (y/n) y
    Configurar el password para la base de datos
    postgres@ubuntu:~$ echo "ALTER USER adempiere WITH PASSWORD 'tu-password';" | /etc/postgresql/8.4/bin/psql
  10. Verificamos la creación de la base de datos
    postgres@ubuntu:~$ echo "select * from pg_user; select * from pg_roles;" | /etc/postgresql/8.4/bin/psql
      usename  | usesysid | usecreatedb | usesuper | usecatupd |  passwd  | valuntil | useconfig
    -----------+----------+-------------+----------+-----------+----------+----------+-----------
     postgres  |       10 | t           | t        | t         | ******** |          |
     adempiere |    16396 | t           | t        | t         | ******** |          |
    (2 rows)
    
      rolname  | rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcatupdate | rolcanlogin | rolconnlimit | rolpassword | rolvaliduntil | rolconfig |  oid
    -----------+----------+------------+---------------+-------------+--------------+-------------+--------------+-------------+---------------+-----------+-------
     postgres  | t        | t          | t             | t           | t            | t           |           -1 | ********    |               |           |    10
     adempiere | t        | t          | t             | t           | t            | t           |           -1 | ********    |               |           | 163896 (2 rows)
    
    postgres@ubuntu:~$ exit
  11. Cargar la base de datos
    $ export ADEMPIERE_HOME="/opt/adempiere"
    $
    /etc/postgresql/8.4/bin/psql -h localhost -d adempiere -U adempiere < $ADEMPIERE_HOME/data/Adempiere_pg.dmp
  12. Configurar ADempiere
    $ cd $ADEMPIERE_HOME
    $ sudo chmod +x *.sh
    $ sudo ./RUN_setup.sh
    En la pantalla que aparecerá debarán cambiar el Nombre de la Base de Datos a adempiere y el Tipo de Base de Datos a postgresql, configurar el Servidor de Correo. Podemos configurar el Servidor Base de Datos a localhost si el hostname no funciona.
  13. Migrar a Head
    $ cd ~/svnworkdir/adempiere/migration
    $ chmod +x *.sh
    $ ./migrate_postgresql.sh 360lts-release commit | /etc/postgresql/8.4/bin/psql -U adempiere -d adempiere >  360lts-release.lst
  14. Iniciar el servidor de aplicaciones JBoss
    $ cd $ADEMPIERE_HOME/utils
    $ sudo nohup ./RUN_Server2.sh &
    $ sudo tail -f nohup.out
    La inicialización puede tomar 1 minuto (dependiendo del procesador), sin embargo el site puede tardar un poco más en estar habilitado.
  15. Abrimos un navegador para instalar ADempiere del lado del cliente, para ello abrimos la correspondiente dirección http://tu_direccion_ip/admin/
  16. Opcional: Instalar el servicio desde el inicio (init.d)
    # ./RUN_Server2Stop.sh
    # sudo cp unix/adempiere_Debian.sh /etc/init.d/adempiere
    # /etc/init.d/adempiere start

Referencias:
Installing adempiere on debian lenny
Install on Ubuntu_8.10
ADempiere with Postgresql on Ubuntu_9.04 Jaunty
Como cambiar la contraseña de postgres
Si el servidor no arranca...

miércoles, 1 de diciembre de 2010

Terminal Multiusuario Debian-Ubuntu

Tenía la necesidad de hacer ciertas configuraciones a ADempiere sobre la computadora de mi esposa mientras ella seguía trabajando, así que me decidí a buscar la manera de hacerlo para optimizar el tiempo de los dos.

La idea básica es usar la máquina de mi esposa (Ubuntu) como un servidor, yo ingreso desde mi computadora (Debian) como cliente (esto gracias a que linux es multiusuario).

La aplicación que me permite hacer esto es openssh.

Lo que hice fue lo siguiente:

  1. Instalar openssh-server (openssh-client viene instalada por defecto).
  2. $ sudo aptitude install openssh-server
  3. Configurar seguridades para restringir accesos no autorizados y habilitar la visualización de aplicaciones gráficas en el cliente. Para ello editamos el archivo de configuración del servidor ssh /etc/ssh/sshd_conf y añadimos las siguientes líneas:
    • Para permitir el acceso: AllowUsers usuarioYYY (Mi Debian)
    • Para visualizar aplicaciones (verificar si no está previamente configurada): X11Forwarding yes
      $ sudo gedit /etc/ssh/sshd_config
    1. Reiniciar el servidor ssh.
    2. $ sudo /etc/init.d/ssh restart
    3. Se crea un nuevo usuario en Ubuntu (si no estuvo creado previamente)
    4. $ sudo adduser usuarioYYY
    5. En el cliente (Mi Debian) abrir el terminal y abrir ssh colocando el ip del servidor (Ubuntu).
    6. $ ssh -X usuarioYYY@192.168.1.100
    7. Ejecutamos la aplicación gráfica (ej. epiphany).
    8. $ epiphany
    Referencias:
    cmo-instalar-servidor-ssh-en-ubuntu
    servidor-de-terminales