Install and configure TACTIC 4.0 on CentOS 7

Posted: August 15, 2013 in FX Pipeline, Linux

Get started with the world’s most powerful open source asset management tool: TACTIC

tactic4.0

download from : http://community.southpawtech.com/downloads
Enterprise version (Latest TACTIC development release) 4.0.0.rc02
and
download TACTIC EPL License

Requirements:-
TACTIC requires the following software to be installed:

  • Apache HTTP server 2.2
  • Postgres Database Server 8.4 or higher
  • Python 2.6 or 2.7 with the following Python modules:
  • Python Imaging Library 1.1.7
  • Python lxml 2.3.5
  • Pycrypto 2.3
  • Psycopg2 2.4.6

Lets Start Install and configure TACTIC 4.0.0.rc02 on CentOS 6.4 /RHEL

Disabling Security for Testing
For the sake of getting Tactic up quickly without a large amount of fuss, it is prudent to disable firewalling and SELinux. This is by no means an endorsement to run your server without these services. Once you have Tactic up and running we encourage you to read the section <TACTIC SECURITY>.
CentOS 6.4 uses the iptables service as a firewall. To disable this temporarily you can issue the following commands as root.
/etc/init.d/iptables save
/etc/init.d/iptables stop
This will disable the firewall for the currently running CentOS session. Should you wish these settings to persist across reboots. You can issue the following command as root.
/sbin/chkconfig iptables off
To disable SELinux, edit the file /etc/selinux/config as root with your favourite editor and set the SELINUX variable to ‘disabled’.
SELINUX=disabled
Getting this setting to take effect requires a reboot.

  • Installing Apache HTTP server

yum install httpd
/etc/init.d/httpd start
/sbin/chkconfig httpd on

  • Installing Postgres Database Server

rpm -qva | grep -i postgres

  • Remove existing Postgres

rpm -e <package_name>

gedit /etc/yum.repos.d/CentOS-Base.repo
include the line under both the [base] section and the [updates] section of the file.
exclude=postgresql*

rpm -Uvh http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-6.noarch.rpm

yum install postgresql postgresql-server postgresql-contrib postgresql-devel
yum install postgresql*
yum install postgresql-libs
su – postgres -c /usr/pgsql-9.2/bin/initdb
service postgresql-9.2 initdb
service postgresql-9.2 start
/etc/init.d/postgresql-9.2 start

netstat -nutlap | grep post
chkconfig –levels 235 postgresql-9.2 on

 

  • Install ImageMagick (Image Manipulation) Tool on RHEL/CentOS

You need to install the command line version of imagemagick.

The basic PIL module in python may not be able to process more complex image formats. Like some special png or 32 bit tiffs.

yum install ImageMagick

 

  • Install Python2.7 in CentOS 6.4

yum groupinstall “Development tools”
yum install gcc zlib-devel libxslt-devel libxml2-devel
yum install zlib-devel
yum install bzip2-devel
yum install openssl-devel
yum install ncurses-devel
yum install python-devel

cd /opt
wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
tar xf Python-2.7.3.tar.bz2
cd Python-2.7.3
./configure –prefix=/usr/local
make && make altinstall

export LD_LIBRARY_PATH=/usr/local/lib/python2.7

  • Installing Python Modules

-Installing lxml 2.3.5
cd /tmp
wget http://lxml.de/files/lxml-2.3.5.tgz
tar -zxvf lxml-2.3.5.tgz
cd lxml-2.3.5
/usr/local/bin/python2.7 setup.py install

-Installing Python Imaging Library 1.1.7
cd /tmp
wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz
tar -zxvf Imaging-1.1.7.tar.gz
cd Imaging-1.1.7
/usr/local/bin/python2.7 setup.py install

-Installing Pycrypto 2.3
cd /tmp
wget http://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.3.tar.gz
tar -zxvf pycrypto-2.3.tar.gz
cd pycrypto-2.3
/usr/local/bin/python2.7 setup.py install

-Installing Psycopg2 2.4.6
cd /tmp
wget http://initd.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-2.4.6.tar.gz
tar -zxvf psycopg2-2.4.6.tar.gz
cd psycopg2-2.4.6

gedit /tmp/psycopg2-2.4.6/setup.cfg
edit the pg_config entry to match the following:
pg_config=/usr/pgsql-9.2/bin/pg_config

/usr/local/bin/python2.7 setup.py install

Test Every Module is working fine :-
/usr/local/bin/python2.7

import psycopg2
import Crypto
import lxml
import PIL

It should be like that
[root@elitebook rajiv]# /usr/local/bin/python2.7
Python 2.7.3 (default, Aug 15 2013, 23:59:03)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import psycopg2
>>> import Crypto
>>> import lxml
>>> import PIL
>>>

  • Installing Tactic 4.0.0.rc02

cd /tmp
unzip tactic-4.0.0.rc02.zip

Before we run the Tactic installer, we must further configure Postgres to ensure proper installation of Tactic.
Configuring Postgres

service postgresql-9.2 stop
mv /var/lib/pgsql/9.2/data/pg_hba.conf /var/lib/pgsql/9.2/data/pg_hba.conf.INSTALL
cp /tmp/tactic-4.0.0.rc02/src/install/postgresql/pg_hba.conf /var/lib/pgsql/9.2/data/pg_hba.conf
chown postgres:postgres /var/lib/pgsql/9.2/data/pg_hba.conf
service postgresql-9.2 start

psql -U postgres template1

This command should fire up a prompt like this:
template1=#
Type \q to exit

/usr/local/bin/python2.7 /tmp/tactic-4.0.0.rc02/src/install/install.py

The installer will ask you a number of questions. You should be prompted by the following:
Please enter the base path of the TACTIC installation:
(/home/apache) -> /opt/tactic

get httpd users
ps -ef | grep httpd

Please enter the user Apache Web Server is run under:
(apache) ->apache

  • -Configuring Apache

Lastly Tactic requires us to install the custom Apache configuration file it has created during the installation process. As root issue the following commands:
cp /opt/tactic/tactic_data/config/tactic.conf /etc/httpd/conf.d

To test this we should first verify that /etc/httpd/conf.d is an included module path in the main Apache configuration file. As root issue the following command:
cat /etc/httpd/conf/httpd.conf | grep conf.d

If you receive the following as output we have installed the Tactic Apache configuration file correctly.
Include conf.d/*.conf

edit /var/www/html/index.html
Add only the following line:
<META http-equiv=”refresh” content=”0;URL=/tactic”>

Restart the Apache service to make sure the configuration hasn’t caused any problems
/etc/init.d/httpd restart

Lastly we need to ensure that the Apache server has loaded the modules needed for proxying and load balancing the Tactic service
/usr/sbin/httpd -t -D DUMP_MODULES

In the resulting output look for the following modules:
[root@elitebook rajiv]# /usr/sbin/httpd -t -D DUMP_MODULES
Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)
auth_digest_module (shared)
authn_file_module (shared)
authn_alias_module (shared)
authn_anon_module (shared)
authn_dbm_module (shared)
authn_default_module (shared)
authz_host_module (shared)
authz_user_module (shared)
authz_owner_module (shared)
authz_groupfile_module (shared)
authz_dbm_module (shared)
authz_default_module (shared)
ldap_module (shared)
authnz_ldap_module (shared)
include_module (shared)
log_config_module (shared)
logio_module (shared)
env_module (shared)
ext_filter_module (shared)
mime_magic_module (shared)
expires_module (shared)
deflate_module (shared)
headers_module (shared)
usertrack_module (shared)
setenvif_module (shared)
mime_module (shared)
dav_module (shared)
status_module (shared)
autoindex_module (shared)
info_module (shared)
dav_fs_module (shared)
vhost_alias_module (shared)
negotiation_module (shared)
dir_module (shared)
actions_module (shared)
speling_module (shared)
userdir_module (shared)
alias_module (shared)
substitute_module (shared)
rewrite_module (shared)
proxy_module (shared)
proxy_balancer_module (shared)
proxy_ftp_module (shared)
proxy_http_module (shared)
proxy_ajp_module (shared)
proxy_connect_module (shared)
cache_module (shared)
suexec_module (shared)
disk_cache_module (shared)
cgi_module (shared)
version_module (shared)
dnssd_module (shared)
php5_module (shared)
dav_svn_module (shared)
authz_svn_module (shared)
Syntax OK
[root@elitebook rajiv]#

  • – Add Python 2.7 in Tactic Configuration :-

gedit /opt/tactic/tactic_data/config/tactic-conf.xml
Find the following line:
<python>python</python>
And replace it with:
<python>/usr/local/bin/python2.7</python>

  • – Add PYTHONPATH in Tactic

gedit /opt/tactic/tactic/src/install/service/tactic

Add these Lines:-

PYTHON=/usr/local/bin/python2.7
export PYTHON
LD_LIBRARY_PATH=/usr/local/lib/python2.7
export LD_LIBRARY_PATH

pythonpath

  • Starting Tactic

su apache -s /bin/bash -c “/usr/local/bin/python2.7 /opt/tactic/tactic/src/bin/startup_dev.py”

You should now be able to navigate a web browser to
http://localhost/tactic/admin

TACTIC defines an administrative user by default. The login information is:
Username: admin, Password: (set it on your first login)

tactic_login

Advertisements
Comments
  1. If some one wishes expert view regarding running a blog after that i advise him/her to visit this weblog,
    Keep up the fastidious work.

  2. It’s an awesome piece of writing in favor of all the web users; they will take advantage from it I am sure.

  3. Its such as you learn my thoughts! You seem to grasp so much approximately this,
    such as you wrote the guide in it or something. I think that you just could do with a few
    percent to force the message home a little bit, but other than
    that, that is fantastic blog. A fantastic read.
    I’ll definitely be back.

  4. Do you mind if I quote a couple of your posts as long as I provide credit and
    sources back to your blog? My website is in the very same niche as yours and my visitors would truly
    benefit from some of the information you provide here.
    Please let me know if this okay with you. Thanks a lot!

  5. Rickey says:

    Please let me know if you’re looking for a author for your weblog. You have some really good posts and I feel I would be a good asset. If you ever want to take some of the load off, I’d really like to write some articles for your blog in exchange for a link back to mine.
    Please shoot me an email if interested. Regards!

  6. barbararandoll.wordpress.com says:

    Excellent post. I was checking continuously this blog and I’m impressed!
    Very useful information particularly the last part 🙂 I care for such info much.
    I was looking for this certain information for a long time.
    Thank you and best of luck.

  7. bheema says:

    Hi,
    when i use this command su – postgres -c /usr/pgsql-9.2/bin/initdb
    I am getting error su – postgres -c /usr/pgsql-9.2/bin/initdb
    can you help on this

    • bheema says:

      Hi,
      when i use this command su – postgres -c /usr/pgsql-9.2/bin/initdb
      I am getting error su: user – does not exist
      can you help on this

  8. Victor says:

    su – postgres -c /usr/pgsql-9.2/bin/initdb
    su apache -s /bin/bash -c “/usr/local/bin/python2.7 /opt/tactic/tactic/src/bin/startup_dev.py”

    I stumbled upon your blog and liked it. It is very informative. Please help me resolve this issue with installing Tactic.
    I had issues with the two commands pasted above. I do not have sudoers installed. I use centos 6.5.
    I am running on root. I do not think there is a problem with the commands but since am a newbie, its likely there is something I am missing out.
    Kindly help me.

    • Hemang Bhatt says:

      Try replacing “–” with “-” in su – postgres.
      It worked for me.

      Thanks Chote. Wonderful information.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s