Get started with the world’s most powerful open source asset management tool: TACTIC
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
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
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
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)