Instalacion en Linux
Libertya ERP
Guía de instalación en Linux
Introducción
El presente documento detalla las actividades a realizar a fin de instalar Libertya ERP en sistemas operativos Linux. El mismo es una guía de referencia genérica, la cual no es específica para una distribución o versión en particular, lo que permite mantener su validez a lo largo del tiempo y que en términos generales pueda ser utilizada más allá de la distribución de linux donde se va a realizar la instalación.
Alternativa mediante máquina virtual para VirtualBox
Vale la pena mencionar que junto con cada release de Libertya, se libera también una Máquina Virtual para VirtualBox lista para usar. Por consiguiente, si se desea omitir este proceso de instalación, simplemente se puede optar por dicha opción.
Por ejemplo, al momento de escribir este documento, podrá descargar la versión 19.07 de Libertya ERP lista para usar desde el siguiente enlace:
http://www.libertya.org/descargas/libertya-pyme-19-07/#maquina-virtual
Requisitos
Para la utilización de Libertya ERP se requieren básicamente cuatro elementos:
- Java
- Postgres
- Base de datos Libertya ERP
- Binarios Libertya ERP
En los siguientes apartados veremos cómo realizar la instalación de cada uno de ellos.
Permisos
Se supone que se cuenta con los permisos necesarios a nivel sistema operativo a fin de ejecutar los comandos detallados en el presente documento.
Java
Descarga
Existen varias maneras de instalar Java. En el presente documento se utiliza una opción que no requiere instalación de paquetes dependientes de la distribución de Linux a utilizar.
Al momento de escribir este documento, Libertya soporta las versiones de Java 6 a 8. Esto no quiere decir que con versiones más recientes LY no funcione, sino que todavía no fue verificado y por consiguiente no se puede garantizar su correcto funcionamiento. Por consiguiente, se recomienda la instalación de la versión 8 de Java. Se puede utilizar tanto la distribución de Oracle como alguno de los builds de OpenJDK (AdoptOpenJDK, Zulu, Oracle OpenJDK, etc.).
Sea cual sea la distribución a usar, se debe realizar la descarga correspondiente. Por ejemplo, si se desea descargar AdoptOpenJDK, debemos dirigirnos al site https://adoptopenjdk.net/ y una vez allí seleccionar la JVM correspondiente según la arquitectura de su sistema operativo. Siguiendo el ejemplo, se descargará la JVM OpenJDK 8 (LTS) para Linux x64, en este caso: OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz.
Instalación
Una vez descargado el archivo, el mismo debe descomprimirse y extraerse. En este ejemplo suponemos que la descarga se efectuó en ~/Descargas y que ubicaremos los binarios de la JVM en /opt.
cd /opt
gunzip OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz
tar -xvf OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar
Esto dejará la versión de Java lista para ser utilizada en /opt/jdk8u252-b09. Ahora falta configurar el entorno para que se utilice esta versión.
Configuración
La manera más sencilla de configurar esto es modificando el archivo /etc/profile, incorporando las siguientes líneas al final de dicho archivo:
export PATH=$JAVA_HOME/bin:$PATH
Luego de realizar este cambio, probar a iniciar sesión nuevamente y verificar desde la terminal si ya está tomando la versión de java correspondiente, por ejemplo mediante el siguiente comando:
Lo cual debería arrojar algo como resultado algo similar a lo siguiente (lógicamente variando según la versión instalada):
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.252-b09, mixed mode)
Alternativamente, en caso de tener instaladas varias máquinas virtuales de Java, también es posible configurar la JVM por defecto utilizando el comando update-alternatives.
Lo primero es verificar las opciones disponibles mediante el comando:
Esto mostrará las opciones actualmente disponibles:
------------------------------------------------------------
0 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 modo automático
* 1 /opt/jdk1.6.0_45/bin/java 0 modo manual
Incluiremos entonces como seleccion 2 a la JMV descargada:
Esto incorporará una nueva entrada para java, a lo último de la tabla de alternativas.
------------------------------------------------------------
0 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 modo automático
* 1 /opt/jdk1.6.0_45/bin/java 0 modo manual
2 /opt/jdk8u252-b09/java 3 modo manual
Luego se puede seleccionar la alternativa para la JVM recientemente instalada mediante el siguiente comando e indicando el número 2:
De esta forma, la tabla quedará configurada de la siguiente manera (notar el cambio en la posición del asterisco):
------------------------------------------------------------
0 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 modo automático
1 /opt/jdk1.6.0_45/bin/java 0 modo manual
* 2 /opt/jdk8u252-b09/java 3 modo manual
Una vez configurada la JVM, se recomienda reiniciar la sesión en terminal y verificar si efectivamente la configuración quedó correctamente realizada. Para ésto, simplemente invocamos al comando java requiriendo su versión:
Lo cual debería arrojar algo como resultado algo similar a lo siguiente (variando según la versión):
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.252-b09, mixed mode)
PostgresSQL
Descarga
Existen varias maneras de instalar Postgres. En el presente documento se utiliza una opción que no requiere instalación de paquetes dependientes de la distribución de Linux a utilizar. Adicionalmente, esta alternativa será la misma más allá de la versión a instalar, dado que el procedimiento es siempre el mismo. De todas maneras, puede optar por otra opción si es que cuenta con la posibilidad de una alternativa más directa.
Al momento de escribir este documento, Libertya soporta las versiones de PostgreSQL 8.4 a 10.11. Esto no quiere decir que con versiones más recientes LY no funcione, sino que todavía no fue verificado y por consiguiente no se puede garantizar su correcto funcionamiento. Por consiguiente, se recomienda la instalación de la versión 10.
Instalación
En este documento realizaremos la instalación de Postgres mediante la compilación de los fuentes, a fin de evitar depender de repositorios y/o versiones según la distribución. Adicionalmente, estos pasos son siempre los mismos más allá de la versión de Postgres a instalar.
En este ejemplo instalaremos la versión 10.10. Para ésto, accederemos al sitio de descargas de Postgres, el cual actualmente se ubica en la URL https://www.postgresql.org/ftp/source/, y luego descargaremos la versión en cuestión, por ejemplo: https://ftp.postgresql.org/pub/source/v10.10/postgresql-10.10.tar.gz.
Una vez descargada, procederemos a descomprimir y extraer los fuentes. Suponiendo que la descarga se realizó en ~/Descargas, ejecutaremos:
gunzip postgresql-10.10.tar.gz
tar -xvf postgresql-10.10.tar
Una vez realizados estos pasos, en ~/Descargas/postgresql-10.10 se encontrarán los fuentes listos para ser compilados. Los pasos para la compilación se encuentran detallados en el archivo ~/Descargas/postgresql-10.10/INSTALL. Por ejemplo:
--without-icu \
--with-systemd \
--with-openssl \
--with-uuid=e2fs \
CFLAGS='-fno-aggressive-loop-optimizations'
make
su
make install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
Los modificadores –with-* para el configure son opcionales:
--with-systemd necesario si se utilizará systemd (recomendado en nuevas distros de linux)
--with-openssl de utilidad para usar ssl en conexiones
--with-uuid=e2fs habilita la generación de UUIDs usando s2fsprogs
Se deberá ejecutar paso a paso cada uno de los comandos a fin de realizar la compilación e instalación de postgres. Dependiendo la instalación de Linux, es probable que se requieran librerías adicionales para realizar estos pasos (ante esta situación, el configure se detendrá a fin de que se puedan instalar las librerías en cuestión, para luego reintentar nuevamente la acción):
- gcc
- make
- libreadline-dev (Debian) / readline-devel (Red Hat)
- zlib1g-dev (Debian) / zlib-devel (Red Hat)
- systemd-devel (de configurar con –with-systemd)
- openssl-devel (de configurar con –with-openssl)
- e2fsprogs e2fsprogs-libs e2fsprogs-devel libuuid-devel (de configurar con –with-uuid=e2fs)
En caso de no contar con estas librerías, simplemente deberán instalarse mediante el gestor correspondiente según la distribución de Linux (hasta que la ejecución del configure no arroje errores), por ejemplo:
o por ejemplo:
Una vez finalizada la instalación, la instancia de postgres quedará ubicada en /usr/local/pgsql.
IMPORTANTE: Si no se aplica el modificador CFLAGS=‘-fno-aggressive-loop-optimizations’ y al ejecutar el comando initdb se presenta el siguiente error:
STATEMENT: CREATE TRIGGER pg_sync_pg_database AFTER INSERT OR UPDATE OR DELETE ON pg_database FOR EACH STATEMENT EXECUTE PROCEDURE flatfile_update_trigger();
Esto se debe a un error específico presente en algunas versiones de GCC. A fin de evitar este problema, se deberá o bien utilizar el modificador CFLAGS=‘-fno-aggressive-loop-optimizations’ o bien realizar la compilación con una modificación en los CFLAGS. En la ventana de terminal donde se está realizando la instalación, ejecutar:
make clean
rm -Rf /usr/local/pgsql/data
# Configurar la CFLAGS para evitar el problema
export CFLAGS=-fno-aggressive-loop-optimizations
Luego reiterar los pasos de compilación e instalación detallados en el archivo INSTALL mencionado en el punto anterior.
Configuración
La configuración que se detallará aquí es la que permite el acceso menos restrictivo al servicio. Por consiguiente, una vez verificado el correcto funcionamiento de Libertya ERP y el acceso a la base de datos, se sugiere ajustar la configuración de seguridad según considere necesario.
La configuración de PostgreSQL consta de dos simples pasos, los cuales se detallan a continuación:
Permisos de acceso
En el archivo /usr/local/pgsql/data/pg_hba.conf deberá incorporarse una nueva línea luego de la línea IPv4 local connections, con el siguiente contenido:
host all all 0/0 trust
Direcciones de escucha
En el archivo /usr/local/pgsql/data/postgresql.conf deberá modificarse la línea listen_address, con el siguiente contenido:
El dueño de estos archivos debe ser el usuario postgres, con lo cual se deberá modificar el owner de los mismos en caso de haber sido modificado el contenido de dichos archivos por otro usuario:
chown postgres /usr/local/pgsql/data/postgresql.conf
Variables de entorno
Incorporar en /etc/profile las siguientes entradas al final del archivo a fin de especificar la ubicación de postgres y sus bases de datos:
export PATH=/usr/local/pgsql/bin:$PATH
Iniciando postgres y verificando conexión
En caso de querer iniciar PostgreSQL luego de - por ejemplo - reiniciar el sistema, es posible hacerlo mediante:
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
exit
Si desea verificar la conexión a la base de datos, puede probar a ejecutar:
Esto deberá retornar un resultado como el siguiente, lo cual indica que el servicio de postgres se encuentra corriendo y escuchando:
---------- 1 (1 row)
Base de datos Libertya ERP
Descarga
Una vez instalado PostgreSQL, ya es posible descargar y restaurar la base de datos de Libertya. Más allá de la versión a utilizar, los pasos son siempre los mismos. En este ejemplo utilizaremos la versión 19.07AR para postgres 9.5 o superior, la cual podemos descargar desde:
Notar que dependiendo la versión de PostgreSQL que estemos utilizando, existen distintas descargas. Por ejemplo, en caso de estar utilizando PostgreSQL 9.4 o inferior, debemos descargar:
https://sourceforge.net/projects/libertya/files/libertya/release/1907/multi-platform/dump_libertya_1907ar.sql.zip/
De manera similar, si deseamos descargar otras versiones de Libertya, deberemos buscar la opción correspondiente. Por ejemplo, si deseamos descargar Libertya PyME 19.07AR para Postgres 9.5 o superior, debemos descargar:
Nota: La estructura de archivos a descargar respetará siempre el mismo formato más allá del release de Libertya a utilizar (18.06, 19.07, etc.).
Creación de usuario libertya (a nivel postgres)
Libertya utiliza un usuario y schema (de postgres) llamados libertya. Por única vez será necesario entonces realizar la creación correspondiente. En caso de haber realizado instalaciones previas de Libertya en la instancia en cuestión, este paso no deberá ser necesario.
Unicamente para versiones de postgres anteriores a la 9.0: es necesario crear el lenguaje plpgsql en la base de datos template1 para que cada vez que se cree una nueva base de datos la misma ya contenga el lenduaje requerido por las funciones que contiene la base de datos de libertya.
Creación Base de Datos
Una vez descargado el archivo con el dump de la base de datos, deberemos descomprimirlo, para esto ejecutaremos el siguiente comando suponiendo que la descarga se efectuó en ~/Descargas:
unzip dump_libertya_1907ar_postgres9.5.sql.zip
Posteriormente debemos crear la base de datos y volcar allí el contenido del archivo descargado. El nombre de la base de datos puede ser cualquiera, en este caso utilizaremos el nombre libertya_prod:
psql -h localhost -U postgres -c "CREATE DATABASE libertya_prod WITH ENCODING='UTF8' OWNER=libertya TEMPLATE=template1;"
psql -U libertya -d libertya_prod -f dump_libertya_1907ar_postgres9.5.sql
El último comando efectuará el restore del dump descargado en la base de datos libertya_prod, lo cual requerirá de cierto tiempo para ser completado.
Binarios Libertya ERP
Descarga
Una vez instalado Java, ya es posible descargar e instalar los binarios de Libertya ERP. Más allá de la versión a utilizar, los pasos son siempre los mismos. En este ejemplo utilizaremos la versión de binarios 19.07, la cual sirve tanto para Libertya 19.07 como para Libertya 19.07AR.
Importante: recordar siempre utilizar la misma versión de release (18.06, 19.07, etc.) a nivel base de datos y a nivel de binarios. No es correcto mezclar binarios de un release con la base de datos de otro release.
Los binarios de Libertya ERP 19.07 puede descargarse desde el siguiente enlace:
Nota: Los binarios son únicos tanto para la versión 19.07 como para la versión 19.07AR. Para la versión PyME de Libertya existen binarios específicos, así como base de datos específica.
Una vez descargado los binarios debemos descomprimirlos. Se recomienda descomprimirlos en el directorio raiz:
mv ServidorOXP_V19.07.zip /
cd /
unzip ServidorOXP_V19.07.zip
Esto generará el directorio /ServidorOXP con los binarios de Libertya ERP. Luego debemos darle permisos de ejecución a los archivos .sh allí contenidos:
chmod ugo+x *.sh -R
Configuración
Lo primero a realizar es configurar la variable de entorno OXP_HOME en el archivo /etc/profile, incorporando la siguiente entrada al final de dicho archivo:
Luego de descomprimir los binarios será necesario configurar la instancia. Se recomienda realizar estos pasos con el usuario root para evitar problemas de permisos (más adelante veremos alternativas para mejorar la seguridad):
./Configurar.sh
Esto abrirá una ventana con las opciones de configuración, deberá completarse la información acordemente, indicando la ubicación de java, el nombre de la base de datos, la contraseña de los usuarios postgres y libertya, los puertos para las distintas actividades, etc.
En lo que refiere a los puertos, se recomienda utilizar los siguientes valores:
- Puerto JNP: 1099
- Puerto Web: 8080
- Puerto SSL: 8443
Siguiendo el ejemplo visto hasta el momento, la ventana de configuración debería quedar configurada de esta manera (lógicamente con variaciones dado que - por ejemplo - el equipo probablemente tenga un nombre diferente a pc-usuario):

Una vez realizada la configuración, es posible hacer click en el botón Comprobar. Esto verificará que los valores indicados sean los correctos, o presentará un error según corresponda. Ciertos errores pueden ignorarse, como por ejemplo si el servidor de correo presenta error. Sin embargo, si por ejemplo hay un error de puerto usado o de imposibilidad de conexión a la base de datos, se deberá verificar el problema y resolver el inconveniente.
Por último deberá hacer click en Guardar a fin de completar el proceso. Esta actividad puede demorar varios minutos, y al finalizar se cerrará la ventana de configuración. La instancia ya estará lista para ser usada.
Nota: Si se está realizando la instalación en una instancia sin interfaz gráfica, también es posible realizar la configuración desde terminal. Para ésto es necesario copiar el template de configuración y luego editarlo://
cp LibertyaEnvTemplate.properties LibertyaEnv.properties
nano LibertyaEnv.properties
Se deberá configurar adecuadamente el archivo LibertyaEnv.properties de manera similar a lo realizado mediante la configuración gráfica. Una vez realizado ésto, se deberá ejecutar el ConfigurarAuto.sh, el cual realiza la misma actividad que al clickear el botón Guardar desde la ventana de configuración.
Al configurar LibertyaEnv.properties cambiar los puertos por defecto de a los utilizados en el ejemplo aanterior: Puerto JNP: 1099, Puerto Web: 8080, Puerto SSL: 8443 en caso contrario pueden presentarse problemas al iniciar el servidor automáticamente (daemon libertyad).
./ConfigurarAuto.sh
Iniciando el servidor de aplicaciones
El servidor de aplicaciones se encarga de varias tareas como brindar el portal web de Libertya ERP, generar las entradas contables automáticamente, realizar tareas programadas en segundo plano, etc. Para cualquiera de estas actividades es necesario iniciar el servidor de aplicaciones. Para ésto debe ejecutar el siguiente comando, el cual ejecutaremos mediante el usuario root (luego veremos alternativas para mejorar la seguridad):
./IniciarServidor.sh
Esto iniciará el proceso de booteo del contenedor web JBoss. Si no se presentan inconvenientes, se visualizará como última salida en la terminal un mensaje similar al siguiente:
Esto significa que el servidor ha iniciado correctamente. Si se desea finalizar la ejecución del mismo, simplemente podemos presionar CTRL+C desde el teclado.
Accediendo a Libertya ERP
Ver el documento Iniciando Libertya.
Configuraciones avanzadas
Importante: estos pasos pueden variar dependiendo la distribución del sistema operativo.
Inicio de PostgreSQL en arranque del sistema
MUY IMPORTANTE: En nuevas versiones de Linux (por ejemplo (RHEL/Alma/Rocky 9), los pasos restantes difieren considerablemente. Para estas plataformas más recientes, los pasos son los siguientes.
Crear el archivo /etc/systemd/system/postgresql.service con el siguiente contenido en caso de haber compilado postgres con soporte para systemd:
Description=PostgreSQL database server
Documentation=man:postgres(1)
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
User=postgres
ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=infinity
[Install]
WantedBy=multi-user.target
Luego ejecutar:
systemctl enable postgresql
Para iniciar o detener el servicio:
systemctl stop postgresql
Para versiones más antiguas de Linux, seguir con los pasos indicados a continuación.
Para que PostgreSQL pueda iniciar automáticamente al iniciar el sistema operativo, se pueden seguir los siguientes pasos.
Dentro de los fuentes de postgres se incluye un script de base, el cual debe ser copiado al init.d del sistema operativo. Suponiendo que los fuentes de postgres fueron descargados en ~/Descargas, y siguiendo con el ejemplo de versión 10.10 entonces deberemos realizar:
chmod ugo+x /etc/init.d/postgresql
Luego debemos configurar para que el script se ejecute al inicio. Esto dependerá de la distribución de Linux, por ejemplo Red Hat o derivados (también de la versión, ver NOTA a continuación).
o bien para Debian o derivados:
NOTA: En versiones más recientes, es posible utilizar el comando systemctl. Para ésto se deben incorporar las siguientes lineas al inicio del script ubicado en /etc/init.d/postgresql:
### BEGIN INIT INFO
# Provides: postgresql
# Required-Start: $local_fs $network
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
Posteriormente ejecutar:
En caso de que el servicio no inicie correctamente al bootear el equipo, se deberá verificar el origen del problema. En ocasiones los inconvenientes de inicio automático se originan en la falta de permisos para el acceso y ejecución de ciertos archivos.
Ejecutando el siguiente comando podremos determinar la causa del problema:
Esto devolverá por ejemplo información de error como la siguiente:
localhost.localdomain
systemd[1]: postgresql.service: Control process exited, code=exited, status=126/n/a
localhost.localdomain
systemd[1]: postgresql.service: Failed with result 'exit-code'.
localhost.localdomain
systemd[1]: Failed to start SYSV: PostgreSQL RDBMS.
En función del error especificado se deberá actuar acordemente a fin de resolver el problema en cuestión. Dado que el script postgresql requiere el uso del comando su, las acciones correctivas pueden abarcar la necesidad de realizar modificaciones sobre el grupo wheel de /etc/group, sobre los archivos /etc/pam.d/su y/o /etc/pam.d/sudo, entre otros.
Para verificar el inicio o detención manualmente, podemos ejecutar:
service postgresql stop
Si se optó por utilizar la versión con systemctl (systemd) el inicio y detencion manual se realiza con los siguientes comandos:
systemctl stop postgresql
Y puede verificarse el estado de la siguiente forma:
Deshabilitar SELinux
SELinux puede traer problemas a la hora de configurar el daemon para inicio automático de PostgreSQL, para deshabilitarlo modificar el archivo /etc/selinux/config
ubicar la linea
y cambiarla por
guardar los cambios y cerrar el archivo. Ahora en el próximo reboot SELinux estará deshabilitado
Inicio de Libertya ERP en arranque del sistema
El primer paso es crear el usuario libertya (a nivel de sistema operativo) dado que de esta manera será dicho usuario quien inicie el servidor de aplicaciones, lo cual es una medida de seguridad a fin de evitar que el superusuario root sea quien realice esta tarea.
Por consiguiente, a partir de ahora el dueño de la carpeta /ServidorOXP y todos sus archivos deberán ser del usuario libertya:
MUY IMPORTANTE: En nuevas versiones de Linux (por ejemplo (RHEL/Alma/Rocky 9), los pasos restantes difieren considerablemente. Para estas plataformas más recientes, los pasos son lo siguientes.
Crear el archivo /etc/systemd/system/libertyad.service con el siguiente contenido, modificando JAVA_HOME según corresponda en función de la ubicación de Java en el sistema:
Description=Libertya Application Server
After=network.target
[Service]
Type=simple
User=libertya
Group=libertya
WorkingDirectory=/ServidorOXP
Environment=JAVA_HOME=/opt/jdk8u462-b08
Environment=OXP_HOME=/ServidorOXP
RuntimeDirectory=libertya
RuntimeDirectoryMode=0755
ExecStart=/bin/bash -lc '/ServidorOXP/utils/IniciarServidor.sh & sleep 1; exit 0'
ExecStop=/bin/bash -lc '/ServidorOXP/utils/DetenerServidor.sh -S'
RemainAfterExit=yes
TimeoutStartSec=3min
TimeoutStopSec=45s
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Luego ejecutar:
systemctl enable libertyad
Para iniciar o detener el servicio:
systemctl stop libertyad
Para versiones más antiguas de Linux, seguir con los pasos indicados a continuación.
Para que Libertya ERP pueda iniciar automáticamente al iniciar el sistema operativo, se pueden seguir los siguientes pasos.
Dado que el inicio del servicio se iniciará internamente con el usuario llamado libertya, se creará el PID del proceso con ese usuario. Como en /var/run no tendremos permisos para escritura al iniciar el proceso, se debe crear la carpeta libertya dentro de ese directorio, y asignarle el usuario libertya como dueño:
mkdir libertya
chown libertya libertya -R
IMPORTANTE: Para versiones más recientes de Linux, será necesario crear una configuración a fin de que el directorio /var/run/libertya se regenere adecuadamente ante cada reinicio del sistema. Para ésto, crear y editar el archivo /etc/tmpfiles.d/libertya.conf con el siguiente contenido:
De manera similar a PostgreSQL, Libertya ERP distribuye el script necesario para incorporarlo a la configuración de inicio. Este script se encuentra en /ServidorOXP/utils/unix y existen variantes según la distribución del sistema operativo:
- libertyad_centos.sh
- libertyad_fedora.sh
- libertyad_ubuntu-debian.sh
Para el ejemplo, utlizaremos la opción libertyad_ubuntu-debian.sh. Copiamos el script y damos permisos de ejecución al mismo:
chmod ugo+x /etc/init.d/libertyad
Luego debemos configurar a fin de que el script se ejecute al inicio, similar a lo realizado con PostgreSQL. Esto dependerá de la distribución de Linux, por ejemplo Red Hat o derivados:
o bien para Debian o derivados:
NOTA: En versiones más recientes, es posible utilizar el comando systemctl. Para ésto se deben incorporar las siguientes lineas al inicio del script ubicado en /etc/init.d/libertyad:
### BEGIN INIT INFO
# Provides: libertyad
# Required-Start: $ALL
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
Posteriormente ejecutar:
Para verificar el inicio o detención manualmente, podemos hacer lo siguiente (vale mencionar que especificamente para distros Red-Had, CentOS o deriavos, se requiere previamente realizar los pasos detallados a continuación):
service libertyad stop
Si se optó por utilizar la versión con systemctl (systemd) el inicio y detencion manual se realiza con los siguientes comandos:
systemctl stop libertyad
Y puede verificarse el estado de la siguiente forma:
Importante: el script libertyad utiliza el comando start-stop-daemon, el cual es propio de distribuciones Debian. Este comando puede no estar disponible bajo Red Hat y derivados, con lo cual es necesario instalarlo manualmente.
Para ésto, será necesario descargar el archivo con los fuentes de la funcionalidad start-stop-daemon, para luego compilarlos:
wget http://developer.axis.com/download/distribution/apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz
Desempaquetar el archivo comprimido
cd apps/sys-utils/start-stop-daemon-IR1_9_18-2/
Compilar la aplicación
Copiar el binario de start-stop-daemon en /usr/sbin
En caso de que el servicio no inicie correctamente, se deberá verificar el origen del problema ejecutando el siguiente comando a fin de poder resolver el inconveniente:
En función del error especificado se deberá actuar acordemente a fin de resolver el problema en cuestión, de manera similar a lo realizado en la configuración de inicio automático de postgres.