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: https://github.com/consiglionazionaledellericerche/cool-jconon/blob/master/docker-compose/conf.d/default.conf
-
fai riferimento qui: https://github.com/consiglionazionaledellericerche/cool-jconon-template#compilazione-e-primo-avvio 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: https://github.com/consiglionazionaledellericerche/cool-jconon/blob/ebb318dfc3e375f5ad972c077e6b9f31c2bf373c/cool-jconon-backend/src/main/resources/application.yml#L92 -
a regime conviene compilare con maven e poi creare l’immagine docker (https://github.com/consiglionazionaledellericerche/cool-jconon-template/blob/master/Dockerfile) e poi far partire quella
-
non è lì che vanno cambiare le properties ma devi aggiungere le property che vuoi sovracrivere qui (https://github.com/consiglionazionaledellericerche/cool-jconon-template/blob/master/src/main/resources/i18n/jconon-template_it.properties)
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 https://aws.amazon.com/blogs/devops/deploying-a-spring-boot-application-on-aws-using-aws-elastic-beanstalk/ 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