#1 2014-10-05 13:26:11

PawelKosi
Member
Registered: 2014-10-05

ReportServer and Tomcat auto configuration

Hi Guys,

I have only just started to test/evaluate ReportServer, I am hoping to use it for my company BI needs.
I have bought the guides from the website but I can't find anything in them about configuring TomCat. I know TomCat has its own documentation, but it would be nice to include simple 'after installation' steps to ensure that your TomCat web server is accessible externally.

So my problem is exactly that - I can't access ReportServer from outside my network. I have configured my router with the port forwarding to the correct PC but still I can't get anywhere.

Is there anyone who could point me to some kind of resource on the net that would help me understand and configure TomCat server to be accessible externally?

Thank you in advance!

Pawel

Offline

#2 2014-10-05 17:03:54

Thorsten J. Krause
datenwerke
Registered: 2012-02-15
Website

Re: ReportServer and Tomcat auto configuration

Hi Pawel,

the tomcat default configuration is to listen on any interface/address, so there should be no additional configuration required. To be sure you can check the server.xml file in the tomcat/conf directory. If there is no address="xxx" directive you should be fine.
I think it's more likley, that there is still something amiss with you network configuration. One thing that comes to mind is you firewall configuration. Did you check that there is no rule preventing access?

Cheers,
Thorsten

Offline

#3 2014-10-05 17:33:04

PawelKosi
Member
Registered: 2014-10-05

Re: ReportServer and Tomcat auto configuration

Hi Thorsten!

Thank you kindly for reply

Yes, I am in process of testing ports at the moment and all seems to be in order... I have even contacted my ISP to ask if they block port 8080 but apparently they do not.

I have used the automatic installation.

Could you look at my server.xml and just check if everything is as it should?

<?xml version='1.0' encoding='utf-8'?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- Note:  A "Server" is not itself a "Container", so you may not
     define subcomponents such as "Valves" at this level.
     Documentation at /docs/config/server.html
 -->
<Server port="8005" shutdown="SHUTDOWN">
  <!-- Security listener. Documentation at /docs/config/listeners.html
  <Listener className="org.apache.catalina.security.SecurityListener" />
  -->
  <!--APR library loader. Documentation at /docs/apr.html -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
  <Listener className="org.apache.catalina.core.JasperListener" />
  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <!-- Global JNDI resources
       Documentation at /docs/jndi-resources-howto.html
  -->
  <GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <!-- A "Service" is a collection of one or more "Connectors" that share
       a single "Container" Note:  A "Service" is not itself a "Container",
       so you may not define subcomponents such as "Valves" at this level.
       Documentation at /docs/config/service.html
   -->
  <Service name="Catalina">

    <!--The connectors can use a shared executor, you can define one or more named thread pools-->
    <!--
    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="150" minSpareThreads="4"/>
    -->


    <!-- A "Connector" represents an endpoint by which requests are received
         and responses are returned. Documentation at :
         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
         Java AJP  Connector: /docs/config/ajp.html
         APR (HTTP/AJP) Connector: /docs/apr.html
         Define a non-SSL HTTP/1.1 Connector on port 8080
    -->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <!-- A "Connector" using the shared thread pool-->
    <!--
    <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    -->
    <!-- Define a SSL HTTP/1.1 Connector on port 8443
         This connector uses the JSSE configuration, when using APR, the
         connector should be using the OpenSSL style configuration
         described in the APR documentation -->
    <!--
    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
    -->

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


    <!-- An Engine represents the entry point (within Catalina) that processes
         every request.  The Engine implementation for Tomcat stand alone
         analyzes the HTTP headers included with the request, and passes them
         on to the appropriate Host (virtual host).
         Documentation at /docs/config/engine.html -->

    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
    -->
    <Engine name="Catalina" defaultHost="localhost">

      <!--For clustering, please take a look at documentation at:
          /docs/cluster-howto.html  (simple how to)
          /docs/config/cluster.html (reference documentation) -->
      <!--
      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
      -->

      <!-- Use the LockOutRealm to prevent attempts to guess user passwords
           via a brute-force attack -->
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <!-- This Realm uses the UserDatabase configured in the global JNDI
             resources under the key "UserDatabase".  Any edits
             that are performed against this UserDatabase are immediately
             available for use by the Realm.  -->
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>
</Server>

Computers on my lan have static private ip's, forwarded ports to my server are 8080 - 8444.

Thanks for any help and insight!

Pawel

Offline

#4 2014-10-05 22:22:41

PawelKosi
Member
Registered: 2014-10-05

Re: ReportServer and Tomcat auto configuration

Ok, rookie error and I feel like an ass...

Since I have hardware firewall protecting my network I have disabled windows firewalls in all of my PCs... mostly because Windows firewall gets in the way of development (especially when you have to install/test a lot of software that works on non-standard ports). I forgot that I have reinstalled the system on the test PC I am using for the Reportserver... aaaaaand that the windows firewall was still on. This is the face-palm moment.

Needless to say you were right, software installation configured everything ok and I had total newb moment.

Thanks for your reply, and the fact that you tried to help me!

Offline

#5 2014-10-06 08:34:56

Thorsten J. Krause
datenwerke
Registered: 2012-02-15
Website

Re: ReportServer and Tomcat auto configuration

Hi Pawel,

I'm glad to hear you figured it out.
Let me know if there is anything else I can help you with.

Cheers,
Thorsten

Offline

Board footer

Powered by FluxBB