Required system property X509_USER_PROXY not set

21 views
Skip to first unread message

Alex Reynolds

unread,
Jun 13, 2017, 6:23:58 PM6/13/17
to MEME Suite Q&A
I have a Tomcat 7 server that offers its services over https. This server works and I am able to manage its services through a common application management tool, i.e.:

--------------------------------
--------------------------------

I have also installed Opal 2 (2.5). This appears to be installed correctly. I can visit:

--------------------------------
https://hostname:8443/opal2/happyaxis.jsp
--------------------------------

No errors are reported.

I am trying to install MEME 4.11.0 and I am running into issues that may be related to running an https server.

I am setting up the Makefile for MEME via the following configuration process:

--------------------------------
# ./configure --prefix="/var/www/meme/meme_4.11.0" --enable-web=https://hostname:8443/opal2/ --enable-webservice=/usr/share/tomcat/deploy --with-url="https://hostname:8443/"
--------------------------------

Then to build and install the binary tools:

--------------------------------
# make
# make test
# make install
--------------------------------

All 99 tests pass. The installation process proceeds up the etc folder, at which point the `make install` process fails, perhaps because I am installing to the same directory as the expanded tarball?

In any case, while the binaries appear to be installed, `make install` did not install the MEME war file and did not install the Tomcat components to $CATALINA_HOME/webapps. 

It seems that I also had to run the following to complete this:

--------------------------------
# ant install
--------------------------------

However, this was not documented here:

--------------------------------
--------------------------------

So I'm not sure if this is correct or expected behavior, or if I am overlooking some part of build configuration and installation?

In any case, upon restarting the Tomcat server, I am able to visit:

--------------------------------
--------------------------------

But I am unable to run any services, e.g.:

--------------------------------
--------------------------------

When I try to do so, I get the following server error:

--------------------------------
HTTP Status 500 - Required system property X509_USER_PROXY not set
--------------------------------

I am only doing server-side TLS/SSL encryption so as to protect the server, and I am not requiring user-side encryption. 

Are there additional edits or compilation options required to disable X509 user encryption?

Thanks,
Alex

Alex Reynolds

unread,
Jun 13, 2017, 6:36:26 PM6/13/17
to MEME Suite Q&A
Specifically, here is the text of the exception that is thrown:

javax.servlet.ServletException: Required system property X509_USER_PROXY not set
	au.edu.uq.imb.memesuite.servlet.util.WebUtils.getOpal(WebUtils.java:99)
	au.edu.uq.imb.memesuite.servlet.SubmitJob.init(SubmitJob.java:113)
	au.edu.uq.imb.memesuite.servlet.Meme.init(Meme.java:129)
	javax.servlet.GenericServlet.init(GenericServlet.java:158)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
	org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
	org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	java.lang.Thread.run(Thread.java:745)

CharlesEGrant

unread,
Jun 14, 2017, 4:24:24 PM6/14/17
to MEME Suite Q&A
First, version 4.11.0 is a bit old. The current version of the MEME Suite is 4.11.4. This is probably not relevant to any of the problems you ran into though.


All 99 tests pass. The installation process proceeds up the etc folder, at which point the `make install` process fails, perhaps because I am installing to the same directory as the expanded tarball?
 
Yes, installing into the expanded tarball directory is not allowed, as it could end up clobbering the source files for the documentation. You can install into a subdirectory though, say meme_4.11.0/meme or meme_4.11.0/meme_4.11.0 

It seems that I also had to run the following to complete this:
--------------------------------
# ant install
--------------------------------


'ant install' should automatically get called as the last step of 'make install', but from your description 'make install' is halting with an error when it tries to install the documentation, so it never gets to the installation of the web components. Rerun your 'configure' command with a different prefix option, then run 

make clean
make
make install

If everything is fixed, 'ant install' will be run automatically.

avax.servlet.ServletException: Required system property X509_USER_PROXY not set
au.edu.uq.imb.memesuite.servlet.util.WebUtils.getOpal(WebUtils.java:99)
au.edu.uq.imb.memesuite.servlet.SubmitJob.init(SubmitJob.java:113)
au.edu.uq.imb.memesuite.servlet.Meme.init(Meme.java:129)

We've never run or tested the MEME Suite under HTTPS. I'm afraid we won't be able to assist with this,  though we'll look at for some future release. The error is occurring when the servlet that manages MEME submissions is trying to set up communications with the Opal servlet to schedule the MEME job for execution. In this case the server is both the "user" and "server", which may be a complicating factor.
Reply all
Reply to author
Forward
0 new messages