Hello Francesco, thanks for the comprehensive answer, following your suggestions I was able to run a working Apache Syncope instance Thank you very much! Marco
Il giorno gio 18 apr 2024 alle ore 10:13 Francesco Chicchiriccò < ilgro...@apache.org> ha scritto: > On 15/04/24 15:12, Marco Naimoli wrote: > > Hello Francesco, thank you for the quick response! > > Hi Marco, please see my replies embedded below. > > Regards. > > I've done some tests, on a Ubuntu server 23.10, installed from scratch > I've installed openjdk-17-jdk and some support software, like unzip, wget, > x2goserver, etc. > I've create a user "syncope" > # standalone package > - downloaded starting from page > https://syncope.apache.org/docs/3.0/getting-started.html#standalone > - unzipped the package > $ cd syncope-standalone-3.0.6/apache-tomcat-9.0.84/ > $ chmod 755 bin/*.sh > $ bin/startup.sh > Using a browser from the same machine: > http://localhost:9080/syncope: works, swagger page > http://localhost:9080/syncope-console: takes a very long time to respond, > at the end it prints: > ------------------ > Whitelabel Error Page > > This application has no explicit mapping for /error, so you are seeing > this as a fallback. > Mon Apr 15 11:58:44 UTC 2024 > There was an unexpected error (type=Internal Server Error, status=500). > ------------------ > Same with syncope-wa and syncope-enduser > > In logs I've found a lot of errors, on wa.log: > ERROR org.apache.syncope.common.keymaster.client.api.ServiceOps - Could > not register NetworkService{type=WA, address= > https://localhost:9443/syncope-wa/} > In fact, port 9443 is not open > > Thank you for reporting. > > I have opened > > https://issues.apache.org/jira/browse/SYNCOPE-1817 > > to track these errors; the fix will be released with Syncope 3.0.7. > > Meanwhile, you can fix locally by changing as follows: > > 1. $CATALINA_HOME/conf/server.xml > > Add > > <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" > port="9443" maxThreads="200" > scheme="https" secure="true" SSLEnabled="true" > keystoreFile="conf/keystore.jks" keystorePass="password" > keystoreType="JKS" clientAuth="false" sslProtocol="TLS"/> > > right after > > <Connector port="9080" protocol="HTTP/1.1" > connectionTimeout="20000" > redirectPort="9443" > maxParameterCount="1000" > /> > > 2. $CATALINA_HOME/bin/setenv.sh > > Replace > > -Dspring.profiles.active=embedded > > with > > -Dspring.profiles.active=embedded,all > > # Docker > I've used the the IDM only example; I've set the environment variables: > > - ANONYMOUS_USER > - ANONYMOUS_KEY > > but it doesn't work. > > It seems that the docker compose command as indicated by > > > https://syncope.apache.org/docs/3.0/getting-started.html#how-to-start-the-containers > > is not correct. > > It should be something like > > SYNCOPE_VERSION=3.0.6 \ > ANONYMOUS_USER=anonymous \ > ANONYMOUS_KEY=anonymousKey \ > KEYMASTER_USERNAME=anonymous \ > KEYMASTER_PASSWORD=anonymousKey \ > docker compose -f docker-compose.yml up > > instead (I'd suggest docker-compose-pgjsonb.yml). I will update the guide > accordingly. > > I've changed alle the "https" to "http" in the example and it worked, I > was able to access the console. > > The URLs to use with Docker compose samples are indicated in > > > https://syncope.apache.org/docs/3.0/getting-started.html#how-to-start-the-containers > > and are already reported with http:// protocol. > > However, also in this case, I was unable to download SAML SP metadata or > to upload SAML IDP metadata > > This is happening because the Docker compose provided are just samples. > You will need to provide the configuration options to enable the > SAML2SP4UI support. > > Create a file named core-saml2.properties with the following content: > > saml2.sp4ui.keystore=file://${syncope.conf.dir}/saml.keystore.jks > saml2.sp4ui.keystore-type=jks > saml2.sp4ui.keystore-storepass=changeit > saml2.sp4ui.keystore-keypass=changeit > saml2.sp4ui.skew=300 > > then adjust the syncope service definition in the compose file > > * change > > SPRING_PROFILES_ACTIVE: docker,pgjsonb > > to > > SPRING_PROFILES_ACTIVE: docker,pgjsonb,saml2 > > * add > > volumes: > - > "/path/to/core-saml2.properties:/opt/syncope/conf/core-saml2.properties:ro" > > # Maven installation (personally I'd prefer to use this one) > Following the documentation I did: > > $ mvn archetype:generate \ > -DarchetypeGroupId=org.apache.syncope \ > -DarchetypeArtifactId=syncope-archetype \ > -DarchetypeRepository=https://repo1.maven.org/maven2 \ > -DarchetypeVersion=3.0.6 > > $ cd syncope01 > $ mvn clean install > > $ mvn clean verify > $ mkdir /opt/syncope/conf > $ cp core/target/classes/*properties /opt/syncope/conf > $ cp console/target/classes/*properties /opt/syncope/conf > $ cp enduser/target/classes/*properties /opt/syncope/conf > $ cp enduser/target/classes/*json /opt/syncope/conf > $ cp wa/target/classes/*properties /opt/syncope/conf > $ cp sra/target/classes/*properties /opt/syncope/conf > Then in every *.properties files I've added, at the end of the file: > > keymaster.username=anonymous > keymaster.password=a_secret_key > keymaster.address=http://localhost:8080/syncope/rest/keymaster > > $ mkdir /opt/syncope/bundles > $ cp core/target/bundles/* /opt/syncope/bundles/ > > > Then I've installed postgres, created a db named syncope, owned by user > syncope > > Then I've downloaded and unpacked apache-tomcat-9.0.87.tar.gz, and in > apache-tomcat-9.0.87/bin/ > > I've created the file setenv.sh with the following content: > > JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server > -Dsyncope.conf.dir=/opt/syncope/conf > -Dsyncope.connid.location=file:/opt/syncope/bundles > -Dsyncope.log.dir=/opt/syncope/log -Dwicket.ioc.useByteBuddy=true -Xms1536m > -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:+DisableExplicitGC > -Djava.security.egd=file:/dev/./urandom > > and permission 755 > > then I've copied the war files: > ./wa/target/syncope-wa.war > ./core/target/syncope.war > ./console/target/syncope-console.war > ./enduser/target/syncope-enduser.war > > into > apache-tomcat-9.0.87/webapps > > After launching bin/startup.sh the applications don't start at all (I suppose > because core is unable to start) > > > If I build the embedded version, everything works perfectly > > Glad to hear that embedded is working as expected. > > Consider that deploying into an external Java EE container is all but > trivial task and can be failing for multiple reasons, including networking > issues, missing JDBC driver etc. > > ----------------------- > > I'm sorry for the long post; I've included everything just in case there was > something to review in the documentation > However, I suppose I'm doing something wrong; about the maven installation, > is there a step by step guide that permits > > a fully working syncope version ? > > Or is there's any suggestion on what I should fix on my installation > procedure ? > > Thank you > > Marco > > > Il giorno gio 11 apr 2024 alle ore 14:26 Francesco Chicchiriccò < > ilgro...@apache.org> ha scritto: > >> On 11/04/24 14:12, Marco Naimoli wrote: >> > Hello, I'm new to Apache Syncope; I've tried to test it using the >> standalone installation on a >> > vanilla debian linux bookworm, using openJDK 17.0.10 >> > It seems to work, but when I try to import a SAML IDP metadata it fails >> with the following error: >> > InvalidEntity: Location must not be null >> > Metadata are ok: using the embedded version built with maven, metadata >> are imported without problems. >> > Clicking on the button to download the SP metadata doesn't do anything >> > And the wa.log (don't know if it can be related) is full of the >> following error: >> > >> > ERROR >> org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler - >> Unexpected error occurred in scheduled task >> > java.lang.IllegalStateException: Syncope core is not yet ready >> > >> > I'm not sure, but I remember that the error "Location must not be null" >> was shown during some other operation, different from SAML configuration >> > >> > Any suggestions / help ? >> >> Hi Marco, >> glad of your interest in Apache Syncope. >> >> About JDK 17 compatibility, we have an active GitHub actions workflows on >> the 3_0_X branch (supposing you are running the latest stable 3.0.6). >> Moreover, my company is running several Syncope deployments on various >> flavors of OpenJDK 17. >> >> As far as I understand, all works as expected when you use the standalone >> ZIP but it fails when you deploy Syncope somewhere else. >> >> As suggested by the Getting Started guide [1], however you should be >> using the Maven archetype for an independent deployment, or the Docker >> images; there are further options, too, but it really depends on how much >> you are planning to customize or extend. >> >> Can you describe how did you get to deploy Syncope, including which >> components, which DBMS, which Java EE container, ... ? >> >> Regards. >> >> [1] >> https://syncope.apache.org/docs/3.0/getting-started.html#obtain-apache-syncope >> >> -- >> Francesco Chicchiriccò >> >> Tirasa - Open Source Excellence >> http://www.tirasa.net/ >> >> Member at The Apache Software Foundation >> Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail >> http://home.apache.org/~ilgrosso/ >> >> > -- > Francesco Chicchiriccò > > Tirasa - Open Source Excellencehttp://www.tirasa.net/ > > Member at The Apache Software Foundation > Syncope, Cocoon, Olingo, CXF, OpenJPA, > PonyMailhttp://home.apache.org/~ilgrosso/ > >