Unable to build and/or run either cas, cas-overlay-template or cas-gradle-overlay-template

2,876 views
Skip to first unread message

Rovanion Luckey

unread,
Mar 31, 2018, 4:30:15 PM3/31/18
to CAS Community
All this is on a 64-bit Ubuntu 16.04 with OpenJDK 9, cas-overlay-template was also tested with JDK 8.

Starting with cas-gradle-overlay-template on 7435f376831e2760e3fa91c52e9094bcc4da413e, that is master, and the full procedures as follows:

$ git clone git@github.com:apereo/cas-gradle-overlay-template.git
$ cd cas
-gradle-overlay-template/
$
./build.sh run

This, as far as I understand it, is what's needed to get the project up and running. The README isn't very clear on the subject though. The full output of the last command is rather long and can be found here: http://paste.ubuntu.com/p/hxCNnNvrX4/

The first of the many reported issues being that the program is unable to create a folder `/etc/cas/logs` which is quite right assuming that the error message is correct. A user program should not touch anything under `/etc` and `/etc` is not the right place for logs, see the Linux Standard Base Filesystem Hiarchy Standard [0]. Logs in a development environment should be located in a folder relative to the project itself and in a production environment under `/var/log`.

I made an attempt at changing where the logs were being written to by modifying `<project-root>/etc/cas/config/log4j2.xml` so that the property `baseDir` read `./hat/cat`, yet the error continues to read `Could not create directory /etc/cas/logs`.

Running out of ideas available to me as a normal user I reached for the second template in the stack, cas-overlay-template:

$ git clone git@github.com:apereo/cas-overlay-template.git
$
./build.sh run
Exception in thread "main" javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair
    at sun
.security.ssl.Alerts.getSSLException(java.base@9-internal/Alerts.java:214)
    at sun
.security.ssl.SSLSocketImpl.fatal(java.base@9-internal/SSLSocketImpl.java:1949)
    at sun
.security.ssl.SSLSocketImpl.fatal(java.base@9-internal/SSLSocketImpl.java:1901)
    at sun
.security.ssl.SSLSocketImpl.handleException(java.base@9-internal/SSLSocketImpl.java:1884)
    at sun
.security.ssl.SSLSocketImpl.startHandshake(java.base@9-internal/SSLSocketImpl.java:1416)
    at sun
.security.ssl.SSLSocketImpl.startHandshake(java.base@9-internal/SSLSocketImpl.java:1393)
    at sun
.net.www.protocol.https.HttpsClient.afterConnect(java.base@9-internal/HttpsClient.java:559)
    at sun
.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(java.base@9-internal/AbstractDelegateHttpsURLConnection.java:185)
    at sun
.net.www.protocol.http.HttpURLConnection.getInputStream0(java.base@9-internal/HttpURLConnection.java:1511)
    at sun
.net.www.protocol.http.HttpURLConnection.getInputStream(java.base@9-internal/HttpURLConnection.java:1439)
    at sun
.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(java.base@9-internal/HttpsURLConnectionImpl.java:235)
    at org
.apache.maven.wrapper.DefaultDownloader.downloadInternal(DefaultDownloader.java:84)
    at org
.apache.maven.wrapper.DefaultDownloader.download(DefaultDownloader.java:68)
    at org
.apache.maven.wrapper.Installer.createDist(Installer.java:69)
    at org
.apache.maven.wrapper.WrapperExecutor.execute(WrapperExecutor.java:149)
    at org
.apache.maven.wrapper.MavenWrapperMain.main(MavenWrapperMain.java:48)
Caused by: java.lang.RuntimeException: Could not generate DH keypair
    at sun
.security.ssl.DHCrypt.<init>(java.base@9-internal/DHCrypt.java:142)
    at sun
.security.ssl.DHCrypt.<init>(java.base@9-internal/DHCrypt.java:114)
    at sun
.security.ssl.ClientHandshaker.serverKeyExchange(java.base@9-internal/ClientHandshaker.java:830)
    at sun
.security.ssl.ClientHandshaker.processMessage(java.base@9-internal/ClientHandshaker.java:335)
    at sun
.security.ssl.Handshaker.processLoop(java.base@9-internal/Handshaker.java:1003)
    at sun
.security.ssl.Handshaker.processRecord(java.base@9-internal/Handshaker.java:937)
    at sun
.security.ssl.SSLSocketImpl.processInputRecord(java.base@9-internal/SSLSocketImpl.java:1119)
    at sun
.security.ssl.SSLSocketImpl.readRecord(java.base@9-internal/SSLSocketImpl.java:1056)
    at sun
.security.ssl.SSLSocketImpl.readRecord(java.base@9-internal/SSLSocketImpl.java:955)
    at sun
.security.ssl.SSLSocketImpl.performInitialHandshake(java.base@9-internal/SSLSocketImpl.java:1382)
    at sun
.security.ssl.SSLSocketImpl.startHandshake(java.base@9-internal/SSLSocketImpl.java:1409)
   
... 11 more
Caused by: java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64, and can only range from 512 to 2048 (inclusive)
    at com
.sun.crypto.provider.DHKeyPairGenerator.initialize(java.base@9-internal/DHKeyPairGenerator.java:120)
    at java
.security.KeyPairGenerator$Delegate.initialize(java.base@9-internal/KeyPairGenerator.java:681)
    at sun
.security.ssl.DHCrypt.<init>(java.base@9-internal/DHCrypt.java:128)
   
... 21 more

Googling this issue it seemed like it could due to which version of Java I was using, so I tried Java 8 instead, but unfortunately that didn't help, then again that's going in the wrong direction.

Not feeling very confident I could figure this one out I went on to the final stop: cas.

$ git clone git@github.com:apereo/cas.git
$ cd cas
$
./gradlew build install --stacktrace -x test -x javadoc -x check

Here I followed the build instructions linked to in the README: https://apereo.github.io/cas/developer/Build-Process-5X.html

Unfortunately the build process errored out after five minutes:

./gradlew build install --stacktrace -x test -x javadoc -x check | pastebinit
error
: cannot access module-info
  bad
class file: /modules/java.desktop/module-info.class
   
module declaration found in version 52.0 classfile
   
Please remove or make sure it appears in the correct subdirectory of the classpath.
1 error

FAILURE
: Build failed with an exception.

* What went wrong:
Execution failed for task ':api:cas-server-core-api-protocol:compileJava'.
> Compilation failed with exit code 1; see the compiler error output for details.

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org
.gradle.api.tasks.TaskExecutionException: Execution failed for task ':api:cas-server-core-api-protocol:compileJava'.
        at org
.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:103)
        at org
.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:73)
        at org
.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
        at org
.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
        at org
.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
        at org
.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
        at org
.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
        at org
.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
        at org
.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
        at org
.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
        at org
.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
        at org
.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        at org
.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org
.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
        at org
.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:256)
        at org
.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org
.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org
.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
        at org
.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
        at org
.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:249)
        at org
.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:238)
        at org
.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
        at org
.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
        at org
.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
        at org
.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
        at org
.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:663)
        at org
.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:597)
        at org
.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
        at org
.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org
.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at org
.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed with exit code 1; see the compiler error output for details.
        at net
.ltgt.gradle.errorprone.ErrorProneCompiler.execute(ErrorProneCompiler.java:74)
        at net
.ltgt.gradle.errorprone.ErrorProneCompiler.execute(ErrorProneCompiler.java:23)
        at org
.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:98)
        at org
.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:51)
        at org
.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:37)
        at org
.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:35)
        at org
.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:25)
        at org
.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:156)
        at org
.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:141)
        at org
.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:114)
        at org
.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org
.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)
        at org
.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
        at org
.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
        at org
.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:124)
        at org
.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org
.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org
.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
        at org
.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
        at org
.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:113)
        at org
.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:95)
       
... 30 more


* Get more help at https://help.gradle.org

BUILD FAILED
in 5m 29s
http
://paste.ubuntu.com/p/XYmJNwjwdC/

If anyone would have any idea as to what I'm doing wrong I would gladly update the documentation to reflect this, though as it stands now I'm at my, albeit small, wits end.


[0]: http://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html

Man H

unread,
Mar 31, 2018, 5:15:49 PM3/31/18
to cas-...@apereo.org
Did you try sudo...
Message has been deleted

Rovanion Luckey

unread,
Apr 1, 2018, 4:21:31 PM4/1/18
to CAS Community
Seems like my last two messages haven't come through so I'll try again with my progress so far:

No I did not, thinking that surely that cannot be requiered in order to run either of the three code bases, can it?

Trying it out on the gradle template ended up creating /etc/cas/logs in the root of my file system but landed me in a different set of errors. The erros specifically being:

BUILD SUCCESSFUL in 8s
4 actionable tasks: 4 executed

   __   ____      _      ____   __ 
  / /  / ___|    / \    / ___|  \ \
 | |  | |       / _ \   \___ \   | |
 | |  | |___   / ___ \   ___) |  | |
 | |   \____| /_/   \_\ |____/   | |
  \_\                           /_/

CAS Version: 5.2.3
CAS Commit Id: 14850a4ef16ef32ce6390f62fda566fdb8fa3948
CAS Build Date/Time: 2018-04-01T10:48:46Z
Spring Boot Version: 1.5.8.RELEASE
------------------------------------------------------------
Java Home: /usr/lib/jvm/java-9-openjdk-amd64
Java Vendor: Oracle Corporation
Java Version: 9-internal
JVM Free Memory: 326 MB
JVM Maximum Memory: 3 GB
JVM Total Memory: 449 MB
JCE Installed: Yes
------------------------------------------------------------
OS Architecture: amd64
OS Name: Linux
OS Version: 4.13.0-37-generic
OS Date/Time: 2018-04-01T12:48:52.536815
OS Temp Directory: /tmp
------------------------------------------------------------
Apache Tomcat Version: Apache Tomcat/8.5.28
------------------------------------------------------------


2018-04-01 12:48:52,599 INFO [org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] - <Configuration directory [/etc/cas/config] is not a directory or cannot be found at the specific path>
2018-04-01 12:48:52,609 INFO [org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] - <Found and loaded [0] setting(s) from [/etc/cas/config]>
2018-04-01 12:48:52,610 INFO [org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration] - <Located property source: PropertiesPropertySource {name='standaloneCasConfigService'}>
2018-04-01 12:48:52,618 INFO [org.apereo.cas.web.CasWebApplication] - <The following profiles are active: standalone>
2018-04-01 12:48:52,685 INFO [org.apereo.cas.web.CasWebApplicationContext] - <Refreshing CasWebApplicationContext>
2018-04-01 12:48:55,901 WARN [org.apereo.cas.config.CasCoreTicketsConfiguration] - <Runtime memory is used as the persistence storage for retrieving and managing tickets. Tickets that are issued during runtime will be LOST upon container restarts. This MAY impact SSO functionality.>
2018-04-01 12:48:55,905 INFO [org.apereo.cas.configuration.support.Beans] - <Ticket registry encryption/signing is turned off. This MAY NOT be safe in a clustered production environment. Consider using other choices to handle encryption, signing and verification of ticket registry tickets, and verify the chosen ticket registry does support this behavior.>
2018-04-01 12:49:11,606 WARN [org.apereo.cas.config.support.authentication.AcceptUsersAuthenticationEventExecutionPlanConfiguration] - <>
2018-04-01 12:49:11,613 WARN [org.apereo.cas.config.support.authentication.AcceptUsersAuthenticationEventExecutionPlanConfiguration] - <

  ____    _____    ___    ____    _
 / ___|  |_   _|  / _ \  |  _ \  | |
 \___ \    | |   | | | | | |_) | | |
  ___) |   | |   | |_| | |  __/  |_|
 |____/    |_|    \___/  |_|     (_)
                                   

CAS is configured to accept a static list of credentials for authentication. While this is generally useful for demo purposes, it is STRONGLY recommended that you DISABLE this authentication method (by setting 'cas.authn.accept.users' to a blank value) and switch to a mode that is more suitable for production.>
2018-04-01 12:49:11,614 WARN [org.apereo.cas.config.support.authentication.AcceptUsersAuthenticationEventExecutionPlanConfiguration] - <>
2018-04-01 12:49:18,862 INFO [org.apereo.cas.config.CasConfigurationSupportUtilitiesConfiguration] - <CAS is configured to NOT watch configuration directory [/etc/cas/config]. Changes require manual reloads/restarts.>
2018-04-01 12:49:24,475 INFO [org.apereo.cas.support.events.listener.CasConfigurationEventListener] - <Refreshing CAS configuration. Stand by...>
2018-04-01 12:49:24,996 WARN [org.apereo.cas.config.CasCoreServicesConfiguration] - <Runtime memory is used as the persistence storage for retrieving and persisting service definitions. Changes that are made to service definitions during runtime WILL be LOST upon container restarts. Ideally for production, you need to choose a storage option (JDBC, etc) to store and track service definitions.>
2018-04-01 12:49:25,024 INFO [org.apereo.cas.services.AbstractServicesManager] - <Loaded [0] service(s) from [InMemoryServiceRegistry].>
2018-04-01 12:49:25,203 INFO [org.apereo.cas.services.ServiceRegistryInitializer] - <The service registry database backed by [InMemoryServiceRegistry] will not be initialized from JSON services. If the service registry database ends up empty, CAS will refuse to authenticate services until service definitions are added to the registry. To auto-initialize the service registry, set 'cas.serviceRegistry.initFromJson=true' in your CAS settings.>
2018-04-01 12:49:25,447 WARN [org.apereo.cas.util.cipher.BaseStringCipherExecutor] - <Secret key for encryption is not defined for [Ticket-granting Cookie]; CAS will attempt to auto-generate the encryption key>
2018-04-01 12:49:25,460 WARN [org.apereo.cas.util.cipher.BaseStringCipherExecutor] - <Generated encryption key [fT0VIKw_hCKEK3LM0Ot5LJ_ZkaBrYIORURJ6YOPD-hc] of size [256] for [Ticket-granting Cookie]. The generated key MUST be added to CAS settings under setting [cas.tgc.crypto.encryption.key].>
2018-04-01 12:49:25,464 WARN [org.apereo.cas.util.cipher.BaseStringCipherExecutor] - <Secret key for signing is not defined for [Ticket-granting Cookie]. CAS will attempt to auto-generate the signing key>
2018-04-01 12:49:25,464 WARN [org.apereo.cas.util.cipher.BaseStringCipherExecutor] - <Generated signing key [-fB6mPrwh2cHTVZjPPsuNU5-pYWAR_b0_IQ7HbtFoCA5yiEOybpnej5gw6bVHGeoJOPyIlSRa5A_5M7yq2DwZA] of size [512] for [Ticket-granting Cookie]. The generated key MUST be added to CAS settings under setting [cas.tgc.crypto.signing.key].>
2018-04-01 12:49:26,054 WARN [org.apereo.cas.util.cipher.BaseBinaryCipherExecutor] - <Secret key for signing is not defined under [cas.webflow.crypto.signing.key]. CAS will attempt to auto-generate the signing key>
2018-04-01 12:49:26,055 WARN [org.apereo.cas.util.cipher.BaseBinaryCipherExecutor] - <Generated signing key [bxpENseyg8nfMFcNn5xsbHs-c0eV2NLnR5rc65GymFb4bvxlnY6NfalpPzA14Bsvzgi0ge8sZriLndeED5Z1ig] of size [512]. The generated key MUST be added to CAS settings under setting [cas.webflow.crypto.signing.key].>
2018-04-01 12:49:26,055 WARN [org.apereo.cas.util.cipher.BaseBinaryCipherExecutor] - <Secret key for encryption is not defined under [cas.webflow.crypto.encryption.key]. CAS will attempt to auto-generate the encryption key>
2018-04-01 12:49:26,061 WARN [org.apereo.cas.util.cipher.BaseBinaryCipherExecutor] - <Generated encryption key [Gupm0Y8TUwM6y2IAChRqww] of size [16]. The generated key MUST be added to CAS settings under setting [cas.webflow.crypto.encryption.key].>
2018-04-01 12:49:26,227 ERROR [org.apache.catalina.core.StandardService] - <Failed to start connector [Connector[HTTP/1.1-8443]]>
org.apache.catalina.LifecycleException: Failed to start component [Connector[HTTP/1.1-8443]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.StandardService.addConnector(StandardService.java:225) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedConnectors(TomcatEmbeddedServletContainer.java:250) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:193) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:297) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:145) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546) ~[spring-context-4.3.14.RELEASE.jar!/:4.3.14.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.apereo.cas.web.CasWebApplication.main(CasWebApplication.java:73) ~[cas-server-webapp-init-5.2.3.jar!/:5.2.3]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:531) ~[?:?]
    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) ~[cas.war:?]
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) ~[cas.war:?]
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) ~[cas.war:?]
    at org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:59) ~[cas.war:?]
Caused by: org.apache.catalina.LifecycleException: Protocol handler start failed
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1021) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    ... 20 more
Caused by: java.lang.IllegalArgumentException: /etc/cas/thekeystore (No such file or directory)
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:116) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:87) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:225) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1150) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:591) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1018) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    ... 20 more
Caused by: java.io.FileNotFoundException: /etc/cas/thekeystore (No such file or directory)
    at java.io.FileInputStream.open0(Native Method) ~[?:?]
    at java.io.FileInputStream.open(FileInputStream.java:195) ~[?:?]
    at java.io.FileInputStream.<init>(FileInputStream.java:138) ~[?:?]
    at java.io.FileInputStream.<init>(FileInputStream.java:93) ~[?:?]
    at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90) ~[?:?]
    at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188) ~[?:?]
    at org.apache.tomcat.util.file.ConfigFileLoader.getInputStream(ConfigFileLoader.java:96) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.tomcat.util.net.SSLUtilBase.getStore(SSLUtilBase.java:132) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore(SSLHostConfigCertificate.java:204) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.tomcat.util.net.jsse.JSSEUtil.getKeyManagers(JSSEUtil.java:184) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:114) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:87) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:225) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1150) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:591) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1018) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    ... 20 more
2018-04-01 12:49:28,522 ERROR [org.apache.catalina.core.ContainerBase] - <A child container failed during stop>
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to stop component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[/cas]]
    at java.util.concurrent.FutureTask.report(FutureTask.java:123) ~[?:?]
    at java.util.concurrent.FutureTask.get(FutureTask.java:193) ~[?:?]
    at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:995) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:226) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1435) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1424) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1158) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:632) ~[?:?]
    at java.lang.Thread.run(Thread.java:804) [?:?]
Caused by: org.apache.catalina.LifecycleException: Failed to stop component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[/cas]]
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:238) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    ... 6 more
Caused by: org.apache.catalina.LifecycleException: Failed to stop component [WebappLoader[/cas]]
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:238) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5473) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    ... 7 more
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make member of class sun.rmi.transport.Target accessible:  module java.rmi does not export sun.rmi.transport to unnamed module @79be8f4c
    at sun.reflect.Reflection.throwInaccessibleObjectException(Reflection.java:420) ~[?:?]
    at java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:174) ~[?:?]
    at java.lang.reflect.Field.checkCanSetAccessible(Field.java:170) ~[?:?]
    at java.lang.reflect.Field.setAccessible(Field.java:164) ~[?:?]
    at org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesRmiTargets(WebappClassLoaderBase.java:2081) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.loader.WebappClassLoaderBase.clearReferences(WebappClassLoaderBase.java:1541) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.loader.WebappClassLoaderBase.stop(WebappClassLoaderBase.java:1483) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:447) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:226) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5473) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    ... 7 more
2018-04-01 12:49:28,522 ERROR [org.apache.catalina.core.ContainerBase] - <A child container failed during stop>
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to stop component [StandardEngine[Tomcat].StandardHost[localhost]]
    at java.util.concurrent.FutureTask.report(FutureTask.java:123) ~[?:?]
    at java.util.concurrent.FutureTask.get(FutureTask.java:193) ~[?:?]
    at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:995) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:226) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.StandardService.stopInternal(StandardService.java:483) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:226) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:814) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:226) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.startup.Tomcat.stop(Tomcat.java:377) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.stopTomcat(TomcatEmbeddedServletContainer.java:241) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.stopSilently(TomcatEmbeddedServletContainer.java:229) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:204) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:297) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:145) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546) ~[spring-context-4.3.14.RELEASE.jar!/:4.3.14.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.apereo.cas.web.CasWebApplication.main(CasWebApplication.java:73) ~[cas-server-webapp-init-5.2.3.jar!/:5.2.3]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:531) ~[?:?]
    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) ~[cas.war:?]
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) ~[cas.war:?]
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) ~[cas.war:?]
    at org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:59) ~[cas.war:?]
Caused by: org.apache.catalina.LifecycleException: Failed to stop component [StandardEngine[Tomcat].StandardHost[localhost]]
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:238) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1435) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1424) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1158) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:632) ~[?:?]
    at java.lang.Thread.run(Thread.java:804) [?:?]
Caused by: org.apache.catalina.LifecycleException: A child container failed during stop
    at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:1003) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:226) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1435) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1424) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1158) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:632) ~[?:?]
    at java.lang.Thread.run(Thread.java:804) ~[?:?]
2018-04-01 12:49:29,519 ERROR [org.apache.catalina.core.ContainerBase] - <ContainerBase.removeChild: destroy: >
org.apache.catalina.LifecycleException: Failed to destroy component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[/cas]]
    at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:303) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:854) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.ContainerBase.destroyInternal(ContainerBase.java:1036) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:854) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.ContainerBase.destroyInternal(ContainerBase.java:1036) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:585) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:883) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.startup.Tomcat.destroy(Tomcat.java:389) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.stop(TomcatEmbeddedServletContainer.java:296) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.stopAndReleaseEmbeddedServletContainer(EmbeddedWebApplicationContext.java:306) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:125) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134) ~[spring-boot-1.5.8.RELEASE.jar!/:1.5.8.RELEASE]
    at org.apereo.cas.web.CasWebApplication.main(CasWebApplication.java:73) ~[cas-server-webapp-init-5.2.3.jar!/:5.2.3]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:531) ~[?:?]
    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) ~[cas.war:?]
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) ~[cas.war:?]
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) ~[cas.war:?]
    at org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:59) ~[cas.war:?]
Caused by: org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_destroy]) for component [org.apache.catalina.webresources.StandardRoot@494de3b4] in state [STARTED]
    at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:402) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:292) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.core.StandardContext.destroyInternal(StandardContext.java:5555) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:297) ~[tomcat-embed-core-8.5.28.jar!/:8.5.28]
    ... 27 more
2018-04-01 12:49:29,530 ERROR [org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter] - <

***************************
APPLICATION FAILED TO START
***************************

Description:

The Tomcat connector configured to listen on port 8443 failed to start. The port may already be in use or the connector may be misconfigured.

Action:

Verify the connector's configuration, identify and stop any process that's listening on port 8443, or configure this application to listen on another port.
>


Looking at `netstat -ntlp` there is currently nothing bound to port 8443.

But this leaves me with the following questions about the gradle template specifically:

1. How do I configure the template not to log to `/etc/cas/logs`, editing `<project-root>/etc/cas/config/log4j2.xml` as described in the original post unfortunately had no effect, and that is the only place where `git grep "/etc/cas/logs"` found any match.
2. Are there other configuration options in the template that refer to the root of the file system rather than the root of the project folder?

In `build.sh` I found a subcommand gencert which brought me forward:

$ sudo ./build.sh run

BUILD SUCCESSFUL
in 8s
4 actionable tasks: 4 executed

   __   ____      _      ____   __  
 
/ /  / ___|    / \    / ___|  \ \
 
| |  | |       / _ \   \___ \   | |
 | |  | |___   /
___ \   ___) |  | |
 
| |   \____| /_/   \_\ |____/   | |
 
\_\                           /_/

CAS
Version: 5.2.3
CAS
Commit Id: 14850a4ef16ef32ce6390f62fda566fdb8fa3948
CAS
Build Date/Time: 2018-04-01T19:53:28Z
Spring Boot Version: 1.5.8.RELEASE
------------------------------------------------------------
Java Home: /usr/lib/jvm/java-9-openjdk-amd64
Java Vendor: Oracle Corporation
Java Version: 9-internal
JVM
Free Memory: 499 MB
JVM
Maximum Memory: 3 GB
JVM
Total Memory: 590 MB
JCE
Installed: Yes
------------------------------------------------------------
OS
Architecture: amd64
OS
Name: Linux
OS
Version: 4.13.0-37-generic
OS
Date/Time: 2018-04-01T21:53:34.027757
OS
Temp Directory: /tmp
------------------------------------------------------------
Apache Tomcat Version: Apache Tomcat/
8.5.28
------------------------------------------------------------


2018-04-01 21:53:34,101 INFO [org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] - <Configuration directory [/etc/cas/config] is not a directory or cannot be found at the specific path>
2018-04-01 21:53:34,108 INFO [org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] - <Found and loaded [0] setting(s) from [/etc/cas/config]>
2018-04-01 21:53:34,110 INFO [org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration] - <Located property source: PropertiesPropertySource {name='standaloneCasConfigService'}>
2018-04-01 21:53:34,120 INFO [org.apereo.cas.web.CasWebApplication] - <The following profiles are active: standalone>
2018-04-01 21:53:34,169 INFO [org.apereo.cas.web.CasWebApplicationContext] - <Refreshing CasWebApplicationContext>
2018-04-01 21:53:37,150 WARN [org.apereo.cas.config.CasCoreTicketsConfiguration] - <Runtime memory is used as the persistence storage for retrieving and managing tickets. Tickets that are issued during runtime will be LOST upon container restarts. This MAY impact SSO functionality.>
2018-04-01 21:53:37,152 INFO [org.apereo.cas.configuration.support.Beans] - <Ticket registry encryption/signing is turned off. This MAY NOT be safe in a clustered production environment. Consider using other choices to handle encryption, signing and verification of ticket registry tickets, and verify the chosen ticket registry does support this behavior.>
2018-04-01 21:53:52,673 WARN [org.apereo.cas.config.support.authentication.AcceptUsersAuthenticationEventExecutionPlanConfiguration] - <>
2018-04-01 21:53:52,681 WARN [org.apereo.cas.config.support.authentication.AcceptUsersAuthenticationEventExecutionPlanConfiguration] - <

  ____    _____    ___    ____    _
 
/ ___|  |_   _|  / _ \  |  _ \  | |
 \___ \    | |   | | | | | |_) | | |
  ___) |   | |   | |_| | |  __/
 |_|
 
|____/    |_|    \___/  |_|     (_)
                                   

CAS
is configured to accept a static list of credentials for authentication. While this is generally useful for demo purposes, it is STRONGLY recommended that you DISABLE this authentication method (by setting 'cas.authn.accept.users' to a blank value) and switch to a mode that is more suitable for production.>
2018-04-01 21:53:52,682 WARN [org.apereo.cas.config.support.authentication.AcceptUsersAuthenticationEventExecutionPlanConfiguration] - <>
2018-04-01 21:54:00,039 INFO [org.apereo.cas.config.CasConfigurationSupportUtilitiesConfiguration] - <CAS is configured to NOT watch configuration directory [/etc/cas/config]. Changes require manual reloads/restarts.>
2018-04-01 21:54:05,868 INFO [org.apereo.cas.support.events.listener.CasConfigurationEventListener] - <Refreshing CAS configuration. Stand by...>
2018-04-01 21:54:06,440 WARN [org.apereo.cas.config.CasCoreServicesConfiguration] - <Runtime memory is used as the persistence storage for retrieving and persisting service definitions. Changes that are made to service definitions during runtime WILL be LOST upon container restarts. Ideally for production, you need to choose a storage option (JDBC, etc) to store and track service definitions.>
2018-04-01 21:54:06,468 INFO [org.apereo.cas.services.AbstractServicesManager] - <Loaded [0] service(s) from [InMemoryServiceRegistry].>
2018-04-01 21:54:06,677 INFO [org.apereo.cas.services.ServiceRegistryInitializer] - <The service registry database backed by [InMemoryServiceRegistry] will not be initialized from JSON services. If the service registry database ends up empty, CAS will refuse to authenticate services until service definitions are added to the registry. To auto-initialize the service registry, set 'cas.serviceRegistry.initFromJson=true' in your CAS settings.>
2018-04-01 21:54:06,906 WARN [org.apereo.cas.util.cipher.BaseStringCipherExecutor] - <Secret key for encryption is not defined for [Ticket-granting Cookie]; CAS will attempt to auto-generate the encryption key>
2018-04-01 21:54:06,914 WARN [org.apereo.cas.util.cipher.BaseStringCipherExecutor] - <Generated encryption key [iuxnAI3FM45118Lh6mNxzXnEORmKu2ZFJfaMdByO1EE] of size [256] for [Ticket-granting Cookie]. The generated key MUST be added to CAS settings under setting [cas.tgc.crypto.encryption.key].>
2018-04-01 21:54:06,917 WARN [org.apereo.cas.util.cipher.BaseStringCipherExecutor] - <Secret key for signing is not defined for [Ticket-granting Cookie]. CAS will attempt to auto-generate the signing key>
2018-04-01 21:54:06,918 WARN [org.apereo.cas.util.cipher.BaseStringCipherExecutor] - <Generated signing key [vNWyqbVLNbQ0te-E3PkvrOBzfwLm1VAjrll2fyXa8oo0X9DVHfso9yusnRyuHMzqbx78OV652V7wPwjYhRlHlA] of size [512] for [Ticket-granting Cookie]. The generated key MUST be added to CAS settings under setting [cas.tgc.crypto.signing.key].>
2018-04-01 21:54:07,313 WARN [org.apereo.cas.util.cipher.BaseBinaryCipherExecutor] - <Secret key for signing is not defined under [cas.webflow.crypto.signing.key]. CAS will attempt to auto-generate the signing key>
2018-04-01 21:54:07,313 WARN [org.apereo.cas.util.cipher.BaseBinaryCipherExecutor] - <Generated signing key [3iySwUi3hRb2_FTyRlJp3Ih6oHyXhzqjyObOGLm_n4I8_YImy5Y154bbhdPLs0DlM0CY4ePmSY_mzMz__RxxvA] of size [512]. The generated key MUST be added to CAS settings under setting [cas.webflow.crypto.signing.key].>
2018-04-01 21:54:07,313 WARN [org.apereo.cas.util.cipher.BaseBinaryCipherExecutor] - <Secret key for encryption is not defined under [cas.webflow.crypto.encryption.key]. CAS will attempt to auto-generate the encryption key>
2018-04-01 21:54:07,319 WARN [org.apereo.cas.util.cipher.BaseBinaryCipherExecutor] - <Generated encryption key [dDMlUcqHJe29oEdm5yWcGg] of size [16]. The generated key MUST be added to CAS settings under setting [cas.webflow.crypto.encryption.key].>
2018-04-01 21:54:07,624 INFO [org.apereo.cas.support.events.listener.DefaultCasEventListener] - <>
2018-04-01 21:54:07,628 INFO [org.apereo.cas.support.events.listener.DefaultCasEventListener] - <

  ____    _____      _      ____   __   __
 
|  _ \  | ____|    / \    |  _ \  \ \ / /
 
| |_) | |  _|     / _ \   | | | |  \ V /
 
|  _ <  | |___   / ___ \  | |_| |   | |  
 
|_| \_\ |_____| /_/   \_\ |____/    |_|  
                                         
>
2018-04-01 21:54:07,628 INFO [org.apereo.cas.support.events.listener.DefaultCasEventListener] - <>
2018-04-01 21:54:07,628 INFO [org.apereo.cas.support.events.listener.DefaultCasEventListener] - <Ready to process requests @ [2018-04-01T19:54:07.623Z]>
2018-04-01 21:54:07,630 INFO [org.apereo.cas.web.CasWebApplication] - <Started CasWebApplication in 35.948 seconds (JVM running for 38.745)>
2018-04-01 21:54:13,247 ERROR [com.codahale.metrics.ScheduledReporter] - <Exception thrown from Slf4jReporter#report. Exception was suppressed.>
java
.lang.reflect.InaccessibleObjectException: Unable to make member of class com.sun.management.internal.OperatingSystemImpl accessible:  module jdk.management does not export com.sun.management.internal to unnamed module @6d3ed59
    at sun
.reflect.Reflection.throwInaccessibleObjectException(Reflection.java:420) ~[?:?]
    at java
.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:174) ~[?:?]
    at java
.lang.reflect.Method.checkCanSetAccessible(Method.java:189) ~[?:?]
    at java
.lang.reflect.Method.setAccessible(Method.java:183) ~[?:?]
    at com
.codahale.metrics.jvm.FileDescriptorRatioGauge.invoke(FileDescriptorRatioGauge.java:48) ~[metrics-jvm-3.2.5.jar!/:3.2.5]
    at com
.codahale.metrics.jvm.FileDescriptorRatioGauge.getRatio(FileDescriptorRatioGauge.java:35) ~[metrics-jvm-3.2.5.jar!/:3.2.5]
    at com
.codahale.metrics.RatioGauge.getValue(RatioGauge.java:64) ~[metrics-core-3.2.5.jar!/:3.2.5]
    at com
.codahale.metrics.RatioGauge.getValue(RatioGauge.java:11) ~[metrics-core-3.2.5.jar!/:3.2.5]
    at com
.codahale.metrics.Slf4jReporter.logGauge(Slf4jReporter.java:306) ~[metrics-core-3.2.5.jar!/:3.2.5]
    at com
.codahale.metrics.Slf4jReporter.report(Slf4jReporter.java:220) ~[metrics-core-3.2.5.jar!/:3.2.5]
    at com
.codahale.metrics.ScheduledReporter.report(ScheduledReporter.java:235) ~[metrics-core-3.2.5.jar!/:3.2.5]
    at com
.codahale.metrics.ScheduledReporter$1.run(ScheduledReporter.java:174) ~[metrics-core-3.2.5.jar!/:3.2.5]
    at java
.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514) ~[?:?]
    at java
.util.concurrent.FutureTask.runAndReset(FutureTask.java:307) ~[?:?]
    at java
.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:300) ~[?:?]
    at java
.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1158) ~[?:?]
    at java
.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:632) ~[?:?]
    at java
.lang.Thread.run(Thread.java:804) [?:?]

The solution to this issue was to go back from Java 9 to Java 8, on Ubuntu this is done by running, assuming you have both installed:

$ sudo update-alternatives --config java

With that done the gradle template was able to start. Now visiting `http://localhost:8443/cas` will return:

Bad Request
This combination of host and port requires TLS.

So slowly we are inching closer.
 

Rovanion Luckey

unread,
Apr 1, 2018, 4:27:19 PM4/1/18
to CAS Community
And switching over to https got that rolling. So remaining are my two questions:

1. How do I configure the template not to log to `/etc/cas/logs`?
  Editing `<project-root>/etc/cas/config/log4j2.xml` as described in the original post unfortunately had no effect, and that is the only place where `git grep "/etc/cas/logs"` found any match.

Man H

unread,
Apr 1, 2018, 5:52:55 PM4/1/18
to cas-...@apereo.org
Default is /etc/cas/config/cas.properties which should be copied by script.
--
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cas-user+unsubscribe@apereo.org.
To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/66045f9b-2cc9-4665-ac28-25d7a4497d7e%40apereo.org.

Rovanion Luckey

unread,
Apr 2, 2018, 3:15:39 AM4/2/18
to cas-...@apereo.org
1. How do I configure the template not to log to `/etc/cas/logs`, editing `<project-root>/etc/cas/config/log4j2.xml` as described in the original post unfortunately had no effect, and that is the only place where `git grep "/etc/cas/logs"` found any match.
2. Are there other configuration options in the template that refer to the root of the file system rather than the root of the project folder?
3. Where can I find documentation related to this latest issue of Catalina failing to start a connector? Is it related to the earlier warnings about keys?

--
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cas-user+unsubscribe@apereo.org.
Reply all
Reply to author
Forward
0 new messages