The problem
- You want to setup Scarab in your company.
- You want Scarab to be accessible from the internet
throug your company firewall.
- The only open port to the internet is port 80,
and this port occuppied by your company webserver
The solution (for unix/linux based servers)
1.) Add a "webspace" to your company webserver.
for apache the simplest way is as follows:
Add following two lines to your server conf,
e.g. within your virtual host config:
ProxyPass /scarab http://ScarabHost:8080/scarab
ProxyPassReverse /scarab http://ScarabHost:8080/scarab
You need to adjust the host:port settings to your environment.
I also assume, you have mod_proxy added in your apache
configuration.
You can attach scarab in multiple ways to your webserver,
but this is by far the easiest approach...
2.) Setup your "build.properties" for scarab as follows:
The following build properties are essential. You might
want to change others too. Please follow the instructions
in the scarab-installation manual and adjust the values below
according to your environment:
scarab.context=scarab
scarab.http.domain=www.yourCompany.com
scarab.http.port=80
scarab.email.domain=yourCompany.com
scarab.tomcat.port=8080
scarab.tomcat.proxy.name="www.yourCompany.com"
scarab.tomcat.proxy.port="80"
Note: The trick is to set scarab.http.port to 80, NOT to 8080
The other trick is to surround the proxy settings with double quotes
3.) build scarab as described in thje installation manual
4.) go to target/conf/server.xml
check that you have the following lines:
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="9023" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="60000"
proxyName="www.yourCompany.com"
proxyPort="80" />
Sometimes the scarab build drops these (erroneous) lines instead:
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="9023" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="60000"
"www.yourCompany.com"
"80" />
Note: proxyPort and proxyName are missing. Correct this manually if
necessary.
5.) build the database as described in the installation manual.
If you already have a database, skip this point.
cd $root/src/sql
./create-db.sh
6.) (re-)start scarab
cd target/bin
./catalina.sh start
7.) restart your webserver
Now you can access your scarab from
http://www.yourCompany.com/scarab/issues
from within your intranet AND from the internet.