Scenario: We have to meet two goals: Our server is already running tomcat on port 8080, so we need to run pentaho in another port. Our clients have only access to port 80, so we need to publish the bi-server in port 80.
We are using Pentaho biserver-ce-3.6.0-stable on Ubuntu Linux.
1.- Run tomcat server in another port: file server.xml
We have to change all the port numbers that begin with 8 for something else, in this case sevens, thah way the public port will end up in 7080, it's not enough to change just the 8080 connection port, the next sed command can do it.
sed -i 's/ort="8/ort="7/g ' biserver-ce/tomcat/conf/server.xml
Change base URL: file web.xml
Use your editor an modify web.xml, example with vi:
vi ./biserver-ce/tomcat/webapps/pentaho/WEB-INF/web.xml
<context-param>
<param-name>base-url</param-name>
<param-value>http://www.company.cl/pentaho/</param-value>
</context-param>
Proxy Apache: file virtual host file of site www.company.cl
Clients can't go to any port, so we will use apache2 mod_proxy to accept requests on port 80 and redirect them to port 7080 already configured above.
ProxyPass /pentaho-style/ http://www.company.cl:7080/pentaho-style/
ProxyPassReverse /pentaho-style/ http://www.company.cl:7080/pentaho-style/
ProxyPass /pentaho/ http://www.company.cl:7080/pentaho/
ProxyPassReverse /pentaho/ http://www.company.cl:7080/pentaho/