Ciao Marco,
ho alcuni dubbi sulla configurazione dell’applicazione, ti elenco la procedura che ho seguito per rendere l’applicazione online e funzionante :
- nuova istanza aws
- installo docker e docker-compose
- installo apache-maven e java1.8
- seguo le linee guida descritte qui https://github.com/consiglionazionaledellericerche/cool-jconon-template
Con questi passaggi l’applicazione funziona sulla porta :8080 e modificando il file di avvio riesco a metterla in modalità produzione.
Ti elenco i dubbi :
- non sono riuscito in nessun modo a farlo funzionare con il protocollo https (che ho grazia all’utilizzo di cloudflare)
- come posso far funzionare l’applicazione sulla porta 80 anzichè 8080?
- L’accesso tramite spid non funziona, qualsiasi provider seleziono riporta ad una pagina di errore, c’è una configurazione a parte da fare?
- per modificare la sezione contatti o ad esempio le faq, a quali file devo fare riferimento?
- nella creazione del bando sono obbligato ad attivare alcune opzioni come ad esempio “Scheda di valutazione on-line”, si può modificare il campo e renderlo opzionale ed eventualmente da dove?
- nel bando fa scaricare due file pdf, “Modulo Dichiarazioni Sostitutive” e “Modulo Trattamento Dati Personali”, come posso modificarli?
Ti lascio il link della versione che sto testando :
http://ec2-35-177-3-49.eu-west-2.compute.amazonaws.com:8080/
Grazie
Ciao Claudio,
-
puoi sfruttare nginx e creare un VirtualHost che punta ad ajp 8009 le porte le puoi sempre modificare tramite il parametro server.port o ajp.port
-
Per l’accesso tramite SPID devi passare il parametro spid.enable=true e poi devi generare e firmare il file sp_metadata.xml (https://github.com/consiglionazionaledellericerche/cool-jconon/blob/master/cool-jconon-spid/src/main/resources/META-INF/metadata/sp/sp_metadata.xml) che poi metterai nella folder /src/main/resources/META-INF/metadata/sp/ del tuo progetto, e successivamente dovrai comunicrlo ad AGID (https://www.spid.gov.it/come-diventare-fornitore-di-servizi-pubblici-e-privati-con-spid#procedura-tecnica)
-
Per cambiare le etichette basta che nel tuo file i18n cambi le properties le definizioni le trovi qui: https://github.com/consiglionazionaledellericerche/cool-jconon/tree/master/cool-jconon-webapp-resources/src/main/resources/i18n
-
La scheda di valutazione online non è obbligatoria.
-
il sorgente dei moduli pdf lo trovi qui: https://github.com/consiglionazionaledellericerche/cool-jconon/blob/master/cool-jconon-print/src/main/resources/it/cnr/si/cool/jconon/print/DichiarazioneSostitutiva.jrxml basta copiarlo nel tuo progetto con la stessa alberatura e modificarlo, puoi vedere come è stato fatto per l’Accademia Nazionale dei Lincei (https://github.com/consiglionazionaledellericerche/cool-jconon-lincei)
- Potresti essere piu specifico nel punto nginx?
- Come configuro il server smtp per inviare le mail? dai log vedo che utilizza smtp.cnr.it con errori
- quando lancio il comando “mvn clean spring-boot:run” etc, l’applicazione parte ma se chiudo la console si stoppa, come posso farla partire in automatico?
- Quando provo a modificare le etichette dal backend dell’applicazione riesco a cambiare il nome, ma quando clicco dettagli mi appare un popup con scritto Error, dalla console mi stampa questo :
[ERROR] it.cnr.cool.frontOfficeHandler.Log4jHandler:33 - log,{“mappa”:{“user”:“admin”,“url”:"/rest/bulkInfo/view/affix_tabAnagrafica/form/defau
lt?v=0.0&ajax=true&guest=true",“application”:"",“stackTraceAjax”:“errore generico”},“typeDocument”:“log”,“codice”:1,“testo”:“error - “,“ajax”:{
“type”:“GET”,“contentType”:“application/x-www-form-urlencoded; charset=UTF-8”,“processData”:true},“Date”:“17/02/2021 – 12:10:56”,“user-agent”:”
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36”,“IP”:“151.28.78.208”}
Grazie
Ciao
-
per nginx puo vedere una configurazione di esempio qui: cool-jconon/docker-compose/conf.d/default.conf at master · consiglionazionaledellericerche/cool-jconon · GitHub
-
fai riferimento qui: GitHub - consiglionazionaledellericerche/cool-jconon-template: Template project aggiungi --spring.profiles.active=fof,prod e poi crei un file application-fof.yml con tutti i parametri che ti servono ad esempio per la configurazione delle email
puoi vedere qui: cool-jconon/cool-jconon-backend/src/main/resources/application.yml at ebb318dfc3e375f5ad972c077e6b9f31c2bf373c · consiglionazionaledellericerche/cool-jconon · GitHub -
a regime conviene compilare con maven e poi creare l’immagine docker (cool-jconon-template/Dockerfile at master · consiglionazionaledellericerche/cool-jconon-template · GitHub) e poi far partire quella
-
non è lì che vanno cambiare le properties ma devi aggiungere le property che vuoi sovracrivere qui (cool-jconon-template/src/main/resources/i18n/jconon-template_it.properties at master · consiglionazionaledellericerche/cool-jconon-template · GitHub)
Ciao Marco,
problema nginx : ho sostituito la configurazione con quella di esempio, ricompilato tutto ma non è cambiato nulla.
problema smtp : purtroppo anche creando il file e configurando il server smtp, non invia mail e restituisce un errore di connessione (premetto che ho verificato prima i parametri ed ho provato piu di 1 configurazione)
ecco l’errore :
Errore nell’invio della mail; nested exception is org.springframework.mail.MailSendException: Mail server connection failed; nested exception is com.sun.mail.util.MailConnectException: Couldn’t connect to host, port: smtp.fofi.it, 25; timeout -1; nested exception is: java.net.ConnectException: Connection timed out (Connection timed out). Failed messages: com.sun.mail.util.MailConnectException: Couldn’t connect to host, port: smtp.fofi.it, 25; timeout -1; nested exception is: java.net.ConnectException: Connection timed out (Connection timed out); message exceptions (1) are: Failed message 1: com.sun.mail.util.MailConnectException: Couldn’t connect to host, port: smtp.fofi.it, 25; timeout -1; nested exception is: java.net.ConnectException: Connection timed out (Connection timed out)
problema avvio da console : ok chiaro ma come creo l’immagine docker?
problema etichette risolto
nuova domanda : come posso eliminare alcune sezione nell’header, come ad esempio FAQ o Manuali?
Grazie
Ciao Claudio,
-
Vedo che alla url http://ec2-35-177-3-49.eu-west-2.compute.amazonaws.com/ risponde nginx dovresti riuscire a girare le richieste da li
-
non so che dirti evidentemente non risolve smtp.fofi.it
-
dopo la compilazione basta che fai
docker build . -t cool-jconon-fofi:latest
-
se richiami la url /rbac-admin e filtri per FAQ puoi rimuovere la riga :
faq GET whitelist all true
potresti anche seguire questa guida Deploying a Spring Boot Application on AWS Using AWS Elastic Beanstalk | AWS DevOps Blog mi sa che ti basta cambiare la porta da 8080 a 5000 tramite server.port o settando la variabile d’ambiente SERVER_PORT
Ciao Marco,
ho risolto il problema smtp, era una sorta di blocco di aws sulla porta 25, ho risolto utilizzando la porta 587.
mi rimangono alcuni problemini :
- non riesco a farlo andare sulla porta 80, se configuro come da esempio il file default.conf, non si avvia piu nginx
- ho compilato con maven e lanciato il comando da te suggerito (docker build . -t cool-jconon-fofi:latest) e mi crea l’immagine, ma non riesco a farla partire, ho provato questo comando docker run -d cool-jconon-fofi:latest, parte ma non la visualizzo online, ho provato anche aggiungendo la porta al comando, in questo modo : docker run -dp 8080:8080 cool-jconon-fofi:latest ma non la vedo, cosa sbaglio?
- ho copiato i sorgenti dei moduli pdf mantenendo l’alberatura, ma non prende le modifiche, cosa potrebbe essere? tutte le altre modifiche le ha prese correttamente
grazie ancora per i magici consigli.
ecco l’errore che restituisce quando provo a lanciare il comando : docker run cool-jconon-fofi:latest
[ERROR] org.springframework.boot.SpringApplication:823 - Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘exportApplicationsService’: Unsatisfied depend
ency expressed through field ‘callService’; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creatin
g bean with name ‘callService’: Unsatisfied dependency expressed through field ‘competitionService’; nested exception is org.springframework.be
ans.factory.BeanCreationException: Error creating bean with name ‘RRDService’ defined in URL [jar:file:/opt/jconon.war!/WEB-INF/lib/cool-common
-core-3.2.25.jar!/it/cnr/cool/cmis/service/RRDService.class]: Invocation of init method failed; nested exception is org.apache.chemistry.opencm
is.commons.exceptions.CmisConnectionException: Cannot access “http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser”: C
onnection refused
Sembra che cerchi alfresco sulla porta 8080 mentre invece è sulla porta 9080, ma non so dove cambiare questo parametro.
Ciao Claudio,
Hai vari modi per risolvere il problema:
o aggiungi le variabili di ambiente quando starti il container, stai però attento che localhost è riferito al container e non alla macchina che lo ospita per cui dovresti fare un link
docker run -e REPOSITORY_BASE_URL=http://localhost:9080/alfresco/ cool-jconon-fofi:latest
magari puoi dare un occhiata a una presentazione crash fatta da un collega qualche anno fa
in alternativa puoi impostare le variabili quando fai la build di maven
Per quanto riguarda il problema delle stampe dovresti aggiornare le versione nel pom di cool-jconon-parent alla 4.5.32
pom aggiornato e problema pdf risolto.
per il docker invece, aggiungendo il repository parte ma continuo a non visualizzarlo online, ho provato aggiungendo -p 8080:8080 ma non appare, dai log però non da nessun errore.
Cosa sbaglio?
lancio questi comandi :
1.
mvn clean install -Pprod
2.
mvn clean spring-boot:run -Pprod -Dspring.profiles.active=fofi,prod -Dserver.servlet.context-path=/ -Duser.admin.password=admin -Drepository.base.url=http://concorsifofi.it:9080/alfresco/
l’applicazione parte e funziona a questo link http://concorsifofi.it:8080
se faccio :
1.
mvn clean install -Pprod
2.
docker build . -t cool-jconon-fofi:latest
3.
docker run -p 8080:8080 -e REPOSITORY_BASE_URL=http://concorsifofi.it:9080/alfresco/ cool-jconon-fofi:latest
oppure
docker run -e REPOSITORY_BASE_URL=http://concorsifofi.it:9080/alfresco/ cool-jconon-fofi:latest
dalla console non restituisce errori ma non la visualizzo online
Ciao, per risolvere la questione di nginx e del testo nelle email con URL rotta puoi aggiornare la versione del parent nel pom alla 4.6.2
buongiorno marco, una informazione per quanto riguarda alfresco la parte di share non 'ce nelle immagini docker ALFRESCO del cnr?
un altra domanda, ma se integro un LDAP con alfresco posso loggarmi all’applicativo jconon con gli utenti presenti nel dominio LDAP?
Ciao,
La parte di share puoi anche utilizzare una immagine di Alfresco ufficiale in quanto non è stata personalizzata.
Assolutamente si anche noi abbiamo gli utenti su LDAP sincronizzati con Alfresco.
Ciao a tutti,
stiamo provando il template su una macchina Ubuntu 20.04.3 LTS.
Abbiamo installato Java, Git e Maven, e avviato Alfresco con il container fornito.
Alfresco parte sulla porta 9080, ma indica " Cannot find Alfresco Repository on this server. (Does this application have access to alfresco-global.properties? Does this application have cross-context permissions?)".
Proseguendo comunque come da istruzioni, al comando:
java -jar target/selezioni-template.war --rrd.path=remote-shared,remote-single-model --oil.url=http://localhost:9081/rest --user.admin.password=admin --server.servlet.context-path=/ --repository.base.url=http://localhost:9080/alfresco/ --spring.profiles.active=dev --spid.enable=false --siper.sedi.url=
appare questo errore
[ERROR] org.springframework.boot.SpringApplication:871 - Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'timerConfiguration': Unsatisfied dependency expressed through field 'callService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'callService': Unsatisfied dependency expressed through field 'competitionService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'RRDService' defined in URL [jar:file:/home/karim/cool-jconon-template/target/selezioni-template.war!/WEB-INF/lib/cool-common-core-4.0.9.jar!/it/cnr/cool/cmis/service/RRDService.class]: Invocation of init method failed; nested exception is org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException
A questo punto vorremmo sapere
- E’ normale il messaggio di Alfresco?
- Come possiamo proseguire?
- Sono obbligatorie delle personalizzazioni al template? Ad es. pom.xml
Grazie
Ciao, il problema potrebbe essere dovuto a questo: cool-jconon-template/docker-compose.yml at ae936a7f543c99edcf36f443462fd432325e3c7f · consiglionazionaledellericerche/cool-jconon-template · GitHub per cui dovresti controllare con quale utente viene avviato il docker-compose il container docker viene avviato con l’utente “alfresco”
Grazie per la dritta.
Riguardo al container Alfresco, in effetti la cartella alf_data aveva qualche problema di permessi. Ho sistemato tramite chown e chmod impostando l’utente che esegue docker. Alfresco ora parte correttamente (visitando la pagina web non appare piu’ l’errore indicato).
mvn clean install -Pprod
va a buon fine.
java -jar target/selezioni-template.war --rrd.path=remote-shared,remote-single-model --oil.url=http://localhost:9081/rest --user.admin.password=admin --server.servlet.context-path=/ --repository.base.url=http://localhost:9080/alfresco/ --spring.profiles.active=dev --spid.enable=true --spid.issuer.entityId=https://miauri.it --spid.destination=http://localhost:8080/spid/send-response --siper.sedi.url=
non restituisce errori evidenti, ma il sistema non parte:
Accedendo alla porta 80 ottengo: 404 Not Found - nginx/1.13.12
Accedendo alla porta 8080 ottengo: {"timestamp":"2021-11-16T15:26:01.260+00:00","status":500,"error":"Internal Server Error","exception":"java.lang.NoClassDefFoundError","message":"javax/xml/ws/handler/HandlerResolver","path":"/"}
Nello stesso istante della richiesta, a terminale appare:
java.lang.ClassNotFoundException: javax.xml.ws.handler.HandlerResolver
...
[ERROR] it.cnr.si.cool.jconon.rest.openapi.controllers.IndexController:50 - ERROR Page Controller Status:500 Message:javax/xml/ws/handler/HandlerResolver
Qualche indizio?
Ciao, l’applicazione dovrebbe rispondere all URL http://localhost:8080/, scusa non avevo letto la fine del messaggio, il problema potrebbe essere dovuto alla versione di java, controlla che sia la la 8
Ottimo, per un problema si era caricata una versione piu’ aggiornata di Java. Forzando la 8 funziona.
Incontriamo però un nuovo problema: personalizzando il file /src/main/resources/remote-single-model/Data Dictionary/Models/jconon_call_constraint_elenco_profilo_livello.xml
e ricompilando il tutto, non vengono applicate le modifiche (nel menu a tendina Profili si vedono ancora le voci standard).