[CipherMail User] Web interface not working

James, Todd R. trj at h2law.com
Wed Dec 26 19:30:56 CET 2018


We recently upgraded Ciphermail from a 3.x version (cannot recall which version) to 4.1.3. Since doing so, we're getting Tomcat 404 errors at https://server.fqdn:8443/ciphermail/. I'm looking for some help troubleshooting this if anyone has some insight.

The server is running Ubuntu Server 16.04, we're using the deb packages from the website, and using Tomcat 7. This server has nothing else installed on it and the OS is fully up to date.

catalina.out says that /usr/share/djigzo-web/conf/spring/spring.properties.d is not a directory, but it is. Here's catalina.out after a restart of tomcat and an ls of /usr/share/djigzo-web/conf/spring/spring.properties.d:

root at ciphermail:/var/log/tomcat7# cat catalina.out
Dec 26, 2018 12:50:55 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8443"]
Dec 26, 2018 12:50:55 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Dec 26, 2018 12:50:56 PM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8443"]
Dec 26, 2018 12:50:56 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8443"]
Dec 26, 2018 12:50:56 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common/classes], exists: [false], isDirectory: [false], canRead: [false]
Dec 26, 2018 12:50:56 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/common], exists: [false], isDirectory: [false], canRead: [false]
Dec 26, 2018 12:50:56 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server/classes], exists: [false], isDirectory: [false], canRead: [false]
Dec 26, 2018 12:50:56 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/server], exists: [false], isDirectory: [false], canRead: [false]
Dec 26, 2018 12:50:56 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared/classes], exists: [false], isDirectory: [false], canRead: [false]
Dec 26, 2018 12:50:56 PM org.apache.catalina.startup.ClassLoaderFactory validateFile
WARNING: Problem with directory [/usr/share/tomcat7/shared], exists: [false], isDirectory: [false], canRead: [false]
Dec 26, 2018 12:50:57 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8443"]
Dec 26, 2018 12:50:58 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1005 ms
Dec 26, 2018 12:50:58 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Dec 26, 2018 12:50:58 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.68 (Ubuntu)
Dec 26, 2018 12:50:58 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor /etc/tomcat7/Catalina/localhost/ciphermail.xml
Dec 26, 2018 12:51:07 PM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
[26 Dec 2018 12:51:08 localhost-startStop-1] INFO  Root WebApplicationContext: initialization started    (org.springframework.web.context.ContextLoader)
[26 Dec 2018 12:51:08 localhost-startStop-1] INFO  Refreshing Root WebApplicationContext: startup date [Wed Dec 26 12:51:08 EST 2018]; root of context hierarchy    (org.springframework.web.context.support.XmlWebApplicationContext)
[26 Dec 2018 12:51:08 localhost-startStop-1] INFO  Loading XML bean definitions from ServletContext resource [/WEB-INF/spring.xml]    (org.springframework.beans.factory.xml.XmlBeanDefinitionReader)
[26 Dec 2018 12:51:08 localhost-startStop-1] INFO  You are running with Spring Security Core 3.2.5.RELEASE    (org.springframework.security.core.SpringSecurityCoreVersion)
[26 Dec 2018 12:51:08 localhost-startStop-1] INFO  Spring Security 'config' module version is 3.2.5.RELEASE    (org.springframework.security.config.SecurityNamespaceHandler)
[26 Dec 2018 12:51:08 localhost-startStop-1] INFO  Checking sorted filter chain: [Root bean: class [org.springframework.security.web.context.SecurityContextPersistenceFilter]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = 200, Root bean: class [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = 400, <bannedAuthenticationProcessingFilter>, order = 1100, Root bean: class [org.springframework.security.web.savedrequest.RequestCacheAwareFilter]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = 1600, Root bean: class [org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = 1700, Root bean: class [org.springframework.security.web.authentication.AnonymousAuthenticationFilter]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = 2000, Root bean: class [org.springframework.security.web.session.SessionManagementFilter]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = 2100, Root bean: class [org.springframework.security.web.access.ExceptionTranslationFilter]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = 2200, <org.springframework.security.web.access.intercept.FilterSecurityInterceptor#0>, order = 2300]    (org.springframework.security.config.http.HttpSecurityBeanDefinitionParser)
[26 Dec 2018 12:51:08 localhost-startStop-1] INFO  Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory at 23d6724f: defining beans [mitm.application.djigzo.service.FilePropertyPlaceholderConfigurer#0,authenticationEntryPoint,bannedAuthenticationProcessingFilter,org.springframework.security.authentication.dao.DaoAuthenticationProvider#0,org.springframework.security.authentication.DefaultAuthenticationEventPublisher#0,org.springframework.security.authenticationManager,org.springframework.security.filterChains,org.springframework.security.filterChainProxy,org.springframework.security.web.DefaultSecurityFilterChain#0,org.springframework.security.web.DefaultSecurityFilterChain#1,org.springframework.security.web.DefaultSecurityFilterChain#2,org.springframework.security.web.DefaultSecurityFilterChain#3,org.springframework.security.web.DefaultSecurityFilterChain#4,org.springframework.security.web.DefaultSecurityFilterChain#5,org.springframework.security.web.DefaultSecurityFilterChain#6,org.springframework.security.web.DefaultSecurityFilterChain#7,org.springframework.security.web.DefaultSecurityFilterChain#8,org.springframework.security.web.PortMapperImpl#0,org.springframework.security.web.PortResolverImpl#0,org.springframework.security.config.authentication.AuthenticationManagerFactoryBean#0,org.springframework.security.authentication.ProviderManager#0,org.springframework.security.web.context.HttpSessionSecurityContextRepository#0,org.springframework.security.web.authentication.session.CompositeSessionAuthenticationStrategy#0,org.springframework.security.web.savedrequest.HttpSessionRequestCache#0,org.springframework.security.access.vote.AffirmativeBased#0,org.springframework.security.web.access.intercept.FilterSecurityInterceptor#0,org.springframework.security.web.access.DefaultWebInvocationPrivilegeEvaluator#0,org.springframework.security.authentication.AnonymousAuthenticationProvider#0,org.springframework.security.userDetailsServiceFactory,org.springframework.security.web.DefaultSecurityFilterChain#9,adminPasswordEncoder,portalPasswordEncoder,userDetailsService,authenticationEventListener,jobScheduler]; root of factory hierarchy    (org.springframework.beans.factory.support.DefaultListableBeanFactory)
[26 Dec 2018 12:51:08 localhost-startStop-1] ERROR Context initialization failed    (org.springframework.web.context.ContextLoader)
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mitm.application.djigzo.service.FilePropertyPlaceholderConfigurer#0' defined in ServletContext resource [/WEB-INF/spring.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [mitm.application.djigzo.service.FilePropertyPlaceholderConfigurer]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException:  /usr/share/djigzo-web/conf/spring/spring.properties.d is not a directory.
                at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:285)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1075)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:979)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
                at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296)
                at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
                at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
                at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
                at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:657)
                at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461)
                at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:410)
                at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
                at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
                at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5068)
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
                at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
                at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
                at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:677)
                at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1962)
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at java.lang.Thread.run(Thread.java:748)
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [mitm.application.djigzo.service.FilePropertyPlaceholderConfigurer]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException:  /usr/share/djigzo-web/conf/spring/spring.properties.d is not a directory.
                at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163)
                at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:121)
                at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:277)
                ... 26 more
Caused by: java.lang.IllegalArgumentException:  /usr/share/djigzo-web/conf/spring/spring.properties.d is not a directory.
                at mitm.application.djigzo.service.FilePropertyPlaceholderConfigurer.setDirectory(FilePropertyPlaceholderConfigurer.java:81)
                at mitm.application.djigzo.service.FilePropertyPlaceholderConfigurer.<init>(FilePropertyPlaceholderConfigurer.java:63)
                at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
                at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
                at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
                at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148)
                ... 28 more
Dec 26, 2018 12:51:08 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
Dec 26, 2018 12:51:08 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/ciphermail] startup failed due to previous errors
Dec 26, 2018 12:51:08 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deployment of configuration descriptor /etc/tomcat7/Catalina/localhost/ciphermail.xml has finished in 10,482 ms
Dec 26, 2018 12:51:08 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /var/lib/tomcat7/webapps/ROOT
Dec 26, 2018 12:51:08 PM org.apache.catalina.core.StandardContext setPath
WARNING: A context path must either be an empty string or start with a '/' and do not end with a '/'. The path [/] does not meet these criteria and has been changed to []
Dec 26, 2018 12:51:08 PM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Dec 26, 2018 12:51:08 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /var/lib/tomcat7/webapps/ROOT has finished in 273 ms
Dec 26, 2018 12:51:08 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8443"]
Dec 26, 2018 12:51:08 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 10811 ms


root at ciphermail:/var/log/tomcat7# ls -l /usr/share/djigzo-web/conf/spring/spring.properties.d
total 4
-rw-r--r-- 1 djigzo djigzo 99 Aug 13 04:23 README.txt

root at ciphermail:/var/log/tomcat7# ls -l /usr/share/djigzo-web/conf/spring
total 16
drwxr-xr-x 2 djigzo djigzo 4096 Dec 22 00:00 portal.spring.d
drwxr-xr-x 2 djigzo djigzo 4096 Dec 22 00:00 portal.spring.properties.d
drwxr-xr-x 2 djigzo djigzo 4096 Dec 22 00:00 spring.d
drwxr-xr-x 2 djigzo djigzo 4096 Dec 22 00:00 spring.properties.d




Todd R. James<mailto:trj at h2law.com>
Systems Architect

450 West Fourth Street, Royal Oak, MI 48067
E: trj at h2law.com<mailto:trj at h2law.com>
D: 248.723.0544<tel:248.723.0544>    F: 248.645.1568<tel:248.645.1568>

[cid:hh_logo_sig_f80700f2-1c72-4801-9140-230a5fc86422.png]<https://howardandhoward.com>

NOTICE: Information contained in this transmission to the named addressee is proprietary information and is subject to attorney-client privilege and work product confidentiality. If the recipient of this transmission is not the named addressee, the recipient should immediately notify the sender and destroy the information transmitted without making any copy or distribution thereof.

ELECTRONIC SIGNATURE: Nothing contained in this communication is intended to constitute an electronic signature unless a specific statement to the contrary is included in this message.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hh_logo_sig_f80700f2-1c72-4801-9140-230a5fc86422.png
Type: image/png
Size: 8277 bytes
Desc: hh_logo_sig_f80700f2-1c72-4801-9140-230a5fc86422.png
URL: <http://lists.ciphermail.com/pipermail/users/attachments/20181226/047c6fb5/attachment-0001.png>


More information about the Users mailing list