Installation

Prerequisites

Setup

  • Download the CallReporter tarball to the /opt folder on the server.
  • Extract the CallReporter tarball.
  • Create a symlink from the new CallReporter folder to /opt/callreporter ln -s callreporter-3.0.0 /opt/callreporter
  • Create the callreporter user with the home directory of /opt/callreporter
  • Change the ownership of the /opt/callreporter folder and all of it's children to the callreporter user.
  • Copy the callreporter file into /etc/init.d.
  • Run chkconfig --add callreporter and chkconfig callreporter on
  • CallReporter can then accessed by visiting http://<serverip>:8080.

Apache Integration

Accessing CallReporter through Apache is supported using the AJP connector or HTTP proxy. This allows for access through port 80 as expected from most web applications. The AJP port defaults to 8009 but can be modified using the callreporter.ajp.port environment variable.

Configuration for this is typically performed as a .conf file in /etc/httpd/conf.d that connects a virtual host to the CallReporter installation.

Example configuration located at /etc/httpd/conf.d/callreporter.e-c-group.com.conf

<VirtualHost *:80>
     ServerName callreporter.e-c-group.com

     ProxyPass / http://localhost:8009/
     ProxyPassReverse / http://localhost:8009/

     <!-- Other settings -->

</VirtualHost>

It is also recommend to add or update the ProxyTimeout field. This is typically added in the httpd.conf file in /etc/httpd/conf/.

#
# Proxy Server directives. Uncomment the following lines to
# enable the proxy server:
#
<IfModule mod_proxy.c>
ProxyRequests Off

ProxyTimeout 1200
</IfModule>

Although the mod_proxy module needs to be enabled to support the ProxyPass directive the ProxyRequests field should be off for security purposes. It is also recommended to use name based virtual hosting and deny traffic not specifically targeted for the Call Reporter service.

To accomplish this, enable name based hosting in the httpd.conf file.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

Then added a default virtual host that would deny all traffic not specified for the correct server name.

Example file added at conf.d/00-default.conf. <VirtualHost *:80> ServerName default.only <Location /> Order allow,deny Deny from all </Location> </VirtualHost>