ogcore/DEBIAN/postinst

55 lines
2.0 KiB
Bash

#!/bin/bash
set -e
# Asegurarse de que el usuario exista
USER="opengnsys"
# Provisionar base de datos si es necesario en caso de instalación.
# Detectar si es una instalación nueva o una actualización
if [ "$1" = "configure" ] && [ -z "$2" ]; then
cd /opt/opengnsys/ogcore/api
mariadb -e "GRANT ALL ON *.* to 'root'@'localhost' IDENTIFIED BY 'root' WITH GRANT OPTION;"
echo "Primera instalación"
# Provisionar base de datos si es necesario en caso de instalación.
echo "Creando par de claves para JWT"
php bin/console lexik:jwt:generate-keypair --overwrite
echo "Creando base de datos y cargando datos iniciales"
php bin/console doctrine:database:create --if-not-exists
php bin/console doctrine:migrations:migrate --no-interaction
# Cargar datos iniciales
echo "Cargando datos iniciales"
php bin/console opengnsys:load-default-user
echo "Cargando usuarios y grupos por defecto"
php bin/console app:load-default-user-groups
echo "Cargando comandos por defecto"
php bin/console app:load-default-commands
echo "Cargando menú por defecto"
php bin/console opengnsys:load-default-menu
elif [ "$1" = "configure" ] && [ -n "$2" ]; then
cd /opt/opengnsys/ogcore/api
echo "Actualización desde la versión $2"
# Ejecutar comandos específicos para la actualización
php bin/console doctrine:migrations:migrate --no-interaction
# Otros comandos específicos para la actualización
fi
# Cambiar la propiedad de los archivos al usuario especificado
chown opengnsys:www-data /opt/opengnsys/
chown -R opengnsys:www-data /opt/opengnsys/ogcore
# Install http server stuff
ln -s /opt/opengnsys/ogcore/etc/nginx/sites-available/ogcore.conf /etc/nginx/sites-enabled/ogcore.conf
ln -s /opt/opengnsys/ogcore/etc/php/8.3/fpm/pool.d/ogcore-fpm.conf /etc/php/8.3/fpm/pool.d/ogcore-fpm.conf
# Reiniciar servicios si es necesario
# systemctl restart nombre_del_servicio
systemctl daemon-reload
systemctl restart nginx
systemctl restart php8.3-fpm
exit 0