The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

INSTALL.web - [Web] Installation instructions for WordNet::SenseRelate::AllWords Web interface

SYNOPSIS

ubuntu

        cd web  
        cp -R cgi-bin/allwords/ /usr/lib/cgi-bin/
        cp -R htdocs/allwords/ /var/www/
        chmod -R 0777 /usr/lib/cgi-bin/allwords/user_data
        chmod -R 0777 /var/www/allwords/user_data
        cd /usr/lib/cgi-bin/allwords/
        sudo perl allwords_server.pl --logfile /var/www/allwords_log.txt

Fedora

        cd web  
        cp -R cgi-bin/allwords/ /usr/local/apache2/cgi-bin/
        cp -R htdocs/allwords/ /usr/local/apache2/htdocs/
        chmod -R 0777 /usr/local/apache2/cgi-bin/allwords/user_data     
        chmod -R 0777 /usr/local/apache2/htdocs/allwords/user_data      
        cd /usr/local/apache2/cgi-bin/allwords/
        sudo perl ./allwords_server.pl --logfile /usr/local/apache2/htdocs/allwords_log.txt

DESCRIPTION

  1. This guide provides guidelines for WordNet::SenseRelate::AllWords Web interface installation. The guide assumes that you are using the Apache webserver as installed on a Fedora Core 3 or Ubuntu 8.04 based Linux distribution. If you are using a different server or Linux distribution, then the setup process will probably vary a little. Moreover Your path names may vary depending on how you have installed Apache.

  2. The following Modules and their dependencies are required by the SenseRelate::AllWords Web interface :

          WordNet::Similarity
          WordNet::Tools
          WordNet::SenseRelate::AllWords

    All these modules are available at CPAN. Please refer to README.web.pod for more information about installation of these modules. Before installing the web interface all these dependencies must be resolved. Please refer to INSTALL.pod of WordNet-SenseRelate-AllWords for installing dependencies.

Installation steps

  1. Make sure you are a super user, more specifically sudo in ubuntu and su in Fedora

  2. Assuming that you are currently in the directory where you have downloaded WordNet-SenseRelate-AllWords, go to the web directory

    cd web/

  3. Copy cgi-bin/allwords directory to the cgi-bin directory of your web server.

    ubuntu

            cp -R cgi-bin/allwords/ /usr/lib/cgi-bin/

    Fedora

            cp -R cgi-bin/allwords/ /usr/local/apache2/cgi-bin/
  4. Copy htdocs/allwords directory to the htdocs directory of your web server.

    ubuntu

            cp -R htdocs/allwords/ /var/www/

    fedora

            cp -R htdocs/allwords/ /usr/local/apache2/htdocs/
  5. Several output files are created by the web-interface for which it requires read, write and execute permissions to the user_data/ directory. Thus make sure that "others" user level has read-write-execute access to the cgi-bin/allwords/user_data and htdocs/allwords/user_data directory. Similarly make sure if .pl and .cgi files in cgi-bin/allwords/ directory have execute permission for all users including "others" user level. This might not be the best way considering the security related issues. However, at this point this is how we deal with the permissions. Alternative suggestions are most welcome!

    ubuntu

            chmod -R 0777 /usr/lib/cgi-bin/allwords/user_data
            chmod -R 0777 /var/www/allwords/user_data       

    Fedora

            chmod -R 0777 /usr/local/apache2/cgi-bin/allwords/user_data
            chmod -R 0777 /usr/local/apache2/htdocs/allwords/user_data
  6. Starting the web server.

    Again make sure you are a super user. We need bash shell to run our scripts. So make sure your /bin/sh is pointing to /bin/bash. Go to the cgi-bin/allwords directory and start the web server with the appropriate options. You need to provide the path of your logfile, which is a mandatory option of allwords_server.pl. First start similarity server, if it is not already running. For example, we start our similarity server as below.

    /usr/local/bin/similarity_server.pl --stoplist /root/stoplist.txt --logfile /var/log/similarity_server.log --maxchild 8

    ubuntu

            If your /bin/sh is pointing to /bin/dash, please make 
            it point to /bin/bash
    
            Here is what we did during our install on ubuntu
            sudo rm /bin/sh
            sudo ln -s /bin/bash /bin/sh
    
            Please refer the link below for more information on this
            https://wiki.ubuntu.com/DashAsBinSh
    
            Then start the server
    
            cd /usr/lib/cgi-bin/allwords/
            nohup sudo perl allwords_server.pl --logfile /var/www/allwords_log.txt &
    
            In this example allwords_server.pl's log is stored at 
            /var/www/allwords_log.txt.

    Fedora

            cd /usr/local/apache2/cgi-bin/allwords/
            nohup sudo perl ./allwords_server.pl --logfile /usr/local/apache2/htdocs/allwords_log.txt &
    
            In this example allwords_server.pl's log is stored at 
            /usr/local/apache2/htdocs/allwords_log.txt.

    You might want to change the following things by using various options of allwords_server.pl

    --wnlocation

            The default WordNet path we use is /usr/local/WordNet-3.0.
            If you have WordNet installed on path other than 
            /usr/local/WordNet-3.0/, you can use --wnlocation option of
            allwords_server.pl and specify your WordNet path. For example,
            if your WordNet is installed at the path /usr/MyWordNet/WordNet-3.0
    
            perl allwords_server.pl --logfile /var/www/allwords_log.txt --wnlocation /usr/MyWordNet/WordNet-3.0

    --port

            We use 32323 port by default. If you want to change this port you can
            use --port option of allwords_server.pl. For example, 
    
            perl allwords_server.pl --logfile /var/www/allwords_log.txt --port 30303
    
            Note that the port you are listening on should be same as the port
            you are sending messages to. Therefore, if you want to use this 
            option, you need to change $port variable in allwords.cgi file and
            make it same as the port you are listening on. For example, in this
            case we will set $port variable in allwords.cgi to 7075
    
            my $remote_port=32323;
  7. Automatic start up.

    If you would like the web server to start automatically when your system is rebooted, you can modify your /etc/rc.local file to include the following:

    ubuntu

            echo "** similarity_server.pl starting ..."
            /usr/local/bin/similarity_server.pl --stoplist /root/stoplist.txt --logfile /var/log/similarity_server.log --maxchild 8
    
            echo "** senserelate allwords starting ..."
            OLDPWD=`pwd`
            cd /usr/lib/cgi-bin/allwords
            ./allwords_server.pl --logfile /var/www/allwords_log.txt
            cd $OLDPWD
    
            exit 0

    fedora

            # start apache (must be done before starting allwords)
    
            /usr/local/apache2/bin/apachectl -k start
    
            # start allwords server
    
            OLDPWD=`pwd`
            cd /usr/local/apache2/cgi-bin/allwords
            /usr/local/apache2/cgi-bin/allwords/allwords_server.pl &
            cd $OLDPWD
    
            exit 0

    Note that /root/stoplist.txt is the stoplist used by WordNet::Similarity. The default stoplist used by the web interface is located at web/cgi-bin/allwords/user_data/default-stoplist-raw.txt.

AUTHORS

 Varada Kolhatkar, University of Minnesota, Duluth
 kolha002 at d.umn.edu

 Ted Pedersen, University of Minnesota, Duluth
 tpederse at d.umn.edu

This document last modified by : $Id: INSTALL.web.pod,v 1.12 2009/02/13 16:25:16 kvarada Exp $

SEE ALSO

 L<README.web.pod> L<INSTALL.pod>

COPYRIGHT AND LICENSE

Copyright (c) 2008, Varada Kolhatkar, Ted Pedersen, Jason Michelizzi

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.

Note: a copy of the GNU Free Documentation License is available on the web at http://www.gnu.org/copyleft/fdl.html and is included in this distribution as FDL.txt.