View on GitHub

ETA (ESSArch Tools Archive)

ESSArch Tools for Archive

Download ETA version 0.93.1

ETA (ESSArch Tools Archive)

SIP receiving tools for archives.

Installation Guide

Prerequisites

Hardware configuration for server, network and storage architecture is not affected in this guide. Software configurations for server operating systems occur preferably before the installation of ESSArch begins. The installation is expected to be done as user 'root'.

Supported OS platforms

OS Version
CentOS 5.5 (x86_64)
CentOS 6.4 (x86_64) CentOS release 6.6 (Final)
Redhat Enterprise Server 5 (x86_64)
SUSE Linux Enterprise Server 10 (x86_64)
SUSE Linux Enterprise Server 11 (x86_64) SP3
Fedora 11 (x86_64)

OS Packages

Before installing ESSArch you need to verify that the following packages are installed on your platform

Package Minimum version Note Verified version
kernel-devel 2.6.x kernel-devel-2.6.32-504.el6.x86_64
sysstat 7.x sysstat-9.0.4-27.el6.x86_64
make 3.81-15 make-3.81-20.el6.x86_64
patch 2.6.1-1 patch-2.6-6.el6.x86_64
erlang ** R12B-5.8 erlang-R14B-04.3.el6.x86_64
gcc 4.1.2 gcc-4.4.7-11.el6.x86_64
gcc-c++ 4.1.2 gcc-c++-4.4.7-11.el6.x86_64
ppenssl 0.9.8 openssl-1.0.1e-30.el6.x86_64
openssl-devel 0.9.8 openssl-devel-1.0.1e-30.el6.x86_64
openldap 2.3.43 openldap-2.4.39-8.el6.x86_64
openldap-devel 2.3.43 openldap-devel-2.4.39-8.el6.x86_64
mt-st 0.9b mt-st-1.1-5.el6.x86_64
mtx 1.2.18 mtx-1.3.12-5.el6.x86_64
sg3_utils 1.25 sg3_utils-1.28-6.el6.x86_64
sg3_utils-libs 1.25 sg3_utils-libs-1.28-6.el6.x86_64
sg3_utils-devel 1.25 sg3_utils-devel-1.28-6.el6.x86_64
mysql 5.0.77 mysql-5.1.73-3.el6_5.x86_64
mysql-server 5.0.77 mysql-server-5.1.73-3.el6_5.x86_64
mysql-devel 5.0.77 mysql-devel-5.1.73-3.el6_5.x86_64
mysql-libs 5.0.77 mysql-libs-5.1.73-3.el6_5.x86_64
gnutls 1.4.1 gnutls-2.8.5-14.el6_5.x86_64
readline 5.1.3 readline-6.0-4.el6.x86_64
readline-devel 5.1.3 readline-devel-6.0-4.el6.x86_64
unixODBC 2.2.11 unixODBC-2.2.14-14.el6.x86_64
unixODBC-devel 2.2.11 unixODBC-devel-2.2.14-14.el6.x86_64
freetds 0.64 freetds-0.91-2.el6.x86_64
freetds-devel 0.64 freetds-devel-0.91-2.el6.x86_64
pcre 7.8 pcre-7.8-6.el6.x86_64
pcre-devel 7.8 pcre-devel-7.8-6.el6.x86_64
lzo 2.03-2 lzo-2.03-3.1.el6_5.1.x86_64
lzo-devel 2.03-2 lzo-devel-2.03-3.1.el6_5.1.x86_64
xz 4.999.9-0.1 xz-4.999.9-0.5.beta.20091007git.el6.x86_64
bzip2-devel (libbz2-devel) 1.0.5-5 bzip2-devel-1.0.5-7.el6_0.x86_64
libffi-devel 3.0.5-3.2 libffi-devel.x86_64 0:3.0.5-3.2.el6
sqlite-devel 3.6 3.6.20-1.el6.x86_64

** Centos require extra package: epel-release

Prepare Environment

Create user and group

Don't forget to create /home/arch

Please run the following command as user root.
# groupadd arch
# useradd -c "ESSArch System Account" -m -g arch arch

Set password for arch user

Please run the following command as user root.
# passwd arch
Changing password for user arch.
New UNIX password: password
Retype new UNIX password: password

Customize user environment for arch user

Add the following rows to /home/arch/.bash_profile:

### ESSArch start
##
export PATH=/ESSArch/pd/python/bin:$PATH:/usr/sbin
export LANG=en_US.UTF-8
export LD_LIBRARY_PATH=/ESSArch/pd/python/lib:/ESSArch/pd/libxslt/lib:/ESSArch/pd/libxml/lib:$LD_LIBRARY_PATH
export ETA=/ESSArch/pd/python/lib/python2.7/site-packages/ESSArch_TA
export PYTHONPATH=$ETA:/ESSArch/config
export DJANGO_SETTINGS_MODULE=config.settings
alias bin='cd /ESSArch/bin'
alias log='cd /ESSArch/log'
##
### ESSArch end

Create installation directory

Please run the following command as user root.
# mkdir /ESSArch
# chown -R arch:arch /ESSArch

Installation

ETA installation script

Change to user "arch" with the following command.
# su - arch

Download and extract ESSArch_TA_install tarfile.
[arch@server ~]$ wget http://xxx.xxx.xxx.xxx/ESSArch_TA_installer_xxxxxxxxxxxx.tar.gz
[arch@server ~]$ tar xvf ESSArch_TA_installer_xxxxxxxxxxxx.tar.gz
[arch@server ~]$ cd ESSArch_TA_installer
[arch@server ~]$ ./install

The installation of ESSArch is now running and dependent on hardware configuration, the installation may take some time. To see details of the installation progress please start a new terminal window and run the following command.
[arch@server ~]$ tail -f /ESSArch/install.log

When installation is finished, search in the log file /ESSArch/install.log for any unexpected errors indicating failure of installation of any modules.

Installation of Advanced Message Queuing Protocol

ESSArch is designed to be AMQP (Advanced Message Queuing Protocol) independent. However the installation package is prepared for RabbitMQ and the following instructions assume that you use RabbitMQ.

Follow the instructions below in order to install RabbitMQ required by ESSArch.

Please run the following commands as root user.
# rpm -i /ESSArch/install/packages/rabbitmq-server.rpm
# chkconfig rabbitmq-server on
# service rabbitmq-server start

If startup failed and you see an error message in /var/log/rabbitmq/startup_log after a minute or so like:

ERROR: epmd error for host "yourhostname": timeout (timed out)_

Then you need to update your /etc/hosts file to add your hostname to the list of localhost:

127.0.0.1 yourhostname

Configuring

Apache httpd configuration

Edit file /ESSArch/config/httpd-eta.conf and change the configuration entry for "ServerName" to same as the hostname of the ESSArch server.

For test purpose you can use the existing configuration for SSL certificate, but for production environment and for maximum security we recommend generating your own SSL certificate or if you have your own SSL trusted certificate install them in the apache httpd configuration.

ESSArch configuration

In /ESSArch/config you will find all the configuration files for ESSArch. The main configuration file for ESSArch WEB GUI is local_eta_settings.py.

For ESSArch you will find the configuration in the local database tables. To change the configuration please login as admin user is ETA and select menu MANAGEMENT > Configuration

Database

ESSArch is designed to be RDBMS-independent.

Create default tables in database

Please run the following command as user: arch
[arch@server ~]$ python $ETA/manage.py migrate

Add default configuration data to database

Use only this default configuration for test purpose, do not install this default configuration in production.

For production environment you should first make a copy of this configuration file and update for example site_profile, site_name. After you done all your updates you install it.

Please run the following command as user: arch
[arch@server ~]$ python $ETA/install/install_config_eta.py

For production/custom installation

[arch@server ~]$ cp $ETA/install/install_config_eta.py /home/arch/install_config_eta_custom.py

Update /home/arch/install_config_eta_custom.py

Install configuration:

[arch@server ~]$ python /home/arch/install_config_eta_custom.py

Enable automatic startup at system boot

Login as root user and set ETA path variable:
# export ETA=/ESSArch/pd/python/lib/python2.7/site-packages/ESSArch_TA

Enable workerprocess

Please run the following commands as root user.
# cp $ETA/extra/celeryd.sh /etc/init.d/celeryd
# chmod 744 /etc/init.d/celeryd
# chkconfig celeryd on
# cp $ETA/extra/celerybeat.sh /etc/init.d/celerybeat
# chmod 744 /etc/init.d/celerybeat
# chkconfig celerybeat on

Enable automatic startup of Apache HTTPD

Please run the following command as user root.
# cp $ETA/extra/httpd.sh /etc/init.d/httpd
# chmod 744 /etc/init.d/httpd
# chkconfig httpd on

Running the ETA Server

Start ETA server

Note that a startup or shutdown of ETA should always be controlled.

Please run the following command as user root to start ETA.
# service celeryd start
# service celerybeat start
# service httpd start

Stop ETA server

Please run the following command as user root to stop ETA.
# service httpd stop
# service celeryd stop
# service celerybeat stop

Start ETA WEB interface

Start your preferable web browser and connect to ETA Server name or IP address.

URL: https://xxxxxxxx

By default, for test purpose, the installation has configured the following users:

Username Password Role/Permissions
usr2 usr2 receive, events, transfer
admin admin admin

Important files to backup

Important data in ESSArch to backup is the configuration, log files and database. All areas which are mounted from external file servers should be backed up.

Everything in the file area /ESSArch should be backed up before and after configuration changes or changes in ESSArch system installation, for example when upgrading and software patches.

Areas that need to be backed up to an external "backup system" daily is the following:

Events and log information

Different types of events are logged both in physical files and tables in ESSArch database. Log entries are tagged with the log level - Debug, Critical, Error, Warning, Info. These log levels can be felt by the ETA's system logs:

Service och support

Service and support on ETA is regulated in maintenance contract with ES Solutions AB. A case is registered on the support portal http://projects.essolutions.se