Thursday, December 14, 2006

Metadot Installation Notes

Note: The Metadot installation is a little difficult. Most of the installation instructions assume use of Apache 1.x and a self compiled mod_perl. It took me about 7 hours to get this thing running on FC5 but was well worth it.
Also use metadot instructions:
http://www.metadot.com/metadot/index.pl?id=2558&isa=Category&op=show#min_reqs

Requirements:

Linux - Fedora Core 5
Apache 1.3.6
Perl 5.005_03
mod_perl 1.21
MySQL 3.23.xx


1. Start by installing the following rpm's from the FC5 repos:
httpd
mod_perl
mysql-devel installed
mysql-client
mysql-server

2. Start Mysql: /etc/init.d/mysqld start
3. Install Perl Modules:
The Expat module has to be compiled from the below source:
http://superb-east.dl.sourceforge.net/sourceforge/expat/expat-2.0.0.tar.gz
$bash > tar -xf expat-2.0.0.tar.gz
$bash >./configure
$bash >make
#bash >make install

Now install the following modules using CPAN:

$bash > perl -MCPAN -e shell
cpan> install LWP
cpan> install DBI
cpan> install Bundle::Mysql (make sure you have a 'test' database in mysql)
cpan> install Apache::DBI
cpan> install XML::RSS (this one gave me test errors, see below)
cpan> install Storable (Only needed for Metadot version 6.3.x and below. No longer needed on >= 6.4.x)
cpan> install Net::LDAP (also gave errors, see below)
cpan> install Log::Agent
cpan> install Mail::POP3Client
cpan> install IO::Stringy
cpan> install Mail::Internet
cpan> install MIME::Tools
cpan> install Unicode::String
cpan> install Spreadsheet::WriteExcel
cpan> install Date::Calc
cpan> install AppConfig
cpan> install Image::Size
cpan> install Template
cpan> install Time::HiRes
cpan> install Lingua::EN::NameParse
cpan> install Number::Format
cpan> install XML::Simple
cpan> install Text::CSV_XS
cpan> install Archive::Zip
cpan> install Date::Manip
cpan> install XML::Dumper
cpan> install HTML::TreeBuilder
cpan> install HTML::FormatText

I had errors installing XML::RSS and Net::LDAP so i just installed their RPM packages from FC5:
perl-XML-RSS
perl-LDAP

4. Download http://download.metadot.com/Metadot6.4.5.4.tar.gz
extract (tar -xf Metadot6.4.5.4.tar.gz) and move to /var/www/html/
$bash> chmod ugo+rx /var/www/html/metadot
$bash> chown -R apache.apache /var/www/html/metadot

5. Setup Mysql database and user.
Note: The script to create the metadot database and user is /var/www/html/metadot/default_data/createdbanduser.sql, but this isn't formatted correcly. So I just created the database 'metadotdb' and the user 'metadot' using mysql-administrator and gave the metadot user all access to metadotdb.

Now add the sample data:
$bash > mysql -u root -p metadotdb < /var/www/html/metadot/default_data/sampledata.sql 6. Configure Metadot conf files: edit /var/www/html/metadot/etc/metadot.conf
name = dbi:mysql:metadotdb
user = metadot
pass = (metadot user password)
dbtype = MySQL
featureset = open

7. Configure Apache. (this part will get you caught as well) Edit /etc/httpd/conf/httpd.conf
Make sure you have these lines:
LoadModule perl_module modules/libperl.so
AddModule mod_perl.c
DirectoryIndex index.html index.pl index.html.var

Add these lines:
Alias /images/ /var/www/html/metadot/html/images/
Alias /js/ /var/www/html/metadot/html/js/
Alias /metadot/ /var/www/html/metadot/metadot/
Alias /public/ /var/www/html/metadot/sitedata/public/
Alias /skins/ /var/www/html/metadot/sitedata/skins/
Alias /intranet/ /var/www/html/metadot/metadot/
PerlOptions +Parent
PerlRequire "/var/www/html/metadot



SetHandler perl-script
PerlHandler ModPerl::Registry
Options +ExecCGI
DirectoryIndex index.pl




AllowOverride None
Order allow,deny
Allow from all


Now create this file (/var/www/html/metadot/setcwd.pl) with the below information:
#!/usr/bin/perl

use lib "/var/www/html/metadot/metadot";

use Cwd;
chdir "/var/www/html/metadot/metadot";
1;
#--------------------------------------

You should be able to see http://servername/metadot/