Quick Install

Lorenzo Mangani edited this page Jun 2, 2018 · 75 revisions

HOMER 5 Setup

This document provides guidance, packages and details to get HOMER 5 installed

7.0: Coming Soon!
5.9: Available for Docker Compose

Homer 5.9 is a hybrid version providing the 5.x interface alongside the 7.x Timeseries

5.0: Choose your preferred installation method:

If you use HOMER in production or for business, please kindly consider supporting the project development and documentation with a donation.

Installer Script (OpenSIPS)

"Quick and Dirty" installers and packages are available on the homer-installer repository

To setup on vanilla/netinstall Debian8/CentOS7 simply execute:

bash <( curl -s https://raw.githubusercontent.com/sipcapture/homer-installer/opensips-2.3/homer_installer.sh )

NOTE: Manual system and database optimization and memory settings might be required!

Installer Script (Kamailio)

"Quick and Dirty" installers and packages are available on the homer-installer repository

To setup on vanilla/netinstall Debian8/CentOS7 simply execute:

bash <( curl -s https://cdn.rawgit.com/sipcapture/homer-installer/master/homer_installer.sh )

NOTE: Manual system and database optimization and memory settings might be required!

Manual Setup from Source (advanced)

Warning! The Manual Setup procedure requires ability to carefully read and interpret technical instructions, possession of linux skills, basic understanding of our solution and software elements in order to be executed, and goodwill - If you are not sure, please use one of our ready packages instead.

GIT Setup
$ git clone https://github.com/sipcapture/homer-api
$ git clone https://github.com/sipcapture/homer-ui

  • System Requirements:

    • Apache2 or nginx
    • PHP-5, MySQL + InnoDB (barracuda) ( >= 5.6)
    • Kamailio + sipcapture
    • Homer-API + Homer-UI
  • Remote Requirements:

    • HEP3 Capture Agent
      • CaptAgent
        • If you plan capture traffic on same machine as Kamailio, do not use raw_socket in Kamailio instead use CaptAgent and send data via HEP, otherwise your packets will be out of order
      • Kamailio, OpenSIPS, FreeSwitch, Asterisk
  • Special Charts Requirements: (Dangerous Demo, ElasticSearch)

    • InfluxDB
    • ElasticSearch

Locations

  • $WEB: Homer web folder
  • $GIT: Git source clone folder

Components

HOMER:
  • Clone repository of Homer-API

    # git clone https://github.com/sipcapture/homer-api.git

  • Clone repository of Homer-UI

    # git clone https://github.com/sipcapture/homer-ui.git

HTTP Server:
  • Create a folder for HOMER vhost ($WEB)
  • Configure Apache2 (or nginx) for HOMER vhost (see $GIT/homer-api/examples/web/)
  • Enable mod rewrite
    • Your host MUST support AllowOverride All or your Homer API won't respond
  • Install Homer 5 web components
    • Copy HOMER-UI Contents to vhost directory ($WEB)
      • Make sure store/dashboard writable by Apache
    • Copy HOMER-API/api directory to vhost directory ($WEB/api)
MYSQL:
  • Create MySQL databases:

    • create database homer_data * mysql -u root < $GIT/homer-api/sql/mysql/homer_databases.sql
    • create database homer_data * mysql -u root < $GIT/homer-api/sql/mysql/homer_user.sql
  • Create MySQL tables:

    • create database homer_data * mysql -u root homer_data < $GIT/homer-api/sql/mysql/schema_data.sql
    • create database homer_configuration * mysql -u root homer_configuration < $GIT/homer-api/sql/mysql/schema_configuration.sql
    • create database homer_statistic * mysql -u root homer_statistic < $GIT/homer-api/sql/mysql/schema_statistic.sql
    • create sipcapture user with access rights on new databases
  • Configure HOMER-API:

    • Move example file $GIT/homer-api/api/preferences_example.php to $WEB/api/preferences.php
    • Move example file $GIT/homer-api/api/configuration_example.php to $WEB/api/configuration.php
    • Edit $WEB/configuration.php with the required Database access details
      • NOTE: don't forget install php5-mysql (pdo driver)
  • Configure & Install rotation script:

    • Depends on what Database you choose(mysql or postgres) you need to install rotation scripts from https://github.com/sipcapture/homer-api/tree/master/scripts/mysql

    • Copy and chmod +x the scripts/ChoosenDatabase (e.g scripts/mysql) directory on your system (ie: /opt/sipcapture/)

    • Configure Database credentials in the rotation.ini based on your system

    • Add rotation script to cron once a day (scripts/DB/homer_DB_rotate) at low traffic time

      crontab -e -u root:

    30 3 * * * /opt/sipcapture/homer_mysql_rotate > /dev/null 2>&1

    or as file /etc/cron.d/sipcapture:

    30 3 * * * root /opt/sipcapture/homer_mysql_rotate > /dev/null 2>&1

    N.B. please run homer_DB_rotate manual before send traffic to homer. The script should create capture tables also for current day.

KAMAILIO:
  • Clone and Install Kamailio

      # git clone --depth 1 https://github.com/kamailio/kamailio kamailio
      # cd kamailio; make FLAVOUR=kamailio include_modules="db_mysql sipcapture pv textops rtimer xlog sqlops htable sl siputils" cfg
      # make all && make install
    
  • Copy and Customize the provided sipcapture specific kamailio.cfg

      # cp homer-api/examples/sipcapture/sipcapture.kamailio /usr/local/etc/kamailio/kamailio.cfg
    
  • Start Kamailio

    • Start a remote Capture Agent to send HEP packets to the selected HEP socket

Login to Homer-UI

  • Login to Homer-UI using default user
    • admin / test123 * see defaults in $GIT/homer-api/sql/schema_configuration.sql

Configure Homer-UI

  • Import the Example Admin Dashboard and customize Nodes, Users, Aliases

    • _homer-api/examples/dashboards/1430318378410.json
  • Import the SIP Search Dashboard and perform a test search

    • _homer-api/examples/dashboards/1431943495.json
  • Configure Admin > Nodes to point to your MySQL instance(s) w/ actual authentication details


Enjoy Homer5!

Where is everything? Things moved around in Homer 5 - Get started here

H5_dash

Professional Support

For remote support, installations, customization or commercial requests please contact: support@sipcapture.org

For community updates, user discussion and experience exchange please join our users Mailing-List

HomerFlow

HOMER's Captagent is now also available on Github

Developers and Contributors

Contributors and Contributions to our project are always welcome! If you intend to participate and help us improve HOMER by sending patches, we kindly ask you to sign a standard CLA (Contributor License Agreement) which enables us to distribute your code alongside the project without restrictions present or future. It doesn’t require you to assign to us any copyright you have, the ownership of which remains in full with you. Developers can coordinate with the existing team via the homer-dev mailing list. If you'd like to join our internal team and volounteer to help with the project's many needs, feel free to contact us anytime!

License & Copyright

Homer components are released under GNU AGPLv3 license

Captagent is released under GNU GPLv3 license

(C) 2008-2015 SIPCAPTURE & QXIP BV


If you use HOMER in production, please consider supporting the project with a Donation

Donate

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.