How can I run ScrumWorks Pro behind Apache (on port 80)?

2 people have
this question
+1
Reply

  • This configuration can be facilitated using the open source "mod_jk" Apache connector module:
    http://tomcat.apache.org/download-con...

    Mod_jk places access to JBoss (ScrumWorks Pro's server platform) behind Apache 2. This configuration makes ScrumWorks Pro accessible on port 80. The Apache2/mod_jk configuration is not officially supported by the ScrumWorks Pro support contract, but it's a well documented configuration. For example, see the JBoss wiki on this topic:
    http://www.jboss.org/wiki/Wiki.jsp?pa...
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned happy, confident, thankful, excited sad, anxious, confused, frustrated

  • bdavies
    sad
    There is key insider information missing.

    What is either the code for httpd.conf OR the appropriate line for JkAutoAlias in the mod-jk.conf file? That is the bit missing from the generic documentation and I am tired of guessing.

    I think I followed the documentation enough to modify httpd.conf then create and modify mod-jk.conf, workers.properties and uriworkermap.properties. But the super squirrel secret alludes us.

    Using ScrumWorks Basic 1.8.3 Windows, Apache 2.2.8 with SSL

    Interested in the secret answer for moving ScrumWorksPro to port 80 as well.
    • Hi bdavies,

      I don't have the answer in support, we don't have a lot of information about this topic, as mentioned above it is unsupported. This was originally just put up as a topic because we had the information and thought it might be useful to some of our customers.

      That said, I might be able to get you some updated information on running Pro behind Apache, I am discussing it right now. Hopefully I will be able to get an update for this soon.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned happy, confident, thankful, excited sad, anxious, confused, frustrated

  • bdavies
    happy
    While this is for a different product the concept is exactly the same for ScrumWorks

    http://confluence.atlassian.com/displ...

    Mod_proxy essentially terminates the connection at Apache then proxies to the localhost:8080/scrumworks.

    My config changes (working server with SSL enabled already)

    httpd.conf - uncommented these..
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so

    httpd-vhosts.conf - within the default virtual host definition

    ProxyPass /scrumworks http://localhost:8080/scrumworks
    ProxyPassReverse /scrumworks http://localhost:8080/scrumworks

    httpd-ssl.conf - within the default virtual host definition

    ProxyPass /scrumworks http://localhost:8080/scrumworks
    ProxyPassReverse /scrumworks http://localhost:8080/scrumworks

    I had a mod_rewrite section already set in httpd-vhosts.conf for the ssl to redirect so that no traffic actually stays on http.
    # This is to redirect to SSL placed inside the VirtualHost definition for the site.
    # also enable mod_rewrite.
    RewriteEngine on
    Options +FollowSymlinks
    RewriteCond %{REQUEST_URI} !/nossl/
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

    Now I point my users to myserver.mydomain.com/scrumworks and the magically end up at https://myserver.mydomain.com/scrumworks
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned happy, confident, thankful, excited sad, anxious, confused, frustrated

  • bdavies
    sad Assets
    Despite my excitement, the proxy solution only completely works with localhost. When tested with remote users they get the ScrumWorks Basic Login page that lets them select the Java interface or web interface. The web interface works but the Java fails (before the login prompt).

    Details of the error message suggests that they user is looking for localhost:8080/
    and can not find it.

    Going back to the suggestion to use mod_jk leaves me guessing at configuration lines. What are the appropriate entries? ScrumWorks 'lives' at C:\1programs\ScrumWorks (this directory contains _jre, apiclient, bin, client, lib, server, etc)

    In httpd.conf
    Include /conf/mod-jk.conf

    In mod-jk.comf
    LoadModule jk_module modules/mod_jk.so
    JkWorkersFile conf/workers.properties
    JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
    JkAutoAlias /1programs/ScrumWorks/server/scrumworks
    JkMount /scrumworks/* loadbalancer
    JkUnMount /scrumworks/images/* loadbalancer
    JkMountFile conf/uriworkermap.properties

    in workers.properties
    changed host line to my fully qualified domain name

    In uriworkermap.properties added
    /scrumworks/*=loadbalancer

    Officially supported or not I will have to get this to work or move on to a different tool for our geographically disbursed Scrum Teams.
    • Hi Bdavies,

      Unfortunately I don't have the resources to get you an answer. I am speaking with some of our internal teams who I understand are working on setting something up like this internally, I hope to get a description of how they complete this when they are done. I don't have any sort of timeline on when and if I might get that information. If I do receive it I will put it up here.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned happy, confident, thankful, excited sad, anxious, confused, frustrated

  • This information applies to ScrumWorks Pro, hopefully it will also apply to Basic. If nothing else it should prove useful for the Pro users:

    The new module is named proxy_ajp. You will need to have this installed and enabled ('a2enmod proxy_ajp').

    You will need to edit /etc/httpd/conf.d/proxy_ajp.conf (RedHat) and add the following lines:

    ProxyPass /scrumworks ajp://localhost:8009/scrumworks ProxyPass /swjars ajp://localhost:8009/swjars

    Then restart Apache.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned happy, confident, thankful, excited sad, anxious, confused, frustrated

  • Michael Jastram
    Hi Caleb,

    Your solution didn't work - at least not for me. I don't quite understand how a ProxyPass directive can even work without taking care of the reverse direction as well (via ProxyPassReverse). Also, if I am not mistaken, mod-jk should be the superior solution and is recommended by Apache for Appserver-Proxies.

    Please let us know if there is a solution - not being able to run Scrumworks without being able to proxy it is a showstopper.

    - Michael Jastram
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned happy, confident, thankful, excited sad, anxious, confused, frustrated

  • Hi Michael,

    Unfortunately I just don't have anything more for you on this topic, at least until we can officially support Proxies. Everything I have on the topic is in this thread, basically just the workarounds that have been found for the issue.

    The only thing left that I can suggest is that you weigh in on the Proxy Idea here: http://community.danube.com/danube/to...
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned happy, confident, thankful, excited sad, anxious, confused, frustrated

  • txag1995
    We just Scrumworks Pro web and Java clients working behind an Nginx reverse proxy. Here's our config:


    # redirect http to https
    server {
    listen my.ext.ip.addr:80;
    rewrite ^(.*) https://$host$1 permanent;
    rewrite ^/ https://$host/scrumworks/ permanent;
    }

    # primary server - proxypass to ftscrum.ft.corp.local
    server {

    listen my.ext.ip.addr:443;
    ssl on;
    ssl_certificate /etc/nginx/ssl/my_certificate.crt;
    ssl_certificate_key /etc/nginx/ssl/my_certificate.key;

    server_name my.external.host;

    access_log off;
    error_log off;

    # proxy to Apache 2 and mod_python
    location / {
    proxy_pass http://my.internal.host:8080/;
    proxy_redirect http://my.internal.host:8080/ https://my.external.host/;

    sub_filter "http://my.internal.host:8080/" "https://my.external.host/";
    sub_filter_types application/x-java-jnlp-file

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_max_temp_file_size 0;

    client_max_body_size 10m;
    client_body_buffer_size 128k;

    proxy_connect_timeout 90;
    proxy_send_timeout 90;
    proxy_read_timeout 90;

    proxy_buffer_size 4k;
    proxy_buffers 4 32k;
    proxy_busy_buffers_size 64k;
    proxy_temp_file_write_size 64k;
    }
    }

  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned happy, confident, thankful, excited sad, anxious, confused, frustrated

  • danubefan
    txag1995 what version of nginx did you get this to work on?

    thanks
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned happy, confident, thankful, excited sad, anxious, confused, frustrated

  • danubefan
    This is what i used for my apache2 setup on debian with the following modules enabled: rewrite, ssl, proxy_http,proxy_ajp,rewrite

    ServerName scrum.example.com:443
    DirectoryIndex index.html index.php

    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:-SSLv2:+EXP:+eNULL
    SSLCertificateFile /etc/ssl/server.crt
    SSLCertificateKeyFile /etc/ssl/server.key

    SSLProxyEngine on

    RewriteEngine On
    RewriteRule ^/$ /scrumworks [L,R]

    Order deny,allow
    Allow from all

    # proxy_ajp stuff
    ProxyPass /scrumworks ajp://localhost:8009/scrumworks
    ProxyPass /swjars ajp://localhost:8009/swjars
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. kidding, amused, unsure, silly indifferent, undecided, unconcerned happy, confident, thankful, excited sad, anxious, confused, frustrated