[IPT] How to configure IPT with Apache mod_proxy?

janno jõgeva janno at ut.ee
Mon May 2 17:27:12 CEST 2011


Hi,

Well I guess in that case my problem is that the app is not registered
to /ipt/ but to / I did a build with maven:
mvn -P release package
As suggested in BUILD_STANDALONE.TXT
I am starting the app with the right port as the argument but I do not
know how to give the path as an argument.
Should I look into source for that?
I did look into web.xml but that didn't give too much info either.

Best,
Janno


2011/5/2 Oliver Meyn (GBIF) <omeyn at gbif.org>:
> Hi Janno,
>
> Sorry, my mistake for not reading your email closely enough.  Using a tomcat configured like your jetty (listening on 8080 with an app registered on the path /ipt/)
> my apache is configured like so, and admin functions work for me (so the url in my case is http://www.domain.com/ipt ):
>
>        ProxyPreserveHost On
>        ProxyPass /ipt http://localhost:8080/ipt
>        ProxyPassReverse /ipt http://localhost:8080/ipt
>
> Because the /ipt path is the same for apache and tomcat, in this case you don't need the reversecookiepath directive.  Let's see if that helps.
>
> Cheers,
> Oliver
>
> On 2011-05-02, at 3:47 PM, janno jõgeva wrote:
>
>> Hi Oliver,
>>
>> Well tried again - I have read these instructions a while back - they
>> seam to be same as before (Updated Jan 30, 2011 by
>> timrober... at gmail.com).
>>
>> This set-up gets me to a state where shown on a picture in attachment.
>> I can log in to the system but graphical elements are not loaded.
>>
>> If I have not understood something wrong then the configuration
>> suggested on the wiki page is going to forward all requests from / to
>> http://localhost:8080/ipt/
>> That doesn't sound right.
>> I have also looked into several jetty examples like this one here:
>> http://docs.codehaus.org/display/JETTY/Configuring+mod_proxy
>>
>> So why is ProxyPassReverse / http://localhost:8080/ipt/ needed in the
>> case of IPT?
>>
>> My needed set-up should only forward requests from sitename.ee/ipt/ to
>> the IPT located on port 8080.
>> Other requests should be handled by Apache.
>>
>> Best,
>> Janno
>>
>>
>>
>> 2011/5/2 Oliver Meyn (GBIF) <omeyn at gbif.org>:
>>> Hi Janno,
>>>
>>> We successfully setup an ipt in the way you suggest, and wrote it up on a wiki page.  Please have a look at http://code.google.com/p/gbif-providertoolkit/wiki/IPTServerPreparation, right at the bottom.  Important settings copied here:
>>>
>>> ProxyPreserveHost On
>>> ProxyPass / http://localhost:8080/ipt/
>>> ProxyPassReverse / http://localhost:8080/ipt/
>>> ProxyPassReverseCookiePath /ipt /
>>>
>>> Please try those settings and report back.  If that doesn't work we'll help you figure it out.
>>>
>>> Thanks,
>>> Oliver
>>>
>>> On 2011-05-02, at 2:37 PM, janno jõgeva wrote:
>>>
>>>> Hello!
>>>>
>>>> I managed to find on line in the httpd.conf that is no needed.
>>>> ProxyPassReverse /ipt/ http://localhost:8080/
>>>> As I already have ProxyPreserveHost On.
>>>>
>>>> But that didn't solve my problem.
>>>> I did change the ipt.baseURL as you said. But that gets me to a point
>>>> where some of the page contents are loaded and some are not. (I do
>>>> have a login field and text fields but no graphical elements are
>>>> loaded (logos etc.) ).
>>>>
>>>> I'll try to give my situation:
>>>> I have a web server running Apache2 behind a firewall that has port 80
>>>> open and Apache2 using it. I would like to get IPT up an running so I
>>>> decided to use jetty to run the app on port 8080 and mod_proxy to
>>>> direct requests from Apache to IPT. I start IPT with:
>>>> /usr/bin/java $JAVA_OPTS -classpath
>>>> /opt/ipt/webapp/WEB-INF/classes/:/opt/ipt/webapp/WEB-INF/lib/*
>>>> org.gbif.ipt.Server 8080
>>>>
>>>> It is given as an argument to a function that makes it a service. With
>>>> appropriate PID output dirs etc.
>>>>
>>>> So it starts. I navigate to the site in a machine on the address. Log
>>>> in to the system. Everything seams fine.
>>>> I can see my unpublished dataset users etc.
>>>> But when I for example want to change the role of a user it tries to
>>>> send its request to address sitename.ee/ not to sitename.ee/ipt/ as
>>>> usually.
>>>>
>>>> The problem only seams to occur when IPT is trying to access
>>>> ...admin/config.do or ...admin/user.do.
>>>> When I inject ipt/admin/config.do instead of admin/config.do
>>>> to the save button action(in the loaded page) then the changes are
>>>> actually saved to the IPT user configuration - in this case the role
>>>> of the user changes.
>>>>
>>>> As I understand ipt.baseURL should be publicly accessible and should
>>>> point to the installation in my server. As requests have to pass
>>>> firewall I should point them to  sitename.ee/ipt not to sitename.ee as
>>>> there is content served by Apache not by IPT.
>>>>
>>>> I am quite new to mod_proxy as well, but as it seams be the way to go
>>>> I started using it.
>>>>
>>>> Probably I am just going the wrong way.
>>>>
>>>> Best,
>>>> Janno Jõgeva
>>>> University of Tartu
>>>> Natural History Museum
>>>>
>>>>
>>>>
>>>> 2011/5/1 Tim Robertson (GBIF) <trobertson at gbif.org>:
>>>>> Dear Janno,
>>>>>
>>>>> Welcome to the list.
>>>>> To my knowledge you are the first that is using mod_proxy and also using
>>>>> Jetty - I have only used modjk to bind tomcat to apache and jetty during
>>>>> development.
>>>>>
>>>>> You should not need to change any property files - those are internal and
>>>>> controlled by the app itself - but your point on the property file
>>>>> commentary is quite correct.
>>>>>
>>>>> Because you have changed the addressable URL, the IPT needs to know of it's
>>>>> new address.  You can change this in the admin section (top option), or if
>>>>> you prefer, change the
>>>>>
>>>>>> ipt.baseURL=http\://sitename.domain/ipt/
>>>>>
>>>>> to
>>>>>
>>>>>> ipt.baseURL=http\://sitename.domain
>>>>>
>>>>> and restart.
>>>>>
>>>>> If you have registered any resources with GBIF then afterwards you need to
>>>>> go into the admin section and hit the "update metadata" button to change all
>>>>> resource URLs in the GBIF registry.
>>>>>
>>>>> I hope this helps and sorts your issues,
>>>>> Tim
>>>>>
>>>>>
>>>>> On May 1, 2011, at 1:09 PM, janno jõgeva wrote:
>>>>>
>>>>>> Hello!
>>>>>>
>>>>>> I am quite new to this list so hello to everyone.
>>>>>> Maybe I just missed something but here is my question.
>>>>>> I am setting up an IPT node on our site. As IPT is not too much of a
>>>>>> load it could run on a server that has other tasks as well.
>>>>>> I have managed to set the IPT up and running via apache mod_proxy
>>>>>> using jetty. I have daemonized it to a service on port 8080.
>>>>>>
>>>>>> The version I am using is ipt-2.0.2-SNAPSHOT-r3084.
>>>>>>
>>>>>> My ipt.properties is as follows:
>>>>>> analytics.key=
>>>>>> debug=false
>>>>>> proxy=
>>>>>> ipt.baseURL=http\://sitename.domain/ipt/
>>>>>> analytics.gbif=true
>>>>>> defaultLocale=en
>>>>>> and apache configured as:
>>>>>> ...
>>>>>> ProxyPass /ipt/ http://localhost:8080/
>>>>>> ProxyPassReverse /ipt/ http://localhost:8080/
>>>>>> ProxyPassReverseCookiePath /ipt /
>>>>>> ProxyPreserveHost On
>>>>>> ...
>>>>>> Alias   /ipt                        "/opt/ipt/webapp"
>>>>>> <Directory                              "/opt/ipt/webapp">
>>>>>> ...
>>>>>> My problem - the IPT runs fine - I can make changes for example in
>>>>>> source data SQL configuration part. but whenever the application(IPT)
>>>>>> has to call sitename.domain/ipt/admin/user.do
>>>>>> it calls sitename.domain/admin/user.do instead and understandably fails.
>>>>>> My question - is there a good documentation source for the
>>>>>> ipt.properties file? If not then could you tell me what is the "proxy"
>>>>>> configuration parameter for?
>>>>>>
>>>>>> Hope that the explanation is detailed enough.
>>>>>>
>>>>>> PS.
>>>>>> IMHO a configuration file should have documentation for each and every
>>>>>> parameter written inside the file. It would help a lot.
>>>>>>
>>>>>> Best wishes,
>>>>>> Janno Jõgeva
>>>>>> University of Tartu
>>>>>> Natural History Museum
>>>>>> _______________________________________________
>>>>>> IPT mailing list
>>>>>> IPT at lists.gbif.org
>>>>>> http://lists.gbif.org/mailman/listinfo/ipt
>>>>>>
>>>>>
>>>>>
>>>> _______________________________________________
>>>> IPT mailing list
>>>> IPT at lists.gbif.org
>>>> http://lists.gbif.org/mailman/listinfo/ipt
>>>>
>>>
>>>
>>> --
>>> Oliver Meyn
>>> Software Developer
>>> Global Biodiversity Information Facility (GBIF)
>>> +45 35 32 15 12
>>> http://www.gbif.org
>>>
>>> _______________________________________________
>>> IPT mailing list
>>> IPT at lists.gbif.org
>>> http://lists.gbif.org/mailman/listinfo/ipt
>>>
>> <IPT_mod_proxy.JPG>_______________________________________________
>> IPT mailing list
>> IPT at lists.gbif.org
>> http://lists.gbif.org/mailman/listinfo/ipt
>
>
> --
> Oliver Meyn
> Software Developer
> Global Biodiversity Information Facility (GBIF)
> +45 35 32 15 12
> http://www.gbif.org
>
> _______________________________________________
> IPT mailing list
> IPT at lists.gbif.org
> http://lists.gbif.org/mailman/listinfo/ipt
>


More information about the IPT mailing list