¡Esta es una revisión vieja del documento!


Para información del entorno del Servidor de Producción de Helpcom ver Producción.

Producción (dev)

Definición práctica de los requisitos de Producción para un servidor Helpcom. Este documento está orientado más que nada a desarrollar en plataformas Linux y detalla aquellos aprovisionamientos de software soportados oficialmente por el Backend de Helpcom (lmachuca). Ver también Obtener Linux para ver las distribuciones de Linux soportadas.

Servidores BDD

Para plataformas de base de datos, las versiones de Producción (oficialmente soportadas) de motores de bases de datos en Debian son las siguientes:

Release MySQL MariaDB PostgreSQL SQLite MongoDB NoDB
Debian 7 (EOL 2016) 5.5 9.4 2.8
Debian 8 (EOL 2018) 5.5 9.6 3.14 2.4
Debian 9 (Stable 2018-2019) 10.1 9.6 3.16 3.4
Debian 10 (Stable 2020-2021) 10.2 10+/193 3.24 3.4
Debian Experimental 5.7 10.3 10+/193 3.24 3.4
Ubuntu 14 5.5 9.3 3.8 2.4
Ubuntu 16 (LTS) 5.7 10.1 9.5 3.11 2.6
Ubuntu 18 (LTS) 5.7 10.2 10+/190 3.22 3.6
Ubuntu 20 (LTS) ??? ??? ??? ??? ???

(Es posible instalar otras versiones desde repositorios externos, siempre y cuando quedemos exento del mantenimiento al no ser oficiales. – lmachuca )

MySQL < 5.5 no está soportado en ninguna rama oficial y de momento sólo es posible su instalación por medio de un debootstrap.

Para productos que usan motor de Crux, entre otros, está en Helpcom solamente probado hasta MySQL Server 5.5.

Para Draco, las versiones de Debian y Ubuntu en Producción ya usan la API de SQLite más actualizada (>= 3.4).

Para equipos cliente de F.E., el requisito es más relajado ya que se han probado correctamente con MySQL 5.7; el único detalle es que el proceso de instalación es más largo.

Para el proyecto de Orión, el soporte de PostgreSQL soportado es 10.x, con planes de mover a 11.x.

Este requisito implica que los servidores Debian para Linux Crux deben ser los siguientes: Debian 8.x (:!: evaluar); Debian 9.x quitando MariaDB e instalando MySQL 5.7; Ubuntu 14; Ubuntu 16 fijando la versión de MySQL.

Ver https://packages.debian.org/search?searchon=names&keywords=mysql-server para detalles del soporte. El motor de BDD por defecto para Debian 9 y superior es MariaDB >= 10.1.
Tarea: programación (Desarrollo) y QA (Técnicos) para habilitar los siguientes productos para MySQL Server >= 5.7 y/o MariaDB >= 10.1. Tomar en consideración que cambiar el motor de BDD a una versión más actualizada (o a un motor diferente) implica también cambiar el conector ODBC y/o integrar otro modelo de conexión al software (por ejemplo, puente SSH).
  • Crux
  • Serviteca + Antlia
  • Alerce (Trébol)
  • Remuneraciones
  • Contabilidad (en progreso - lmachuca)

Servidores Web

El servidor web por defecto para Debian es Apache. Alternativas son NGinx y Lighttpd. Los servidores centrales de Helpcom corren NGinx excepto donde se note lo contrario.

Programación

Esta sección describe la disponibilidad de los lenguajes y motores oficialmente soportados por el Backend de Helpcom.

PHP

PHP < 7.0 se considera EOL y no tiene soporte oficial; PHP 5.6 tiene soporte comunitario hasta Septiembre de 2019 pero se considera también descontinuado. Sólo se ofrece soporte en hosting que ya tiene PHP 5.6 operativo (por ejemplo DreamHost).

Para plataformas web basadas en PHP, las versiones de Producción de PHP en Debian son las siguientes:

  • Debian 9 (Stable): PHP 7.0.49 (Enero 2019)
  • Debian 10: PHP 7.4.0 (Enero 2020)
  • Debian Unstable / Experimental: PHP 7.4.0
  • Ubuntu 16 (LTS): PHP 7.0.30.
  • Ubuntu 18 (LTS): PHP 7.2.60.
  • Ubuntu 20 (LTS): PHP 7.3.0.
Ver https://packages.debian.org/search?suite=default&section=all&arch=any&searchon=names&keywords=php para detalles del soporte. El backend de PHP por defecto para Debian Stable es PHP 7.0.

El gestor de paquetes para PHP soportado por Debian es composer desde Debian 9 en adelante. Debian 9 (Stable) soporta Composer 1.2; Debian 10 soporta Composer 1.8. :!: Nota: por razones de seguridad, instalar Composer como global o con el usuario root por su página web oficial no será soportado por el Backend de Helpcom; sólo se soporta el instalador usado de manera local por el usuario del proyecto como se describe en https://getcomposer.org/doc/00-intro.md#locally . El nombre de ejecutable es composer-local.

Python

Python 2 se encuentra fuera de su periodo de soporte y se mantiene sólo por proyectos comunitarios. A menos que sea estrictamente necesario por toma de requerimientos, los desarrollos en Python debieran empezar en Python ≥ 3.4.

Para plataformas basadas en Python, las versiones de Producción de Python en Debian son 2.7 y 3.4 (Debian 7, Debian 8) a 3.6 (Debian 8, Debian 9).

Los nombres de paquete a instalar en Debian son python-2.7-dev y python-3.4-dev. Ver instalación y notas.

Los paquetes locales de Python se mantienen con el gestor de paquetes pip, y los paquetes se instalan como el usuario del proyecto vía el comando pip install --user (o pip3 install --user para Python 3). :!: Nota: Por razones de seguridad el Backend de Helpcom no dará soporte a paquetes instalados de manera global o con pip desde root. Ver notas.

El IDE recomendado en Debian para trabajar con Python es DrPython.

Java

El motor de Java por defecto para plataformas Linux es OpenJDK 9 / Icedtea 1.9, en general compatible con el spec de Java 9. Los motores OpenJDK 8 y OpenJDK 10 también están disponibles dependiendo de la versión de Linux.

:!: Debido a prohibiciones en la licencia, Oracle Java no está disponible dentro de la paquetería para Debian o Ubuntu excepto por un repositorio externo. Las versiones empaquetadas son usualmente oracle-jdk-9u20 en adelante.

Por requisitos externos, la plataforma de Servidores de Facturación Electrónica corre un entorno Oracle Java 7u21 (desahuciada). Es la única plataforma Helpcom a la que se debe permitir correr una versión de Java desahuciada hasta que se confirme la factibilidad de actualizar. Ver mrodriguez - ytorres.

Los siguientes son los JDK disponibles para Producción en las versiones de Debian / Ubuntu:

  • Debian 7: OpenJDK 7u171 (descontinuado).
  • Debian 8: OpenJDK 8u212 (Marzo 2019).
  • Debian 9 (Stable): OpenJDK 8u212, 9u181 (Marzo 2019).
  • Debian 10 / Experimental: OpenJDK 8u212, 10u12 11u2 (Marzo 2019).
  • Ubuntu 16: OpenJDK 8u162, 9u114.
  • Ubuntu 18 (LTS): OpenJDK 8u196, OpenJDK11u8.

El nombre de paquete a instalar en Debian es openjdk-9-jdk en adelante. Ver notas de instalación.

El entorno de desarrollo recomendado para trabajar en Debian es Netbeans. Otros entornos soportados en Debian son Eclipse y Codelite.

Lua

Lua es un lenguaje de programación orientado a tablas. La versión soportada en Debian Stable es 5.1 y en Debian Testing de 5.2 en adelante.

El nombre de paquete a instalar en Debian es lua5.1 en adelante.

C/C++

Para desarrollar en C/C++ en Debian existen dos ramas de desarrollo de librerías principales: libstdc, que usa el toolkit de GCC, y libc++ que usa el toolkit de Clang. Cuál toolkit se va a usar depende del proyecto. El compilador por defecto en Debian Stable es GCC 6.x.

El nombre de paquete a instalar en Debian es gcc para GCC, y clang + libc++ para Clang.

produccion.1586784894.txt.gz · Última modificación: 2020/04/13 13:34 por lmachuca
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0