greenstone.org greenstone wiki greenstone trac planet greenstone

Setting up an Apache Web Server for Greenstone 2 Walkthrough

From GreenstoneWiki

Setting up an Apache web server to work with Greenstone 2:

Installing the Apache web server on Linux

A walkthrough for Linux on how to set up Apache's httpd.2.2.8 web server for Greenstone v2.80. The following should hopefully work with other releases of the Apache's HTTP Server as well.

Notes:

  • commands to be typed in a Linux x-term prompt are indicated with $

  1. Downloading and verifying
    Download the current httpd tar.gz file from http://httpd.apache.org/ e.g. You can go to the mirror site http://ossavant.org/apache and download tar.gz version of httpd2.2.8.
    To verify you have an uncorrupted copy of the downloaded file <httpd-version.tar.gz>, you need to download the <httpd-version>.tar.gz.asc file and the KEYS file.
    For example:
    Now, to verify your download, open an x-term and do as described at http://httpd.apache.org/download.cgi.
    For example:
    $ gpg --import KEYS
    $ gpg --verify <httpd version file name>tar.gz.asc
    
  2. Extracting
    If you've verified it, extract the contents of the download where you want it:
    $ tar -xvzf httpd2.2.8.tar.gz
  3. Installing by compiling
    Now the folder httpd2.2.8 is created. Inside this folder, there's a README file which points one to the INSTALL file for installation instructions. The following comes from there. First choose the directory where you want to install your apache web server. In the following, PREFIX is the full path to where it will reside.
    $ ./configure --prefix=PREFIX
    $ make
    $ make install
    

    For example, PREFIX might be /home/myname/GS2/apache (no quotes!). In this case, we would do:

    $ ./configure --prefix=/home/myname/GS2/apache $ make $ make install
  4. Configuring the server and port
    Go into your PREFIX folder again (the "apache" folder where you installed the web server). Locate and open the httpd.conf configuration file for editing. That is, open PREFIX/conf/httpd.conf:
    • Add your host server's name in the ServerName section (make sure any other ServerName values are commented out):
    ServerName <my.fullservername.location.com>
    • Add the port you want your web server to be listening at in the Listen section. Choose a port number that is not in already in use.):
    Listen 8080
  5. Running (starting) and stopping the server
    To run, type the following in the exterm:
    $ PREFIX/bin/apachectl start

    To stop it:

    $ PREFIX/bin/apachectl stop

    If you need to stop then start it up again, you can do both steps in one go:

    $ PREFIX/bin/apachectl restart

    Running start, stop and restart also works if you're in the PREFIX/bin folder by:

    ./apachectl start
    ./apachectl stop
    ./apachectl restart
    

    For instance, we might do the following to start it using our example prefix:

    $ /home/myname/GS2/apache/bin>./apachectl start
  6. Testing that the web server runs
    Open a browser at http://ServerName:portnumber/ (replace with the values you specified for ServerName and port number in the web server configuration file httpd.conf) and it should work. You will know, if a page loads with the message "It Works!" or some other confirmation message.
  7. Some reading on your part:
    If you installed a Binary distribution of Greenstone 2 (GS2), then the installation wizard would have displayed some information with script code on how to set up the web server for GS2: (In the following, $GSDLHOME is the full path to your greenstone installation folder, usually gsdl.)
    To use the Greenstone Web Library you will need to have a webserver installed (you'll also need perl if you want to build your own collections). The following information is intended to help you configure your webserver for use with Greenstone. Particular attention is given to the Apache webserver which may be downloaded free from www.apache.org. Greenstone will work with other webservers too if that is your preference.

    To refer back to this information later you can find it in the file $GSDLHOME/library.txt

    Greenstone has been set up to expect $GSDLHOME/GS2 to be accessible from your webserver at the URL http://localhost/gsdl (localhost will of course be the usual web address of your machine if it has one). Likewise, the $GSDLHOME/cgi-bin directory must be accessible as a cgi executable directory.

    For the Apache webserver this means adding the following directives to your httpd.conf configuration file:

    ScriptAlias /gsdl/cgi-bin "$GSDLHOME/cgi-bin"
      <Directory "$GSDLHOME/cgi-bin">
         Options None
         AllowOverride None
      </Directory>
      
      Alias /gsdl "$GSDLHOME"
      <Directory "$GSDLHOME">
         Options Indexes MultiViews FollowSymLinks
         AllowOverride None
         Order allow,deny
         Allow from all
      </Directory>
    

    Once your webserver is configured in this way you can access Greenstone by pointing your web browser at http://localhost/gsdl/cgi-bin/library or http://your.server.com/gsdl/cgi-bin/library

    For more information on installing and configuring a webserver see the Greenstone Installer's guide.

    The above is given in the Greenstone 2 installation wizard. We're going to use it now:

  8. Setting up the apache web server for Greenstone 2
    Open up the httpd.conf file again. It's in your web server installation's conf folder, i.e. PREFIX/conf/httpd.conf. Append the following at the end, making sure to replace $GSDLHOME with the full path to your Greenstone 2 installation folder (usually the GS2 folder's called gsdl):
    ScriptAlias /gsdl/cgi-bin "$GSDLHOME/cgi-bin"
      <Directory "$GSDLHOME/cgi-bin">
         Options None
         AllowOverride None
      </Directory>
      
      Alias /gsdl "$GSDLHOME"
      <Directory "$GSDLHOME">
         Options Indexes MultiViews FollowSymLinks
         AllowOverride None
         Order allow,deny
         Allow from all
      </Directory>
    
  9. Viewing pages served by Greenstone 2 in your browser
    Open the browser again at http://ServerName:Portnumber/gsdl/cgi-bin/library
    And bow you can hopefully see the main page for Greenstone 2.


Installing the Apache web server on Windows

A walkthrough for Windows on how to set up Apache's httpd.2.2.9 web server for Greenstone 2. The following should hopefully work with other releases of the Apache HTTP Server as well.

  1. Download the binary release of the Apache HTTP server for Windows. I got the "Win32 Binary without crypto (no mod_ssl) (MSI Installer)".
  2. Double click on the downloaded file--for instance, this may be called apache_2.2.9-win32-x86-no_ssl-r2.msi--and go through the installation wizard. Choose "Typical installation". I accepted Port 8080.
  3. To start the server, open a DOS prompt and move into the Apache Software Foundation\Apache2.2\bin directory. Once there, type
    httpd.exe

    To stop it, the Apache HTTP Server online manual says opening a new DOS prompt, going to the Apache server's bin directory and typing the following should stop a running server:

    httpd.exe -k shutdown
    However, this didn't work for me. You may need to type ctrl-c in the same prompt from where you ran httpd.exe instead. See here for more information.
  4. Check the server is running by visiting localhost:8080 in a browser. It should show the message "It Works!"
  5. Edit the file "Apache Software Foundation\Apache2.2\conf\httpd.conf" as follows.
    1. Make it listen at port 8080 if this is not already set, by finding the "Listen" entry in the file:
      Listen 8080
    2. Set the server to be localhost by searching for the "ServerName" entry in the file
      ServerName localhost
    3. At the end of the httpd.conf file, paste the following and adjust $GSDLHOME with the full path to your greenstone 2 installation. Take care to use forward slashes this time, and leave the quote-marks intact where you find them in the following:
      # Setting up the Apache webserver to work with Greenstone2
      ScriptAlias /gsdl/cgi-bin "$GSDLHOME/cgi-bin"
        <Directory $GSDLHOME/cgi-bin>
           Options None
           AllowOverride None
        </Directory>
        
        Alias /gsdl "$GSDLHOME"
        <Directory $GSDLHOME>
           Options Indexes MultiViews FollowSymLinks
           AllowOverride None
           Order allow,deny
           Allow from all
        </Directory>
      

  6. Edit the file gsdlsite.cfg located in your $GSDLHOME\cgi-bin as follows:
    1. Change the GSDLHOME placeholder in the file to be the full path to your Greenstone2 installation. Use Windows style file separators this time (backslashes). For example C:\gsdl.
    2. Uncomment the "httpprefix" entry to get
      httpprefix  /gsdl
    3. You may also need to adjust the "httpimg" entry to:
      httpimg     /gsdl/images
      If the images do not display in the next step, then come back here and change this back to the way it was before.

  7. Visit http://localhost:8080/gsdl/cgi-bin/library.exe in your browser and hopefully you will now see Greenstone 2's main page.