HyperJournal Installation Manual

2005-02-14

Revision History
Revision 1.12005-03-22mb
Added Apache2 info
Revision 1.02004-09-10mb
revised for hyperjournal 0.4 stable
Revision 0.22004-03-31mb
second draft
Revision 0.12004-02-14mb
first draft

Abstract

The HyperJournal installation manual is targeted to sysadmins, developers and hackers. Please note that installing HyperJournal requires at least basic knowledge of UNIX administration.


Table of Contents

Introduction
Copyright and License
Disclaimer
Credits / Contributors
Feedback
Requirements
Step-by-Step Installation Guide
Downloading the package
Running configuration script
Setting up a contextualization repository
Running the GUI installer
Installing under Apache2

Introduction

Copyright and License

This document, HyperJournal Installation Manual, is copyrighted (c) 2005 by Michele Barbera. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is available at http://www.gnu.org/copyleft/fdl.html.

Disclaimer

No liability for the contents of this document can be accepted. Use the concepts, examples and information at your own risk. There may be errors and inaccuracies, that could be damaging to your system. Proceed with caution, and although this is highly unlikely, the author(s) do not take any responsibility.

All copyrights are held by their by their respective owners, unless specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark. Naming of particular products or brands should not be seen as endorsements.

Credits / Contributors

Many thanks to (in alphabetical order):

Feedback

Feedback on this document is welcome. Send your additions, comments and criticisms to the following email address : .

Requirements

HyperJournal requires a number of additional Open Source software and libraries. Prerequisites are different depending on if you want to use an external or an internal contextualization repository. We suggest, whenever possible, to use an internal one: it's much more efficient on terms of computational speed and bandwidth usage. Here is a list of common prerequisites:

You will also need the following PHP Extensions

  • Mysql

  • GD2

  • lib JPEG

Make sure to adjust the following values in your php.ini:

  • magic_quotes_gpc must be OFF

  • safe_mode must be OFF

  • upload_max_filesize must be a suitable size

  • max_execution_time must be a suitable time (5 mins would be ok)

  • include_path must include the directory where the pear package are

If you want to install a local contextualization repository (strongly recommended!) you will also need:

  • Java >= 1.4.1

  • A servlet container (tested on Tomcat)

  • Sesame RDF Database version 1.2.x which can be found at www.openrdf.org

    Caution

    HyperJournal requires Sesame 1.2.x, pay attention not to install the latest 2.0 version, this is NOT supported by HyperJournal

Step-by-Step Installation Guide

This section provides a step-by-step guide to the installation process. Here we will assume that all the prerequisites are met (although the installation script will perform tests on most of the required libraries).

Downloading the package

Download hyperJournalxxx.tar.gz from www.hjournal.org/downloads/ and untar it somewhere on your disk running the command tar -zxvf hyperjournalxxx.tar.gz then go to the new directory with cd hyperjournalxxx/

Running configuration script

Before installing HyperJournal, you'll have to answer some questions about the configuration of your system.

Run ./configure.sh. The script will ask you some questions and propose a default answer for each question, based on its knowledge of your system settings.

The information you need include:

Path of web-server configuration file

This is the full path of your web-server's configuration file. Some possibilities are: /etc/httpd.conf, /etc/httpd/httpd.conf, /etc/httpd/conf/httpd.conf, or /etc/apache/httpd.conf. The script automatically suggests you with one of these or searches in the /etc tree for a suitable file.

Web-server user name

This is your web-server user name[1]

The server root

The directory where the www public part of HyperJournal will reside. This directory needs to be inside the webserver's document root.

Installation directory

The directory where the main part (APIs, libraries, data and other stuff) of HyperJournal will reside. Normally the default location (/opt) is ok and this value can be left unchanged.

Then become root and run make.

Check the paths are correct then run make install.

You can now delete the directory your are in. Just keep the file Makefile if you want to be able to automatically uninstall HyperJournal.

Setting up a contextualization repository

HyperJournal requires to access to a Sesame 1.2.x repository via HTTP. Sesame™ is an RDF Database available at www.openrdf.org

Install Sesame into a servlet container. (This means that you have to install Sesame as a server, and not as a library.) Please refer to its documentation for instructions on how to install Sesame™. After installing Sesame you must create a repository for HyperJournal. The easiest way to do so is to edit the WEB-INF/system.conf file of Sesame™. If this has not been done yet, you will have first to copy or rename the system.conf.example file in system.conf.

When all is done, you must restart tomcat for it to apply the changes.

The Hyperjournal GUI installer will then handle the modification of such configuration file to create a new repository. For this reason the user apache is running as (usually nobody or www or www-data) will need read andwrite access to this file

For more informations, you can refer to the Sesame™ manual

Running the GUI installer

The last part of the installation process is managed by a GUI installer. If you know very well what you are doing, you can also skip this phase and directly set values in INSTALL_DIR/configuration.xml. The constant names are pretty self-explanatory (and we also suppose you know what are you doing if you choose editing this file directly :-) )

To run the GUI installer point your browser to the location where you installed HyperJournal (from now on HJOURNAL_WWW_ROOT) to the file setup.php (HJOURNAL_WWW_ROOT/setup.php) and follow the on-screen instructions.

Step 1: Check Requirements

This step checks the php version meets the requirments and searches your php environment for the required extensions and PEAR Packages.

If you see one or more red 'x', it means that a package is not found. If a PEAR package is missing first of all check that your php include path directive (in php.ini) includes the directory where PEAR packages are placed. To install a specific PEAR package you can use the PEAR cli installer (refer to the PEAR web site for additional information).

Caution

Some packages may be in its beta stage thus they cannot be installed via the PEAR cli install command. You need to manually download the beta packages and then issue a pear install /path/to/pear/packagename.tar.gz command.

Step 2: Set-Up URLs and Paths

Here you can set HyperJournal paths and URLs.

HyperJournal Base Path

The full path to the directory where the the HyperJournal application is installed. With trailing slash.

HyperJournal WWW Root Path

The directory where the www public part of HyperJournal is installed. This directory needs to be inside the webserver's document root. With trailing slash.

HyperJournal Absolute URL

The domain (better not to use an IP address) that points to your HyperJournal server. No trailing slash.

HyperJournal Relative URL

This will be concatenated to the HyperJournal Absolute URL to obtain the full URL of your HyperJournal instance. No traling slash.

Example 1. Example

Let the full URL be http://example.com/hyperjournal/ then HyperJournal Absolute URL must be set to http://example.com and HyperJournal Relative URL must be set to hyperjournal.

Sesame Path

Full path to the Sesame configuration file (including /system.conf). Please note that apache needs write access to this file

Step 3: Choose a DB creation method

Select Yes if you have already created an empty mysql database for HyperJournal. Select No otherwise.

Step 3a: Set-Up an already existant mysql db

Here You can set-up a mysql database from scratch.

Host

Mysql host name (default is localhost)

Power User's Name

Insert a mysql user who has enough permissions to create databases and grant permissions to other users (default is root)

Power User's Password

Password of the root (power) user.

Name of the db to be created

Name of the mysql db that is going to be created for HyperJournal.

User to be created

Name of the mysql user that is going to be created for HyperJournal.

Password of the User be created

Password of the mysql user that is going to be created for HyperJournal.

Step 3b: Create a mysql db

Here You can set-up an already existing mysql database.

Host

Mysql host name (default is localhost)

Name of the db

Name of the mysql db to use for HyperJournal.

User to be created

Name of a mysql user who has all permissions on the above database.

Password of the User be created

Password of the mysql user.

Choose a contextualization repository

Here you must choose between using a local or a remote Sesame repository

As contextualization, which is the feature Sesame is mainly used for is EXPERIMENTAL as of HyperJournal 0.4, using a local repository is reccomended. However, if you want to fully exploit the power of contextualization you must share the sesame repository with other HyperJournals and, by doing so, enter a federation of HyperJournals. If you choose this option, contact the sesame repository administrator to obtain write access to that repository. In future versions will be no longer necessary to share the same repository to be part of a federation.

Connecting to a remote Sesame repository

Here you must enter the connection parameters to connect to aremote Sesame repository. Ask its administrator if you are unsure.

Host

Sesame host name

Port

The port to be used to connect to host

Repository Name

The name of the repository to connect to

User

Username with write permissions

Password

The user password

Creating a local sesame repository

Here You can set-up an already existing mysql database.

Host

Sesame host name

Port

The port to be used to connect to host

Sesame User

Username with write permissions (It will be created automatically)

Sesame user Password

password (It will be created automatically)

Sesame DB Name

The name of the mysql db used internally by Sesame (It will be created automatically)

Sesame DB User

The user of the mysql db used internally by Sesame (It will be created automatically)

Sesame DB Password

The password of the mysql db used internally by Sesame (It will be created automatically)

Create an Admin Account

Here you can create an administrator account.

Admin Password

The administrator password

Admin e-mail

The administrator email

PURL

This is a Persistant URL, see www.purl.org for additional information. Using a PURL is not mandatory but we storngly encourage you to register and use use a PURL, it's free. Using a PURL will save you A LOT of problems if in the future you want to move your HJ to another domain or if the dynamic contextualization system specifications, which are still Experimental, will change

Caution

Please choose a password carefully as in HyperJournal 0.4 there is no check of the password robustness

Caution

Please check the email adress twice as no test mails are sent to this address and its correctness IS NOT checked.

Check Sendmail

Here you can check if your php sendamil settings are correct. Yust insert an email address and see if you receive the test email. Sorry, this is the best we can do, we cannot configure a mail server for you (it's too annoying :-) )!

Caution

An external (non local) sendmail can be used instead of a local one. Please refer to the PHP manual for additional information on how to set up the sendmail configuration directive.

Register your HyperJournal

Here you can send us an automatically generated email to alert us of your hyperjournal's installation. The email we will recive contains only the name of your journal, it's URL and the software version. We will use the collected data only to warn you if critical bugs are discovered and to alert you of new releases of hyperjournal. Moreover it makes us happy to know that someone is using HyperJournal (in fact this is the second best thing after donations :-) ). Please consider registering (even if you're just trying and not using it for a in-production journal), we spend a lot of time in programming HyperJournal and it's free !!! Thank you very much!

Sendmail test failed

It seems that your mail server isn't correclty configured. Be aware that without a running mailserver your journal users will not be alble to register, hence your journal will practically be unusable. If you know what you are doing and still want to proceed you can still register your hyperjournal installation to be alerted by us if critical bugs are discovered or if new releases are made available. You can register by manually sending us an email at info@hjournal.org with subject: "hjregistration" and the xml which is accessible from the GUI installer (right-clik, save-as) in the body (no attachments please!!!). Thank you very much!

Check Sendmail

The configuration of your hyper journal has been saved, now, if you are using a local Sesame repository, you must restart Tomcat and click next to upload the RDF ontology and to finish the hyper journal installation. Additionally you must put the hj-inference.xml file in the same directory of the sesame's system.conf configuration file before to click next. You can find the hj-inference.xml file in classes/rdf/hj-inference in the extracted hj package.

Warning

Failing to put the (apache readable) hj-inference.xml in the correct location will cause major malfunctioning of HyperJournal

Remove the install.php script and proceed to Admin Control Panel

You MUST now remove the setup.php script (found in HJOURNAL_WWW_ROOT/install.php). Log in with your administrator account and proceed to the control panel.

Warning

The installation process IS NOT finished yet. Check carefully all the directives in the Administrator control Panel. Especially under the journal panel, where it is important to configure the journal name and locations panel (do not change anything here except the True Type font paths).

It is is a test intallation you may also want to give all permissions to the Administrator, otherwise you will not be able to perform editing and publish articles. Refer to the user manual for more details.

Warning

Do not forget to configure the Earliest timestamp in Control Panel->OAI panel if you wish your journal to be OAI compliant

Installing under Apache2

In order to be able to run the installer under Apache2 you must do the following:

  • Create a symlink from apachectl to apache2ctl

  • After running make install remove the lines containing rewrite rules from /etc/apache2/apache2.conf and move them to the suitable .conf file (usually somwhere under /etc/apache2/sites-enabled) depending on your system configuration. Restart apache.



[1] If you dont know your web-server's user name you can find it in the configuration file. (Search the file for a line beginning with User .) Alternatively you can search your etc/passwd for one of the most common names such as www, www-data, apache, nobody.