| Componente | Versión | Descripción |
|---|---|---|
| Apache Tomcat | 8.5+ | Servidor de aplicaciones, contenedor Java Servlet. |
| Red Hat Enterprise Linux | 7+ | Sistema operativo, distribución Red Hat. |
| Microsoft SQL Server | 2017 | Sistema de gestión de base de datos relacional. |
| Python | 3.10+ | Lenguaje de programación. |
| Django | 5.1.6 | Framework web. |
- 1. Resumen del flujo (orden correcto)
- 2. Pre-requisitos del sistema
- 3. Base de datos (MySQL)
- 4. Clonar repositorios
- 5. Configuración – install_settings.txt
- 6. Instalación y despliegue
- 7. Carga de datos posteriores a la instalación
- 8. Arranque y validación básica
- Pre-requisitos del host (paquetes, servicios básicos, usuarios/grupos, carpetas y permisos).
- MySQL/MariaDB: instalación/arranque, hardening, creación de BBDD y usuario.
- Restauración desde dump (si aplica) o instalación “limpia” con migraciones.
- Clonado de repositorios:
relecov-platformyiskylims. - Configuración de
install_settings.txten cada proyecto. - Instalación (dependencias + aplicación) mediante
install.sh. - Carga de datos (schema, GFF, test data, proyectos de iSkyLIMS, ontologías).
- Arranque y validación (servicio web, acceso Django admin, pruebas mínimas).
Antes de iniciar la instalación, asegúrate de que:
- Tienes privilegios de
sudopara instalar paquetes requeridos. - El servidor de base de datos (MySQL/MariaDB) está en ejecución.
- El servidor de correo está configurado para enviar emails.
- El servidor Apache está en ejecución.
- Dependencias del sistema están instaladas.
- Además, revisa los requisitos previos específicos de iSkyLIMS: LEAME → Requisitos previos.
RedHat/CentOS:
sudo yum install -y redhat-lsb-coreUbuntu:
sudo apt update && sudo apt install -y lsb-releasepkg-config:
sudo apt install -y pkgconfMySQL server y cliente (Ubuntu):
sudo apt install -y mysql-server mysql-clientCrear base de datos RELECOV:
sudo mysql -u root -pDentro del cliente MySQL:
CREATE DATABASE relecov;
CREATE DATABASE relecovlims;Ver si está creada correctamente:
SHOW DATABASES;Crear un usuario no-admin para manejo de las nuevas bases de datos:
CREATE USER 'relecov_user'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON relecov.* TO 'relecov_user'@'localhost';
GRANT ALL PRIVILEGES ON relecovlims.* TO 'relecov_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;Cargar backup de las Bases de Datos:
sudo mysql -p relecov < /path/to/relecov-platform_db.sql
sudo mysql -p relecovlims < /path/to/relecov-iskylims_db.sqlAhora que ya tenemos MySQL preparado, podemos comenzar con la instalación de la plataforma.
Clonar la última versión del código:
Clona el código en el home del usuario administrador (por ejemplo, ~/clones), no en /opt.
/optse utilizará como ruta de instalación/ejecución que defineINSTALL_PATHeninstall_settings.txt.
git clone git@github.com:BU-ISCIII/relecov-platform.gitPara iSkyLIMS, sigue: Clonar el repositorio de GitHub.
Crear directorios de despliegue:
cd /opt
sudo mkdir -p relecov-platform iskylims
sudo chown -R root:apache relecov-platform iskylims
sudo chmod 2775 relecov-platform iskylimsCopiar el template de configuración (relecov-platform):
cp relecov_platform/conf/template_install_settings.txt relecov_platform/install_settings.txt### Installation path
INSTALL_PATH='/opt/relecov-platform'
PROJECT_NAME='relecov_platform'
REQUIRED_MODULES='core dashboard docs'
MIGRATION_MODULES='core dashboard'
### (optional) Python installation path where pip and python executables are located
PYTHON_BIN_PATH='/path/to/bin/python3' # example: /usr/bin/python3
### Settings required to access database
DB_USER='relecov_user'
DB_PASS='relecov_user-password' ## The One defined in the ddbb creation in 3.4.3
DB_NAME='relecov'
DB_SERVER_IP='mydatabaseip.isciii.es' # 'localhost' si fuera solo para uso local
DB_PORT='3306' # ejemplo
### Settings required for accessing relecov-platform
LOCAL_SERVER_IP='10.22.140.235' # example: 172.0.0.1
DNS_URL='relecov-platform.isciiides.es' # Dejarlo vacío si fuera solo para uso local
SUPERUSER='admin'
### Logs settings
LOG_TYPE='symbolic_link' # can be symbolic_link or regular_folder
LOG_PATH='/var/log/apps/relecov-platform' # obligatorio si LOG_TYPE='symbolic_link'
# Check whether LOG_PATH exists; if not, create it.Configura iSkyLIMS según Configuración de ajustes. Nota: ajusta DB_NAME al usado en tu entorno RELECOV (relecovlims) y mantén la misma IP/host que usará relecov-platform.
### Installation path and modules settings
INSTALL_PATH='/opt/iskylims'
REQUIRED_MODULES='core drylab wetlab clinic django_utils'
MIGRATION_MODULES='core drylab wetlab django_utils'
FAKEINITIAL_MODULES='django_utils iSkyLIMS_core iSkyLIMS_wetlab iSkyLIMS_drylab'
### (optional) Python installation path where pip and python executables are located
PYTHON_BIN_PATH='python3' # example: /opt/python/3.9.6/bin/python3
### Settings required to access database
DB_USER='relecov_user'
DB_PASS='relecov_user-password' ## The One defined in the ddbb creation in 3.4.3
DB_NAME='relecovlims'
DB_SERVER_IP='mydatabaseip.isciii.es' # 'localhost' si fuera solo para uso local
DB_PORT='3306' # ejemplo
### Settings required for sending emails
EMAIL_HOST_SERVER='localhost'
EMAIL_PORT='25'
EMAIL_HOST_USER='bioinfo'
EMAIL_HOST_PASSWORD=''
EMAIL_USE_TLS='False'
### Settings required for accessing relecov-platform
LOCAL_SERVER_IP='10.22.140.235' # example: 172.0.0.1
DNS_URL='relecov-iskylims.isciiides.es' # '' si fuera solo para uso local
SUPERUSER='admin' # name of the django superuser that will be created
### Logs settings
LOG_TYPE='symbolic_link' # can be symbolic_link or regular_folder
LOG_PATH='/var/log/apps/relecov-iskylims' # obligatorio si LOG_TYPE='symbolic_link'
# Check whether LOG_PATH exists; if not, create it.Permisos: para instalar dependencias del sistema se requieren privilegios de administración (root/sudo). Para facilitar la separación de responsabilidades (Sistemas vs. Aplicaciones), el script admite el parámetro --install / --upgrade con estas opciones:
dep→ instala/actualiza paquetes del sistema y dependencias de Python del proyecto. Requiere permisos de administración.app→ instala/actualiza únicamente la aplicación (código y migraciones). No requiere permisos de administración.
Ejecuta los comandos desde la carpeta del proyecto correspondiente y con
install_settings.txtya configurado.
La separación interna entre preparación de ficheros y bootstrap se usa ahora para las imágenes de contenedor. En bare-metal no cambian los comandos operativos: --install y --upgrade siguen ejecutando el flujo completo de dependencias, aplicación y base de datos.
Dependencias (requiere administración):
# Instalación inicial de dependencias
sudo bash install.sh --install depAplicacion (no requiere administración):
# Instalación inicial de dependencias
bash install.sh --install appConsulta las secciones de instalación/actualización del LEAME
sudo bash install.sh --upgrade dep
sudo bash install.sh --upgrade appEn el servidor de desarrollo ejecutar el hardening y reiniciar Apache:
# 1) Hardening del servidor (hardening)
sudo /scripts/hardening.sh
# 2) Reiniciar el servicio web
sudo systemctl restart httpd