Wiki source code of Instalacion en Linux
Last modified by admin on 2026/07/18 17:45
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | = Libertya ERP {{id name="libertya-erp" /}}= | ||
| 2 | |||
| 3 | == Guía de instalación en Linux {{id name="guía-de-instalación-en-linux" /}}== | ||
| 4 | |||
| 5 | = Introducción {{id name="introducción" /}}= | ||
| 6 | |||
| 7 | 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. | ||
| 8 | |||
| 9 | == Alternativa mediante máquina virtual para VirtualBox {{id name="alternativa-mediante-máquina-virtual-para-virtualbox" /}}== | ||
| 10 | |||
| 11 | 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. | ||
| 12 | |||
| 13 | 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: | ||
| 14 | |||
| 15 | http://www.libertya.org/descargas/libertya-pyme-19-07/#maquina-virtual | ||
| 16 | |||
| 17 | = Requisitos {{id name="requisitos" /}}= | ||
| 18 | |||
| 19 | Para la utilización de Libertya ERP se requieren básicamente cuatro elementos: | ||
| 20 | |||
| 21 | 1. Java\\ | ||
| 22 | 1. Postgres\\ | ||
| 23 | 1. Base de datos Libertya ERP\\ | ||
| 24 | 1. Binarios Libertya ERP | ||
| 25 | |||
| 26 | En los siguientes apartados veremos cómo realizar la instalación de cada uno de ellos. | ||
| 27 | |||
| 28 | = Permisos {{id name="permisos" /}}= | ||
| 29 | |||
| 30 | Se supone que se cuenta con los permisos necesarios a nivel sistema operativo a fin de ejecutar los comandos detallados en el presente documento. | ||
| 31 | |||
| 32 | = Java {{id name="java" /}}= | ||
| 33 | |||
| 34 | == Descarga {{id name="descarga" /}}== | ||
| 35 | |||
| 36 | 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. | ||
| 37 | |||
| 38 | 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.). | ||
| 39 | |||
| 40 | 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//. | ||
| 41 | |||
| 42 | == Instalación {{id name="instalación" /}}== | ||
| 43 | |||
| 44 | 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**. | ||
| 45 | |||
| 46 | |||
| 47 | {{code language="bash"}} | ||
| 48 | mv ~/Descargas/OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz /opt | ||
| 49 | cd /opt | ||
| 50 | gunzip OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar.gz | ||
| 51 | tar -xvf OpenJDK8U-jdk_x64_linux_hotspot_8u252b09.tar | ||
| 52 | {{/code}} | ||
| 53 | |||
| 54 | 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. | ||
| 55 | |||
| 56 | == Configuración {{id name="configuración" /}}== | ||
| 57 | |||
| 58 | La manera más sencilla de configurar esto es modificando el archivo **/etc/profile**, incorporando las siguientes líneas al final de dicho archivo: | ||
| 59 | |||
| 60 | |||
| 61 | {{code language="bash"}} | ||
| 62 | export JAVA_HOME=/opt/jdk8u252-b09 | ||
| 63 | export PATH=$JAVA_HOME/bin:$PATH | ||
| 64 | {{/code}} | ||
| 65 | |||
| 66 | 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: | ||
| 67 | |||
| 68 | |||
| 69 | {{code language="bash"}} | ||
| 70 | java -version | ||
| 71 | {{/code}} | ||
| 72 | |||
| 73 | Lo cual debería arrojar algo como resultado algo similar a lo siguiente (lógicamente variando según la versión instalada): | ||
| 74 | |||
| 75 | |||
| 76 | {{code language="text"}} | ||
| 77 | openjdk version "1.8.0_252" | ||
| 78 | OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_252-b09) | ||
| 79 | OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.252-b09, mixed mode) | ||
| 80 | {{/code}} | ||
| 81 | |||
| 82 | 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//. | ||
| 83 | |||
| 84 | Lo primero es verificar las opciones disponibles mediante el comando: | ||
| 85 | |||
| 86 | |||
| 87 | {{code language="bash"}} | ||
| 88 | update-alternatives --config java | ||
| 89 | {{/code}} | ||
| 90 | |||
| 91 | Esto mostrará las opciones actualmente disponibles: | ||
| 92 | |||
| 93 | |||
| 94 | {{code language="text"}} | ||
| 95 | Selección Ruta Prioridad Estado | ||
| 96 | ------------------------------------------------------------ | ||
| 97 | 0 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 modo automático | ||
| 98 | * 1 /opt/jdk1.6.0_45/bin/java 0 modo manual | ||
| 99 | {{/code}} | ||
| 100 | |||
| 101 | Incluiremos entonces como seleccion 2 a la JMV descargada: | ||
| 102 | |||
| 103 | |||
| 104 | {{code language="bash"}} | ||
| 105 | sudo update-alternatives --install /usr/bin/java java /opt/jdk8u252-b09/bin/java 2 | ||
| 106 | {{/code}} | ||
| 107 | |||
| 108 | Esto incorporará una nueva entrada para java, a lo último de la tabla de alternativas. | ||
| 109 | |||
| 110 | |||
| 111 | {{code language="text"}} | ||
| 112 | Selección Ruta Prioridad Estado | ||
| 113 | ------------------------------------------------------------ | ||
| 114 | 0 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 modo automático | ||
| 115 | * 1 /opt/jdk1.6.0_45/bin/java 0 modo manual | ||
| 116 | 2 /opt/jdk8u252-b09/java 3 modo manual | ||
| 117 | {{/code}} | ||
| 118 | |||
| 119 | Luego se puede seleccionar la alternativa para la JVM recientemente instalada mediante el siguiente comando e indicando el número 2: | ||
| 120 | |||
| 121 | |||
| 122 | {{code language="bash"}} | ||
| 123 | update-alternatives --config java | ||
| 124 | {{/code}} | ||
| 125 | |||
| 126 | De esta forma, la tabla quedará configurada de la siguiente manera (notar el cambio en la posición del asterisco): | ||
| 127 | |||
| 128 | |||
| 129 | {{code language="text"}} | ||
| 130 | Selección Ruta Prioridad Estado | ||
| 131 | ------------------------------------------------------------ | ||
| 132 | 0 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 modo automático | ||
| 133 | 1 /opt/jdk1.6.0_45/bin/java 0 modo manual | ||
| 134 | * 2 /opt/jdk8u252-b09/java 3 modo manual | ||
| 135 | {{/code}} | ||
| 136 | |||
| 137 | 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: | ||
| 138 | |||
| 139 | |||
| 140 | {{code language="bash"}} | ||
| 141 | java -version | ||
| 142 | {{/code}} | ||
| 143 | |||
| 144 | Lo cual debería arrojar algo como resultado algo similar a lo siguiente (variando según la versión): | ||
| 145 | |||
| 146 | |||
| 147 | {{code language="text"}} | ||
| 148 | openjdk version "1.8.0_252" | ||
| 149 | OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_252-b09) | ||
| 150 | OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.252-b09, mixed mode) | ||
| 151 | {{/code}} | ||
| 152 | |||
| 153 | = PostgresSQL {{id name="postgressql" /}}= | ||
| 154 | |||
| 155 | == Descarga {{id name="descarga-1" /}}== | ||
| 156 | |||
| 157 | 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. | ||
| 158 | |||
| 159 | 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. | ||
| 160 | |||
| 161 | == Instalación {{id name="instalación-1" /}}== | ||
| 162 | |||
| 163 | 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. | ||
| 164 | |||
| 165 | 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. | ||
| 166 | |||
| 167 | Una vez descargada, procederemos a descomprimir y extraer los fuentes. Suponiendo que la descarga se realizó en **~~/Descargas**, ejecutaremos: | ||
| 168 | |||
| 169 | |||
| 170 | {{code language="bash"}} | ||
| 171 | cd ~/Descargas | ||
| 172 | gunzip postgresql-10.10.tar.gz | ||
| 173 | tar -xvf postgresql-10.10.tar | ||
| 174 | {{/code}} | ||
| 175 | |||
| 176 | 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: | ||
| 177 | |||
| 178 | |||
| 179 | {{code language="bash"}} | ||
| 180 | ./configure \ | ||
| 181 | --without-icu \ | ||
| 182 | --with-systemd \ | ||
| 183 | --with-openssl \ | ||
| 184 | --with-uuid=e2fs \ | ||
| 185 | CFLAGS='-fno-aggressive-loop-optimizations' | ||
| 186 | make | ||
| 187 | su | ||
| 188 | make install | ||
| 189 | adduser postgres | ||
| 190 | mkdir /usr/local/pgsql/data | ||
| 191 | chown postgres /usr/local/pgsql/data | ||
| 192 | su - postgres | ||
| 193 | /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data | ||
| 194 | /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 & | ||
| 195 | {{/code}} | ||
| 196 | |||
| 197 | Los modificadores **–with-*** para el configure son opcionales: | ||
| 198 | |||
| 199 | ~-~-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 | ||
| 200 | |||
| 201 | 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): | ||
| 202 | |||
| 203 | *. **gcc**\\ | ||
| 204 | *. **make**\\ | ||
| 205 | *. **libreadline-dev** (Debian) / **readline-devel** (Red Hat)\\ | ||
| 206 | *. **zlib1g-dev** (Debian) / **zlib-devel** (Red Hat)\\ | ||
| 207 | *. **systemd-devel** (de configurar con –with-systemd)\\ | ||
| 208 | *. **openssl-devel** (de configurar con –with-openssl)\\ | ||
| 209 | *. **e2fsprogs e2fsprogs-libs e2fsprogs-devel** **libuuid-devel** (de configurar con –with-uuid=e2fs) | ||
| 210 | |||
| 211 | 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: | ||
| 212 | |||
| 213 | |||
| 214 | {{code language="bash"}} | ||
| 215 | apt-get install gcc | ||
| 216 | {{/code}} | ||
| 217 | |||
| 218 | o por ejemplo: | ||
| 219 | |||
| 220 | |||
| 221 | {{code language="bash"}} | ||
| 222 | dnf install gcc | ||
| 223 | {{/code}} | ||
| 224 | |||
| 225 | Una vez finalizada la instalación, la instancia de postgres quedará ubicada en **/usr/local/pgsql**. | ||
| 226 | |||
| 227 | **IMPORTANTE**: Si no se aplica el modificador CFLAGS=‘-fno-aggressive-loop-optimizations’ y al ejecutar el comando **initdb** se presenta el siguiente error: | ||
| 228 | |||
| 229 | |||
| 230 | {{code language="text"}} | ||
| 231 | initializing pg_authid ... FATAL: wrong number of index expressions | ||
| 232 | STATEMENT: CREATE TRIGGER pg_sync_pg_database AFTER INSERT OR UPDATE OR DELETE ON pg_database FOR EACH STATEMENT EXECUTE PROCEDURE flatfile_update_trigger(); | ||
| 233 | {{/code}} | ||
| 234 | |||
| 235 | 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: | ||
| 236 | |||
| 237 | |||
| 238 | {{code language="bash"}} | ||
| 239 | # Limpiar cualquier compilación fallida anteriormente realizada | ||
| 240 | make clean | ||
| 241 | rm -Rf /usr/local/pgsql/data | ||
| 242 | # Configurar la CFLAGS para evitar el problema | ||
| 243 | export CFLAGS=-fno-aggressive-loop-optimizations | ||
| 244 | {{/code}} | ||
| 245 | |||
| 246 | Luego reiterar los pasos de compilación e instalación detallados en el archivo **INSTALL** mencionado en el punto anterior. | ||
| 247 | |||
| 248 | Referencia: https://stackoverflow.com/questions/25583549/initdb-initializing-pg-authid-fatal-wrong-number-of-index-expressions | ||
| 249 | |||
| 250 | == Configuración {{id name="configuración-1" /}}== | ||
| 251 | |||
| 252 | 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. | ||
| 253 | |||
| 254 | La configuración de PostgreSQL consta de dos simples pasos, los cuales se detallan a continuación: | ||
| 255 | |||
| 256 | === Permisos de acceso {{id name="permisos-de-acceso" /}}=== | ||
| 257 | |||
| 258 | 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: | ||
| 259 | |||
| 260 | |||
| 261 | {{code language="text"}} | ||
| 262 | # IPv4 local connections: | ||
| 263 | host all all 0/0 trust | ||
| 264 | {{/code}} | ||
| 265 | |||
| 266 | === Direcciones de escucha {{id name="direcciones-de-escucha" /}}=== | ||
| 267 | |||
| 268 | En el archivo **/usr/local/pgsql/data/postgresql.conf** deberá modificarse la línea **//listen_address//**, con el siguiente contenido: | ||
| 269 | |||
| 270 | |||
| 271 | {{code language="text"}} | ||
| 272 | listen_addresses = '*' # what IP address(es) to listen on; | ||
| 273 | {{/code}} | ||
| 274 | |||
| 275 | 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: | ||
| 276 | |||
| 277 | |||
| 278 | {{code language="bash"}} | ||
| 279 | chown postgres /usr/local/pgsql/data/pg_hba.conf | ||
| 280 | chown postgres /usr/local/pgsql/data/postgresql.conf | ||
| 281 | {{/code}} | ||
| 282 | |||
| 283 | === Variables de entorno {{id name="variables-de-entorno" /}}=== | ||
| 284 | |||
| 285 | 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: | ||
| 286 | |||
| 287 | |||
| 288 | {{code language="bash"}} | ||
| 289 | export PGDATA=/usr/local/pgsql/data | ||
| 290 | export PATH=/usr/local/pgsql/bin:$PATH | ||
| 291 | {{/code}} | ||
| 292 | |||
| 293 | === Iniciando postgres y verificando conexión {{id name="iniciando-postgres-y-verificando-conexión" /}}=== | ||
| 294 | |||
| 295 | En caso de querer iniciar PostgreSQL luego de - por ejemplo - reiniciar el sistema, es posible hacerlo mediante: | ||
| 296 | |||
| 297 | |||
| 298 | {{code language="bash"}} | ||
| 299 | su - postgres | ||
| 300 | /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 & | ||
| 301 | exit | ||
| 302 | {{/code}} | ||
| 303 | |||
| 304 | Si desea verificar la conexión a la base de datos, puede probar a ejecutar: | ||
| 305 | |||
| 306 | |||
| 307 | {{code language="bash"}} | ||
| 308 | /usr/local/pgsql/bin/psql -h localhost -U postgres -c "select 1" | ||
| 309 | {{/code}} | ||
| 310 | |||
| 311 | Esto deberá retornar un resultado como el siguiente, lo cual indica que el servicio de postgres se encuentra corriendo y escuchando: | ||
| 312 | |||
| 313 | |||
| 314 | {{code language="text"}} | ||
| 315 | ?column? | ||
| 316 | ---------- 1 (1 row) | ||
| 317 | {{/code}} | ||
| 318 | |||
| 319 | = Base de datos Libertya ERP {{id name="base-de-datos-libertya-erp" /}}= | ||
| 320 | |||
| 321 | == Descarga {{id name="descarga-2" /}}== | ||
| 322 | |||
| 323 | 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: | ||
| 324 | |||
| 325 | https://sourceforge.net/projects/libertya/files/libertya/release/1907/multi-platform/dump_libertya_1907ar_postgres9.5.sql.zip | ||
| 326 | |||
| 327 | 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: | ||
| 328 | |||
| 329 | [[https:~/~/sourceforge.net/projects/libertya/files/libertya/release/1907/multi-platform/dump_libertya_1907ar.sql.zip/>>https://sourceforge.net/projects/libertya/files/libertya/release/1907/multi-platform/dump_libertya_1907ar.sql.zip]] | ||
| 330 | |||
| 331 | 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: | ||
| 332 | |||
| 333 | https://sourceforge.net/projects/libertya/files/libertya/release/1907/PyME/dump_libertya_1907ar_pyme_postgres9.5.sql.zip | ||
| 334 | |||
| 335 | //**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.).// | ||
| 336 | |||
| 337 | == Creación de usuario libertya (a nivel postgres) {{id name="creación-de-usuario-libertya-a-nivel-postgres" /}}== | ||
| 338 | |||
| 339 | 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. | ||
| 340 | |||
| 341 | |||
| 342 | {{code language="bash"}} | ||
| 343 | psql -h localhost -U postgres -c "CREATE ROLE libertya LOGIN PASSWORD 'libertya' SUPERUSER CREATEDB CREATEROLE VALID UNTIL 'infinity' IN ROLE postgres" | ||
| 344 | {{/code}} | ||
| 345 | |||
| 346 | 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. | ||
| 347 | |||
| 348 | |||
| 349 | {{code language="bash"}} | ||
| 350 | createlang -U postgres -d template1 plpgsql | ||
| 351 | {{/code}} | ||
| 352 | |||
| 353 | == Creación Base de Datos {{id name="creación-base-de-datos" /}}== | ||
| 354 | |||
| 355 | 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**: | ||
| 356 | |||
| 357 | |||
| 358 | {{code language="bash"}} | ||
| 359 | cd ~/Descargas | ||
| 360 | unzip dump_libertya_1907ar_postgres9.5.sql.zip | ||
| 361 | {{/code}} | ||
| 362 | |||
| 363 | 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**: | ||
| 364 | |||
| 365 | |||
| 366 | {{code language="bash"}} | ||
| 367 | cd ~/Descargas | ||
| 368 | psql -h localhost -U postgres -c "CREATE DATABASE libertya_prod WITH ENCODING='UTF8' OWNER=libertya TEMPLATE=template1;" | ||
| 369 | psql -U libertya -d libertya_prod -f dump_libertya_1907ar_postgres9.5.sql | ||
| 370 | {{/code}} | ||
| 371 | |||
| 372 | 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. | ||
| 373 | |||
| 374 | = Binarios Libertya ERP {{id name="binarios-libertya-erp" /}}= | ||
| 375 | |||
| 376 | == Descarga {{id name="descarga-3" /}}== | ||
| 377 | |||
| 378 | 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. | ||
| 379 | |||
| 380 | **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. | ||
| 381 | |||
| 382 | Los binarios de Libertya ERP 19.07 puede descargarse desde el siguiente enlace: | ||
| 383 | |||
| 384 | https://sourceforge.net/projects/libertya/files/libertya/release/1907/multi-platform/ServidorOXP_V19.07.zip | ||
| 385 | |||
| 386 | //**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.// | ||
| 387 | |||
| 388 | Una vez descargado los binarios debemos descomprimirlos. Se recomienda descomprimirlos en el directorio raiz: | ||
| 389 | |||
| 390 | |||
| 391 | {{code language="bash"}} | ||
| 392 | cd ~/Descargas | ||
| 393 | mv ServidorOXP_V19.07.zip / | ||
| 394 | cd / | ||
| 395 | unzip ServidorOXP_V19.07.zip | ||
| 396 | {{/code}} | ||
| 397 | |||
| 398 | Esto generará el directorio **/ServidorOXP** con los binarios de Libertya ERP. Luego debemos darle permisos de ejecución a los archivos .sh allí contenidos: | ||
| 399 | |||
| 400 | |||
| 401 | {{code language="bash"}} | ||
| 402 | cd /ServidorOXP | ||
| 403 | chmod ugo+x *.sh -R | ||
| 404 | {{/code}} | ||
| 405 | |||
| 406 | == Configuración {{id name="configuración-2" /}}== | ||
| 407 | |||
| 408 | 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: | ||
| 409 | |||
| 410 | |||
| 411 | {{code language="bash"}} | ||
| 412 | export OXP_HOME=/ServidorOXP | ||
| 413 | {{/code}} | ||
| 414 | |||
| 415 | 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): | ||
| 416 | |||
| 417 | |||
| 418 | {{code language="bash"}} | ||
| 419 | cd /ServidorOXP | ||
| 420 | ./Configurar.sh | ||
| 421 | {{/code}} | ||
| 422 | |||
| 423 | 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. | ||
| 424 | |||
| 425 | En lo que refiere a los puertos, se recomienda utilizar los siguientes valores: | ||
| 426 | |||
| 427 | *. Puerto JNP: 1099\\ | ||
| 428 | *. Puerto Web: 8080\\ | ||
| 429 | *. Puerto SSL: 8443 | ||
| 430 | |||
| 431 | 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): | ||
| 432 | |||
| 433 | [[image:image1.png]] | ||
| 434 | |||
| 435 | 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. | ||
| 436 | |||
| 437 | 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. | ||
| 438 | |||
| 439 | //**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:// | ||
| 440 | |||
| 441 | |||
| 442 | {{code language="bash"}} | ||
| 443 | cd /ServidorOXP | ||
| 444 | cp LibertyaEnvTemplate.properties LibertyaEnv.properties | ||
| 445 | nano LibertyaEnv.properties | ||
| 446 | {{/code}} | ||
| 447 | |||
| 448 | //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.// | ||
| 449 | |||
| 450 | 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). | ||
| 451 | |||
| 452 | |||
| 453 | {{code language="bash"}} | ||
| 454 | cd /ServidorOXP | ||
| 455 | ./ConfigurarAuto.sh | ||
| 456 | {{/code}} | ||
| 457 | |||
| 458 | == Iniciando el servidor de aplicaciones {{id name="iniciando-el-servidor-de-aplicaciones" /}}== | ||
| 459 | |||
| 460 | 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): | ||
| 461 | |||
| 462 | |||
| 463 | {{code language="bash"}} | ||
| 464 | cd /ServidorOXP/utils | ||
| 465 | ./IniciarServidor.sh | ||
| 466 | {{/code}} | ||
| 467 | |||
| 468 | 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: | ||
| 469 | |||
| 470 | |||
| 471 | {{code language="text"}} | ||
| 472 | 14:32:04,823 INFO [Server] JBoss (MX MicroKernel) [4.0.2 (build: CVSTag=JBoss_4_0_2 date=200505022023)] Started in 18s:277ms | ||
| 473 | {{/code}} | ||
| 474 | |||
| 475 | 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. | ||
| 476 | |||
| 477 | = Accediendo a Libertya ERP {{id name="accediendo-a-libertya-erp" /}}= | ||
| 478 | |||
| 479 | Ver el documento **Iniciando Libertya**. | ||
| 480 | |||
| 481 | = Configuraciones avanzadas {{id name="configuraciones-avanzadas" /}}= | ||
| 482 | |||
| 483 | Importante: estos pasos pueden variar dependiendo la distribución del sistema operativo. | ||
| 484 | |||
| 485 | = Inicio de PostgreSQL en arranque del sistema {{id name="inicio-de-postgresql-en-arranque-del-sistema" /}}= | ||
| 486 | |||
| 487 | **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. | ||
| 488 | |||
| 489 | Crear el archivo **/etc/systemd/system/postgresql.service** con el siguiente contenido en caso de haber compilado postgres con soporte para systemd: | ||
| 490 | |||
| 491 | |||
| 492 | {{code language="text"}} | ||
| 493 | [Unit] | ||
| 494 | Description=PostgreSQL database server | ||
| 495 | Documentation=man:postgres(1) | ||
| 496 | After=network-online.target | ||
| 497 | Wants=network-online.target | ||
| 498 | [Service] | ||
| 499 | Type=notify | ||
| 500 | User=postgres | ||
| 501 | ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data | ||
| 502 | ExecReload=/bin/kill -HUP $MAINPID | ||
| 503 | KillMode=mixed | ||
| 504 | KillSignal=SIGINT | ||
| 505 | TimeoutSec=infinity | ||
| 506 | [Install] | ||
| 507 | WantedBy=multi-user.target | ||
| 508 | {{/code}} | ||
| 509 | |||
| 510 | Luego ejecutar: | ||
| 511 | |||
| 512 | |||
| 513 | {{code language="bash"}} | ||
| 514 | systemctl daemon-reload | ||
| 515 | systemctl enable postgresql | ||
| 516 | {{/code}} | ||
| 517 | |||
| 518 | Para iniciar o detener el servicio: | ||
| 519 | |||
| 520 | |||
| 521 | {{code language="bash"}} | ||
| 522 | systemctl start postgresql | ||
| 523 | systemctl stop postgresql | ||
| 524 | {{/code}} | ||
| 525 | |||
| 526 | Para versiones más antiguas de Linux, seguir con los pasos indicados a continuación. | ||
| 527 | |||
| 528 | |||
| 529 | ---- | ||
| 530 | |||
| 531 | Para que PostgreSQL pueda iniciar automáticamente al iniciar el sistema operativo, se pueden seguir los siguientes pasos. | ||
| 532 | |||
| 533 | 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: | ||
| 534 | |||
| 535 | |||
| 536 | {{code language="bash"}} | ||
| 537 | cp ~/Descargas/postgresql-10.10/contrib/start-scripts/linux /etc/init.d/postgresql | ||
| 538 | chmod ugo+x /etc/init.d/postgresql | ||
| 539 | {{/code}} | ||
| 540 | |||
| 541 | 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). | ||
| 542 | |||
| 543 | |||
| 544 | {{code language="bash"}} | ||
| 545 | chkconfig --add postgresql | ||
| 546 | {{/code}} | ||
| 547 | |||
| 548 | o bien para Debian o derivados: | ||
| 549 | |||
| 550 | |||
| 551 | {{code language="bash"}} | ||
| 552 | update-rc.d postgresql defaults | ||
| 553 | {{/code}} | ||
| 554 | |||
| 555 | **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**: | ||
| 556 | |||
| 557 | |||
| 558 | {{code language="text"}} | ||
| 559 | #! /bin/sh | ||
| 560 | ### BEGIN INIT INFO | ||
| 561 | # Provides: postgresql | ||
| 562 | # Required-Start: $local_fs $network | ||
| 563 | # Required-Stop: | ||
| 564 | # Default-Start: 2 3 4 5 | ||
| 565 | # Default-Stop: 0 1 6 | ||
| 566 | ### END INIT INFO | ||
| 567 | {{/code}} | ||
| 568 | |||
| 569 | Posteriormente ejecutar: | ||
| 570 | |||
| 571 | |||
| 572 | {{code language="bash"}} | ||
| 573 | systemctl enable postgresql | ||
| 574 | {{/code}} | ||
| 575 | |||
| 576 | 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. | ||
| 577 | |||
| 578 | Ejecutando el siguiente comando podremos determinar la causa del problema: | ||
| 579 | |||
| 580 | |||
| 581 | {{code language="bash"}} | ||
| 582 | journalctl -u postgresql.service | ||
| 583 | {{/code}} | ||
| 584 | |||
| 585 | Esto devolverá por ejemplo información de error como la siguiente: | ||
| 586 | |||
| 587 | |||
| 588 | {{code language="text"}} | ||
| 589 | localhost.localdomain postgresql[783]: /etc/rc.d/init.d/postgresql: línea 101: /bin/su: Permiso denegado | ||
| 590 | localhost.localdomain | ||
| 591 | systemd[1]: postgresql.service: Control process exited, code=exited, status=126/n/a | ||
| 592 | localhost.localdomain | ||
| 593 | systemd[1]: postgresql.service: Failed with result 'exit-code'. | ||
| 594 | localhost.localdomain | ||
| 595 | systemd[1]: Failed to start SYSV: PostgreSQL RDBMS. | ||
| 596 | {{/code}} | ||
| 597 | |||
| 598 | 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. | ||
| 599 | |||
| 600 | Para verificar el inicio o detención manualmente, podemos ejecutar: | ||
| 601 | |||
| 602 | |||
| 603 | {{code language="bash"}} | ||
| 604 | service postgresql start | ||
| 605 | service postgresql stop | ||
| 606 | {{/code}} | ||
| 607 | |||
| 608 | Si se optó por utilizar la versión con systemctl (systemd) el inicio y detencion manual se realiza con los siguientes comandos: | ||
| 609 | |||
| 610 | |||
| 611 | {{code language="bash"}} | ||
| 612 | systemctl start postgresql | ||
| 613 | systemctl stop postgresql | ||
| 614 | {{/code}} | ||
| 615 | |||
| 616 | Y puede verificarse el estado de la siguiente forma: | ||
| 617 | |||
| 618 | |||
| 619 | {{code language="bash"}} | ||
| 620 | systemctl status postgresql | ||
| 621 | {{/code}} | ||
| 622 | |||
| 623 | **Deshabilitar SELinux** | ||
| 624 | |||
| 625 | 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 | ||
| 626 | |||
| 627 | |||
| 628 | {{code language="text"}} | ||
| 629 | SELINUX=enforcing | ||
| 630 | {{/code}} | ||
| 631 | |||
| 632 | y cambiarla por | ||
| 633 | |||
| 634 | |||
| 635 | {{code language="text"}} | ||
| 636 | SELINUX=disabled | ||
| 637 | {{/code}} | ||
| 638 | |||
| 639 | guardar los cambios y cerrar el archivo. Ahora en el próximo reboot SELinux estará deshabilitado | ||
| 640 | |||
| 641 | = Inicio de Libertya ERP en arranque del sistema {{id name="inicio-de-libertya-erp-en-arranque-del-sistema" /}}= | ||
| 642 | |||
| 643 | 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. | ||
| 644 | |||
| 645 | |||
| 646 | {{code language="bash"}} | ||
| 647 | adduser libertya | ||
| 648 | {{/code}} | ||
| 649 | |||
| 650 | Por consiguiente, a partir de ahora el dueño de la carpeta **/ServidorOXP** y todos sus archivos deberán ser del usuario **libertya**: | ||
| 651 | |||
| 652 | |||
| 653 | {{code language="bash"}} | ||
| 654 | chown libertya:libertya /ServidorOXP -R | ||
| 655 | {{/code}} | ||
| 656 | |||
| 657 | |||
| 658 | ---- | ||
| 659 | |||
| 660 | **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. | ||
| 661 | |||
| 662 | 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: | ||
| 663 | |||
| 664 | |||
| 665 | {{code language="text"}} | ||
| 666 | [Unit] | ||
| 667 | Description=Libertya Application Server | ||
| 668 | After=network.target | ||
| 669 | [Service] | ||
| 670 | Type=simple | ||
| 671 | User=libertya | ||
| 672 | Group=libertya | ||
| 673 | WorkingDirectory=/ServidorOXP | ||
| 674 | Environment=JAVA_HOME=/opt/jdk8u462-b08 | ||
| 675 | Environment=OXP_HOME=/ServidorOXP | ||
| 676 | RuntimeDirectory=libertya | ||
| 677 | RuntimeDirectoryMode=0755 | ||
| 678 | ExecStart=/bin/bash -lc '/ServidorOXP/utils/IniciarServidor.sh & sleep 1; exit 0' | ||
| 679 | ExecStop=/bin/bash -lc '/ServidorOXP/utils/DetenerServidor.sh -S' | ||
| 680 | RemainAfterExit=yes | ||
| 681 | TimeoutStartSec=3min | ||
| 682 | TimeoutStopSec=45s | ||
| 683 | Restart=on-failure | ||
| 684 | RestartSec=5 | ||
| 685 | [Install] | ||
| 686 | WantedBy=multi-user.target | ||
| 687 | {{/code}} | ||
| 688 | |||
| 689 | Luego ejecutar: | ||
| 690 | |||
| 691 | |||
| 692 | {{code language="bash"}} | ||
| 693 | systemctl daemon-reload | ||
| 694 | systemctl enable libertyad | ||
| 695 | {{/code}} | ||
| 696 | |||
| 697 | Para iniciar o detener el servicio: | ||
| 698 | |||
| 699 | |||
| 700 | {{code language="bash"}} | ||
| 701 | systemctl start libertyad | ||
| 702 | systemctl stop libertyad | ||
| 703 | {{/code}} | ||
| 704 | |||
| 705 | Para versiones más antiguas de Linux, seguir con los pasos indicados a continuación. | ||
| 706 | |||
| 707 | |||
| 708 | ---- | ||
| 709 | |||
| 710 | Para que Libertya ERP pueda iniciar automáticamente al iniciar el sistema operativo, se pueden seguir los siguientes pasos. | ||
| 711 | |||
| 712 | 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: | ||
| 713 | |||
| 714 | |||
| 715 | {{code language="bash"}} | ||
| 716 | cd /var/run | ||
| 717 | mkdir libertya | ||
| 718 | chown libertya libertya -R | ||
| 719 | {{/code}} | ||
| 720 | |||
| 721 | **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: | ||
| 722 | |||
| 723 | |||
| 724 | {{code language="text"}} | ||
| 725 | d /var/run/libertya 0755 libertya libertya - | ||
| 726 | {{/code}} | ||
| 727 | |||
| 728 | 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: | ||
| 729 | |||
| 730 | *. libertyad_centos.sh\\ | ||
| 731 | *. libertyad_fedora.sh\\ | ||
| 732 | *. libertyad_ubuntu-debian.sh | ||
| 733 | |||
| 734 | Para el ejemplo, utlizaremos la opción **libertyad_ubuntu-debian.sh**. Copiamos el script y damos permisos de ejecución al mismo: | ||
| 735 | |||
| 736 | |||
| 737 | {{code language="bash"}} | ||
| 738 | cp /ServidorOXP/utils/unix/libertyad_ubuntu-debian.sh /etc/init.d/libertyad | ||
| 739 | chmod ugo+x /etc/init.d/libertyad | ||
| 740 | {{/code}} | ||
| 741 | |||
| 742 | 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: | ||
| 743 | |||
| 744 | |||
| 745 | {{code language="bash"}} | ||
| 746 | chkconfig --add libertyad | ||
| 747 | {{/code}} | ||
| 748 | |||
| 749 | o bien para Debian o derivados: | ||
| 750 | |||
| 751 | |||
| 752 | {{code language="bash"}} | ||
| 753 | update-rc.d libertyad defaults | ||
| 754 | {{/code}} | ||
| 755 | |||
| 756 | **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**: | ||
| 757 | |||
| 758 | |||
| 759 | {{code language="text"}} | ||
| 760 | #!/bin/bash | ||
| 761 | ### BEGIN INIT INFO | ||
| 762 | # Provides: libertyad | ||
| 763 | # Required-Start: $ALL | ||
| 764 | # Required-Stop: | ||
| 765 | # Default-Start: 2 3 4 5 | ||
| 766 | # Default-Stop: 0 1 6 | ||
| 767 | ### END INIT INFO | ||
| 768 | {{/code}} | ||
| 769 | |||
| 770 | Posteriormente ejecutar: | ||
| 771 | |||
| 772 | |||
| 773 | {{code language="bash"}} | ||
| 774 | systemctl enable libertyad | ||
| 775 | {{/code}} | ||
| 776 | |||
| 777 | 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): | ||
| 778 | |||
| 779 | |||
| 780 | {{code language="bash"}} | ||
| 781 | service libertyad start | ||
| 782 | service libertyad stop | ||
| 783 | {{/code}} | ||
| 784 | |||
| 785 | Si se optó por utilizar la versión con systemctl (systemd) el inicio y detencion manual se realiza con los siguientes comandos: | ||
| 786 | |||
| 787 | |||
| 788 | {{code language="bash"}} | ||
| 789 | systemctl start libertyad | ||
| 790 | systemctl stop libertyad | ||
| 791 | {{/code}} | ||
| 792 | |||
| 793 | Y puede verificarse el estado de la siguiente forma: | ||
| 794 | |||
| 795 | |||
| 796 | {{code language="bash"}} | ||
| 797 | systemctl status libertyad | ||
| 798 | {{/code}} | ||
| 799 | |||
| 800 | **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. | ||
| 801 | |||
| 802 | Para ésto, será necesario descargar el archivo con los fuentes de la funcionalidad start-stop-daemon, para luego compilarlos: | ||
| 803 | |||
| 804 | |||
| 805 | {{code language="bash"}} | ||
| 806 | cd /usr/local/src | ||
| 807 | wget http://developer.axis.com/download/distribution/apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz | ||
| 808 | {{/code}} | ||
| 809 | |||
| 810 | Desempaquetar el archivo comprimido | ||
| 811 | |||
| 812 | |||
| 813 | {{code language="bash"}} | ||
| 814 | tar zxvf apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz | ||
| 815 | cd apps/sys-utils/start-stop-daemon-IR1_9_18-2/ | ||
| 816 | {{/code}} | ||
| 817 | |||
| 818 | Compilar la aplicación | ||
| 819 | |||
| 820 | |||
| 821 | {{code language="bash"}} | ||
| 822 | gcc start-stop-daemon.c -o start-stop-daemon | ||
| 823 | {{/code}} | ||
| 824 | |||
| 825 | Copiar el binario de start-stop-daemon en /usr/sbin | ||
| 826 | |||
| 827 | |||
| 828 | {{code language="bash"}} | ||
| 829 | cp start-stop-daemon /usr/sbin | ||
| 830 | {{/code}} | ||
| 831 | |||
| 832 | 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: | ||
| 833 | |||
| 834 | |||
| 835 | {{code language="bash"}} | ||
| 836 | journalctl -u libertyad.service | ||
| 837 | {{/code}} | ||
| 838 | |||
| 839 | 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. |