-
Notifications
You must be signed in to change notification settings - Fork 0
Instalación de SinergiaDA
Para comenzar la instalación de SinergiaDA en tu servidor, el primer paso es clonar el repositorio de GitHub en la raíz de alojamiento. Generalmente, este directorio es /var/www/html/<dominio>/public_html/
. Utiliza el siguiente comando para realizar la clonación mediante HTTPS:
git clone https://github.com/SinergiaTIC/SinergiaDA.git sinergiada
- Los ficheros del backend están situados en ./sinergiada/eda/eda_api
- Los ficheros del frontend están en ./sinergiada/eda/eda_app
-
Modificar el fichero de configuración de la base de datos: Para configurar la conexión a la base de datos MongoDB, se debe modificar el fichero
./sinergiada/eda/eda_api/config/database.config.js
, incluyendo los datos de conexión adecuados:module.exports = { url: "mongodb://usuario:contraseña@localhost:27017/SDA?authSource=admin" };
-
Configurar los proxies para la API: Es necesario configurar los proxies para permitir la comunicación correcta entre el frontend y el backend a través del puerto por defecto, que es el 8666. Para ello, se deben añadir las siguientes líneas en el fichero de configuración de Apache para el vhost:
ProxyPass "/edapi/" "http://localhost:8666/" ProxyPassReverse "/edapi/" "http://localhost:8666/"
-
Recargar la configuración de Apache: Para que los cambios surtan efecto, es necesario recargar la configuración de Apache con el siguiente comando:
sudo systemctl reload apache2.service
-
Descargar paquetes y dependencias: Desde la carpeta de la API
./sinergiada/eda/eda_api
, ejecutar el siguiente comando para instalar las dependencias necesarias:npm install
-
Instalar el gestor de instancias de Node, PM2: Si PM2 no está disponible en el equipo, se debe instalar globalmente con el siguiente comando:
npm install pm2 -g
-
Arrancar la API con PM2: Para iniciar la API utilizando PM2, ejecutar:
npm run start:pm2
Importante: Tras un reinicio del sistema será necesario ejecutar este comando para iniciar el servicio. Se recomienda incluirlo en algún script de inicio del sistema.
-
Configurar las credenciales de acceso a la base de datos de SinergiaCRM: Se deben indicar las credenciales de acceso en el fichero
./sinergiada/eda/eda_api/config/sinergiacrm.config.js
, reemplazando los valores existentes por las credenciales válidas. -
Configurar la semilla aleatoría (salt) que será usada para cifrar los datos en la base de datos de MongoDB y en las comunicaciones enter la instancia de SinergiaCRM y SinergiaDA. Este cambio debe hacerse en el fichero
./sinergiada/eda/eda_api/config/seed.js
y debe añadirse una cadena personalizada del siguiente modo
module.exports.SEED = '<custom-salt-string>';
Esta misma cadena deberá ser configurada más tarde en la instancia de SinergiaCRM.
-
Descargar paquetes y dependencias:
- Navegar a la carpeta del frontend:
cd ./sinergiada/eda/eda_app
- Instalar las dependencias necesarias:
npm install --legacy-peer-deps
- Navegar a la carpeta del frontend:
-
Compilar la app:
- Ejecutar el siguiente comando para compilar la aplicación. Esto generará la carpeta
./sinergiada/eda/eda_app/dist/app-eda/
, que contendrá una carpeta por cada idioma con la aplicación del backend:npm run build:prod
- Ejecutar el siguiente comando para compilar la aplicación. Esto generará la carpeta
-
Proteger el acceso a los ficheros fuente de la aplicación mediante un fichero
.htaccess
que debe tener el siguiente contenido:RewriteEngine On RewriteRule ^sinergiada($|/) - [R=403,L]
Verificar que no es posible acceder mediante el navegador a la url
http(s)://<servidor>/sinergiada/...
-
Crear enlaces simbólicos en la raíz del host para cada uno de los idiomas y para el fichero
index.html
:- Situarse en la raíz del host y ejecutar:
ln -s ./sinergiada/eda/eda_app/dist/app-eda/index.html index.html ln -s ./sinergiada/eda/eda_app/dist/app-eda/en en ln -s ./sinergiada/eda/eda_app/dist/app-eda/es es ln -s ./sinergiada/eda/eda_app/dist/app-eda/ca ca ln -s ./sinergiada/eda/eda_app/dist/app-eda/gl gl
En este punto, en la dirección de vhost debe verse la pantalla de login en el idioma del navegador.
- Situarse en la raíz del host y ejecutar:
Para que SinergiaDA pueda utilizar los datos de SinergiaCRM, debe realizarse varias acciones:
-
En SinergiaCRM:
-
Habilitada la conexión con SinergiaDA, lo cual debe hacerse añadiendo al fichero
config_override.php
las siguientes líneas:$sugar_config['stic_sinergiada']['enabled'] = true; $sugar_config['stic_sinergiada_public']['url']='https://<sinergiada_host>' $sugar_config['stic_sinergiada']['seed_string'] = '<custom-salt-string>';
- Ejecutar el proceso de reconstrucción de fuentes de datos, lo que preparará las vistas y tablas necesarias en MySQL para que sean consumidas por SinergiaDA. Estas vistas y tablas tienen como prefijo
sda_
por lo que no puede haber en el servidor objetos que comiencen por este prefijo, ya que serían borradas. Para lanzarlo usar la siguiente URL, con un usuario administrador de SinergiaCRM:https://<sinergiacrm_host>/index.php?module=Administration&action=createReportingMySQLViews&debug=1&update_model=1&print_debug=1&rebuild_filter=all
-
Habilitada la conexión con SinergiaDA, lo cual debe hacerse añadiendo al fichero
En este punto, el backend de SinergiaDA debería poder conectar con SinergiaCRM para utilizarlos como una fuente de datos y poder generar informes con los datos de SinergiaCRM.
En la carpeta docs/reports/base-reports/
existe un volcado con ejemplos de informes con datos de los principales módulos de SinergiaCRM, estos ejemplos pueden ser cargados en la instancia de SinergiaDA usando el siguiente comando:
Importante: Al cargar los informes de este modo, se eliminarán los informes previamente existentes
mongorestore --host=localhost --port=27017 --username=***** --password=***** --authenticat
ionDatabase=admin --drop --db=SDA docs/reports/base-reports/dashboard.bson
Puede consultarse el manual para usuarios de SinegiaDA en https://wiki.sinergiacrm.org