CentOS 6.8
CentOS 6.8 Installation
Introduction
Please check that the assumptions and requirements documented in the installation overview have been suitably completed.
Pre-Requisites
Install the necessary dependencies (via yum
if available):
yum install httpd 'perl(CGI)' 'perl(CGI::Session)' 'perl(CGI::Cookie)' \
'perl(HTTP::Cookies)' 'perl(MIME::Types)' 'perl(DBI)' \
'perl(JSON)' 'perl(Digest::MD5)' 'perl(Time::HiRes)' \
'perl(Clone)' mod_perl \
perl-IO-String.noarch
yum install gcc
If yum
is not available on this platform, you must manually obtain the
following packages to satisfy the dependency requirements for Jarvis,
Oracle Instant Client, and N2FE itself.
This list of packages assumes that you have used the “Minimum” installation option. If you have used another installation option, you may find that some of these packages are already installed.
These filenames are the latest versions available at the time of writing this documentation. If new versions are available when installing, it should be safe to use those later versions instead.
You will require the following packages from the official CentOS 6.8 Repository:
rpm -Uvh \
apr-1.3.9-5.el6_2.x86_64.rpm \
apr-util-1.3.9-3.el6_0.1.x86_64.rpm \
apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm \
cloog-ppl-0.15.7-1.2.el6.x86_64.rpm \
cpp-4.4.7-17.el6.x86_64.rpm \
db4-cxx-4.7.25-20.el6_7.x86_64.rpm \
db4-devel-4.7.25-20.el6_7.x86_64.rpm \
gcc-4.4.7-17.el6.x86_64.rpm \
gdbm-devel-1.8.0-39.el6.x86_64.rpm \
glibc-devel-2.12-1.192.el6.x86_64.rpm \
glibc-headers-2.12-1.192.el6.x86_64.rpm \
httpd-2.2.15-53.el6.centos.x86_64.rpm \
httpd-tools-2.2.15-53.el6.centos.x86_64.rpm \
kernel-headers-2.6.32-642.el6.x86_64.rpm \
libgomp-4.4.7-17.el6.x86_64.rpm \
mailcap-2.1.31-2.el6.noarch.rpm \
mpfr-2.4.1-6.el6.x86_64.rpm \
mod_perl-2.0.4-11.el6_5.x86_64.rpm \
perl-5.10.1-141.el6_7.1.x86_64.rpm \
perl-BSD-Resource-1.29.03-3.el6.x86_64.rpm \
perl-CGI-3.51-141.el6_7.1.x86_64.rpm \
perl-CGI-Session-4.35-6.el6.noarch.rpm \
perl-Clone-0.31-3.1.el6.x86_64.rpm \
perl-Compress-Raw-Zlib-2.021-141.el6_7.1.x86_64.rpm \
perl-Compress-Zlib-2.021-141.el6_7.1.x86_64.rpm \
perl-DBD-Pg-2.15.1-4.el6_3.x86_64.rpm \
perl-DBI-1.609-4.el6.x86_64.rpm \
perl-devel-5.10.1-141.el6_7.1.x86_64.rpm \
perl-ExtUtils-MakeMaker-6.55-141.el6_7.1.x86_64.rpm \
perl-ExtUtils-ParseXS-2.2003.0-141.el6_7.1.x86_64.rpm \
perl-FreezeThaw-0.45-5.el6.noarch.rpm \
perl-HTML-Parser-3.64-2.el6.x86_64.rpm \
perl-HTML-Tagset-3.20-4.el6.noarch.rpm \
perl-IO-Compress-Base-2.021-141.el6_7.1.x86_64.rpm \
perl-IO-Compress-Zlib-2.021-141.el6_7.1.x86_64.rpm \
perl-JSON-2.15-5.el6.noarch.rpm \
perl-libs-5.10.1-141.el6_7.1.x86_64.rpm \
perl-libwww-perl-5.833-3.el6.noarch.rpm \
perl-MIME-Types-1.28-2.el6.noarch.rpm \
perl-Module-Pluggable-3.90-141.el6_7.1.x86_64.rpm \
perl-Pod-Escapes-1.04-141.el6_7.1.x86_64.rpm \
perl-Pod-Simple-3.13-141.el6_7.1.x86_64.rpm \
perl-Test-Harness-3.17-141.el6_7.1.x86_64.rpm \
perl-Test-Simple-0.92-141.el6_7.1.x86_64.rpm \
perl-TimeDate-1.16-13.el6.noarch.rpm \
perl-URI-1.40-2.el6.noarch.rpm \
perl-version-0.77-141.el6_7.1.x86_64.rpm \
perl-XML-Parser-2.36-7.el6.x86_64.rpm \
postgresql-libs-8.4.20-6.el6.x86_64.rpm \
ppl-0.10.2-11.el6.x86_64.rpm \
perl-IO-String-1.08-1.2.el6.rfx.noarch.rpm
In addition, you will need to install the following packages which are not available from the official CentOS repository. You will need to obtain these from RpmFind.Net:
rpm -Uvh perl-XML-Smart-1.6.9-1.el6.rf.noarch.rpm \
perl-Object-MultiType-0.05-3.el6.noarch.rpm \
perl-Digest-SHA1-2.12-2.el6.x86_64.rpm \
perl-Apache-DBI-1.09-1.el6.noarch.rpm \
perl-Carp-Always-0.09-2.el6.noarch.rpm \
perl-Data-Structure-Util-0.15-1.el6.rf.x86_64.rpm \
perl-LWP-Protocol-https-6.04-4.el7.noarch.rpm \
perl-Text-CSV-1.21-1.el6.rf.noarch.rpm
Oracle Installation
N2FE has dependencies on the Oracle Instant Client. To install the client, download the Linux instant client packages from this URL:
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
Once downloaded, install via RPM:
rpm -Uvh oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm \
oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm \
oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
Oracle Perl DB Driver
For licensing reasons, the Oracle DB driver for Perl must be built for the platform
on the platform itself. To install, retrieve the latest version of the Perl DBD::Oracle
driver from:
http://search.cpan.org/CPAN/authors/id/M/MJ/MJEVANS/.
Note that a slightly earlier version (1.74) is available from the historical owner of this package at http://search.cpan.org/CPAN/authors/id/P/PY/PYTHIAN/. If necessary, the v1.74 release may be used instead.
Then build and install on the target platform as follows:
export ORACLE_HOME=/usr/lib/oracle/12.1/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
ln -s /usr/share/oracle/12.1/client64/demo/demo.mk /usr/share/oracle/12.1/client64/
cd /path/to/dbd/oracle/package
tar zvfx DBD-Oracle-1.75_2.tar.gz
cd DBD-Oracle-1.75_2
perl Makefile.PL
make install
Note that these instructions are abridged from the DBD::Oracle
package documentation. If these instructions
do not generate a successfully built and installed DBD::Oracle
driver, consult the package instructions, or
contact N-Squared.
If your shell’s umask is not 0022
, ensure that the permissions on this directory and its children are 755
:
/usr/local/lib64/perl5
e.g.
chmod -R 755 /usr/local/lib64/perl5
You will need to add this to the list of shared library paths used by Apache, so that Apache HTTPD can find the Oracle shared libraries.
echo /usr/lib/oracle/12.1/client64/lib > /etc/ld.so.conf.d/oracle.conf
ldconfig
If you are using mod_perl (recommended for best performance) with SElinux enabled (not recommended but may be required by site policies) then you must grant Apache HTTPD the necessary authorizations required to load the Oracle shared libraries and to connect to external databases.
apachectl stop
setsebool -P httpd_execmem 1
setsebool -P httpd_can_network_connect on
apachectl start
Set up Apache
In the Apache2 configuration, configure the ServerName
variable to be the name of the host:
vi /etc/httpd/conf/httpd.conf
Open up port 80 in iptables (if necessary).
iptables -I INPUT 5 -i eth0 -p tcp -m state --state NEW --dport 80 -j ACCEPT
/sbin/service iptables save
Install & Configure Jarvis
The Jarvis framework is a lightweight, single-package installation which provides a RESTful API for serving data to the web-client application. The installation package for Jarvis can be obtained from N-Squared’s support site, here, and the following are abridged installation instructions for Jarvis. For full installation instructions, please see the Jarvis installation guide.
If not already manually installed above, retrieve the dependencies for Jarvis from RpmFind.Net and then install them:
rpm -Uvh perl-XML-Smart-1.6.9-1.el6.rf.noarch.rpm \
perl-Object-MultiType-0.05-3.el6.noarch.rpm \
perl-Digest-SHA1-2.12-2.el6.x86_64.rpm \
perl-Apache-DBI-1.09-1.el6.noarch.rpm \
perl-Carp-Always-0.09-2.el6.noarch.rpm \
Then, install Jarvis. To install the current latest version:
rpm -Uvh jarvis-6.3.8-1.noarch.rpm
Install N2FE
Once all pre-requisites are installed as described above, the n2fe
package is to be installed. The package will be named with the version
included in the file name - for example n2fe-3.1.0-1.noarch.rpm
, where
3.1.0 is the version number.
rpm -Uvh n2fe-3.1.0-1.noarch.rpm
Once installed, follow the post-installation configuration instructions.