How-To Install Metadot CMS on SMEServer 6.01-01

Author: ergin@ergin.net
Release supported: SME 6.x
License: GPL
Last updated:Saturday, July 24, 2004


Problem:  How to install popular Metadot Portal on you SMEServer?
Solution:  Follow this HowTo



2004-08-31 09:55 CET Update6 Medatot v6.2 was realeased. Before upgrade

  • backup your /etc/metadot.conf file
  • make a backup of your MySQL DB with mysqldump -c metadot > metadbbackup.sql
  • copy (update) all the new files to your directory.
  • Install perl-DateManip rpm -ivh perl-DateManip-5.42a-8.noarch.rpm (required since v6.2)
  • Copy back metadot.conf
  • run perl /metadot/upgrade.
    2004-07-24 09:20 CET Update5 Reformat into a standard SMEServer into and create links for perl-modules.
    2004-06-26 13:03 CET Update4 Due to some problems with creating skins I did some search and the solution was to install a newer perl-XML-Simple.
    2004-04-17 08:20 CET Update3 Due to some problems with skins I did some search and the solution was to install a newer perl-Template-Toolkit.
    2004-04-08 15:20 CET Update2 Lars Johansson pointed out couple of that a few perl-scripts were already installed with SMEServer so I modified the perl-modules part with the installed modules.
    2004-04-04 11:52 CET Update1 Sorry!!! I've seen in the logs that screendumps had wrong mode so you couldn't see them. It's fixed now.
    2004-04-02 08:57 CET This HowTo is done with fresh installation of SME Server 6.01-01 ISO.

    I like to manage my server over SSH with putty so I activate Remote Access



    Run putty and ...




    1. mod_perl is installed BUT not activated. Activate them by modifiying templates
    [root@smeserver601 httpd.conf]# cd /etc/e-smith/templates/etc/httpd/conf/httpd.conf/
    [root@smeserver601 httpd.conf]# vi 30AddModule60
    # Extra Modules
    #AddModule mod_php.c
    #AddModule mod_php3.c
    AddModule mod_perl.c

    [root@smeserver601 httpd.conf]# vi 20LoadModule80
    # Extra Modules
    #LoadModule php_module modules/mod_php.so
    #LoadModule php3_module modules/libphp3.so
    LoadModule perl_module modules/libperl.so
    LoadModule external_auth_module modules/mod_auth_external.so

    2. Generate new httpd.conf and restart httpd
    [root@smeserver601 httpd.conf]# /sbin/e-smith/expand-template /etc/httpd/conf/httpd.conf
    [root@smeserver601 httpd.conf]# service httpd restart
    Stopping httpd: [ OK ]
    Starting httpd: [ OK ]

    3. Download latest Metadot (v6.1.5) from METADOT.COM and unrar
    [root@smeserver601 root]# wget http://download.metadot.com/metadot6.1.5.tar.gz
    [root@smeserver601 root]# tar xvzf metadot6.1.5.tar.gz

    4. Move files to Apache DocumentRoot, chown and chmod...
    [root@smeserver601 root]# mv metadot /home/e-smith/files/primary/html/
    [root@smeserver601 root]# cd /home/e-smith/files/primary/html/
    [root@smeserver601 html]# chown -R www.www metadot/
    [root@smeserver601 html]# chmod ugo+rx metadot/

    5. Install necessary per-modules
    If you do not have them try
    http://ergin.dyndns.org/download/RPMS/perl/ OR http://rpmpan.sourceforge.net
    Installing perl modules can be tricky, depending on your system and which modules you already have installed you might have dependency issues. The only way is checking you logs
    # /var/log/message
    # /var/log/httpd/error_log


    perl-LWP-attic
    perl-DBI - OBS!!! included in SMEServer
    perl-Apache-DBI
    perl-XML-RSS
    perl-Storable
    Net::LDAP OBS!!! included in SMEServer perl-ldap-ldap
    perl-Log-Agent
    perl-Mail-POP3Client
    perl-IO-stringy
    Mail::Internet OBS!!! included in SMEServer
    perl-MIME-tools
    perl-Unicode-String
    perl-Spreadsheet-WriteExcel OBS!!! requires following two modules
    perl-Text-Balanced
    perl-Parse-RecDescent
    perl-Date-Calc
    perl-AppConfig
    perl-Image-Size
    perl-Template-Toolkit OBS!!! requires following 10 modules... Requires also other RPMS as tetex (needed if you had Xserver). Therefore install with -nodeps
    perl-GD
    perl-GDGraph
    perl-GD-Graph3d
    perl-GDTextUtil
    perl-Image-Info
    perl-Pod-POM
    perl-Text-Autoformat
    perl-Tie-DBI
    perl-XML-XPath
    perl-libxml-enno
    perl-Time-HiRes OBS!!! included in SMEServer
    perl-Lingua-EN-NameParse
    perl-Number-Format
    perl-XML-Simple
    perl-Text-CSV_XS
    perl-Archive-Zip
    perl-libnet Not documented in metadot.com - Needed for Net::SMTP
    perl-Compress-Zlib Not documented in metadot.com
    6. Modify your httpd server for metadot
    If you have not created the catalogue structure for templates-custom

    [root@smeserver601 root]# cd /etc/e-smith/templates-custom/
    [root@smeserver601 templates-custom]# mkdir etc
    [root@smeserver601 templates-custom]# cd etc
    [root@smeserver601 etc]# mkdir httpd
    [root@smeserver601 etc]# cd httpd/
    [root@smeserver601 httpd]# mkdir conf
    [root@smeserver601 httpd]# cd conf
    [root@smeserver601 conf]# mkdir httpd.conf
    [root@smeserver601 conf]# cd httpd.conf/
    [root@smeserver601 httpd.conf]# Copy file filen 87metadot from http://www.ergin.dyndns.org/howtos/metadot/87metadot



    7. We also have to modify Directory / settings
    If you already activated your webmail I think it is already modified



    8. Generate /etc/httpd/conf/httpd.conf
    [root@smeserver601 httpd.conf]# /sbin/e-smith/expand-template /etc/httpd/conf/httpd.conf
    [root@smeserver601 httpd.conf]# service httpd restart
    Stopping httpd: [ OK ]
    Starting httpd: [ OK ]

    9. Time for MySQL (I like phpmyadmin so I install contrib)
    [root@smeserver601 root]# wget http://www.contribs.org/contribs/nightspirit/e-smith-phpmyadmin/e-smith-phpmyadmin-2.5.6-3.noarch.rpm
    http://www.contribs.org/contribs/nightspirit/e-smith-phpmyadmin/e-smith-phpmyadmin-2.5.6-3.noarch.rpm
    => `e-smith-phpmyadmin-2.5.6-3.noarch.rpm'
    Resolving www.contribs.org... done.
    Connecting to www.contribs.org[69.9.12.50]:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1,883,521 [application/octet-stream]
    26% [========> ] 501,996 106.41K/s ETA 00:12

    [root@smeserver601 root]# rpm -ivh e-smith-phpmyadmin-2.5.6-3.noarch.rpm
    Preparing... ########################################### [100%]
    1:e-smith-phpmyadmin ########################################### [100%]

    To access the MySQL function via a web interface
    you will have to access it via SSL in your web browser.

    For example: https://192.168.1.1/phpmyadmin

    Now go back to your metadot catalogue and
    [root@smeserver601 httpd.conf]# cd /home/e-smith/files/primary/html/metadot/default_data/
    [root@smeserver601 default_data]# ls
    createdbanduser4x.sql createdbanduser.sql sampledata.sql
    [root@smeserver601 default_data]# mysql -uroot mysql < createdbanduser.sql


    Create your metadotdb
    for MySQL 3.23.xx use createdbanduser.sql
    for MySQL 4.x use createdbanduser4x.sql

    I change the password for user metadot via phpmyadmin to metapass
    (choose your own password !!!)


    Load in sample data and modify your ./etc/metadot.conf file

    [root@smeserver601 default_data]# mysql -umetadot -pmetapass metadotdb < sampledata.sql

    [metadot]
    #log file not currently used.
    #log_file=/tmp/metalog
    name = dbi:mysql:metadotdb
    user = metadot
    pass = metapass
    dbtype = MySQL
    featureset = open

    # use the following to enable Default authentication
    registration_type = FlexRegister
    user_type = FlexUser
    authenticator_type = UserPassAuthenticator

    IF EVERTHING WENT WELL, GIVE IT A TRY AND FIND OUT
    http://your-ip-adress/metadot/

    Good luck

    Ergin Ozdemir
    http://ergin.dyndns.org