Installation Instructions

We provide two different installation instructions.

If you have root (administrator) access to a server (that you run yourself), then please follow the Installation guide below. We recommend this method.

If you have access to a shared server only, then have a look at our alternative installation instructions, please: Installation of ConfTool on a Shared Web Server (without Root Access).

Installation of ConfTool on a Server with Root Access

Note: For the following installation process we presuppose the configuration of your own, (preferably) Apache web server with root (administrator) access, in conjunction with the PHP module and a MySQL database already installed. A good starting point including all the modules in a package is for example XAMPP. However, please note that for public use XAMPP needs very strict security settings. For a hosted web server without root access ConfTool system requirements must be met by the package offered by the provider.

Step 1: Download the installation package

Please contact us if you want to apply for a license. Once your request has been approved, you will receive a download link from ConfTool. Download the archive (zipped file) to a local directory onto your hard drive.

Step 2: Unpack archive and set file permissions

Create a directory into which you want to install ConfTool. This can be e.g.

"/usr/local/conftool/" or "/home/conftool/htdocs/".

Under UNIX it is advisable to create a new user and use "~/conftool" as the installation directory. Go to the installation directory of your choice and unpack the archive using the following command:

  > tar xvzf conftool-x.y.tgz

(Windows: Please use Winzip, Winrar, 7-Zip or a similar tool to unpack. The home directory could be e.g. "C:\conftool\".)

Seven sub-directories will be created. These are:

  install/    directory with installation support files
  etc/        contains configuration files
  htdocs/     contains files, directly accessible through the Web server
  pages/      contains all Web pages
  lib/        contains libraries of ConfTool
  classes/    contains classes of ConfTool
  uploads/    used to save paper uploads

Please set the user privileges for the upload directory so that the web server has full write access to that directory. This is necessary as uploaded documents will be stored here. Example: If the server (httpd) runs as user "nobody", please execute the following commands:

  > chown nobody uploads/
  > chmod u+rwx uploads/

(If you do not have root rights, you may instead set "chmod a+rwx uploads/").
Furthermore, the server needs read access to all these directories (except install/).

Step 3: Web Server Configuration

The configuration of the server has to be modified so that the "htdocs/" directory can be directly accessed through the Web server. Furthermore, the "etc/" directory has to be added to the PHP include path (php_include_path).

For the Apache server the following configuration commands realize the above enhancements (if "/conftool" is the URL and "/home/conftool/" is the directory, where ConfTool should be located). This Apache configuration file is usually called "httpd.conf" and can for instance be found in "/etc/apache2/httpd.conf", but this depends on your system setup.

Alias /conftool "/home/conftool/htdocs/"
<Directory "/home/conftool/htdocs">
   Require all granted  # Use this if you are using Apache 2.4
   #Order deny,allow    # Use these two lines instead if
   #Allow from all      # you are using Apache 2.2 or below
   Options Includes FollowSymLinks
   DirectoryIndex index.php
   php_value include_path ".:/home/conftool/etc"

   AllowOverride All

   # The following php parameters have to be set here or in php.ini (preferred!)
   # php_value works only in Apache 2!
   # 15min timeout is usually enough - otherwise some functions like bulk mails may be cancelled by a timeout message...
   php_value max_execution_time 900
   # For security reasons:
  php_value register_globals off
   # If you have problems downloading files with IE and SSL, please try the following settings:
   php_value session.cache_limiter public
   php_value session.cache_expire 5
</Directory>

Windows: Instead of "/home/conftool/..." you have to enter for instance "C:/conftool/...", e.g.

Alias /conftool "C:/conftool/htdocs/"
<Directory "C:/conftool/htdocs/">
   Require all granted   # Use this if you are using Apache 2.4
   #Order deny,allow     # Use these two lines instead if you
   #Allow from all       # are using Apache 2.2 or below.
   Options Includes FollowSymLinks
   DirectoryIndex index.php
   php_value include_path ".;C:/conftool/etc/"
   (... see above ...)
</Directory>

Last but not least, the server has to be configured to parse all files with the extension ".php" by the PHP interpreter before sending them to the browser. Add the following command to the httpd.conf file if it does not yet exist:

   AddType application/x-httpd-php .php

We strongly recommend blocking the access to backup files like "*.bak", "*.BAK" and "*~" (please see page "Security Hints").

Finally, we recommend that you modify the standard PHP configuration to allow big file uploads for the submission process. The default value depends on the installed PHP version, however, it is usually about 2 MByte. The following parameter in the "php.ini"-file (generally located in "/usr/local/lib/php.ini", "/etc/php.ini" or "C:\windows\php.ini" ) is responsible for the maximum file size for uploads:

   upload_max_filesize 11M
   post_max_size 12M
   memory_limit 32M
   max_execution_time 900
   session.gc_maxlifetime 18000

This allows a maximum upload file size of 10 MByte and 15 minutes before timeout for single executions and increases the overall session timeout to five hours. Usually these settings cannot be changed to higher values locally (in .htaccess or settings.php), even if it seems so.

Step 4: Testing the Setup

After restarting the server you should test if your settings worked. Please call the following address in your browser:

www.yourdomain.org/conftool/info.php

Important Remarks:

  • For security reasons, the file "htdocs/info.php" will appear as info.ph_ in the htdocs folder. Simply rename this file to info.php for your tests.
  • Please remove the file info.php after finishing your installation for security reasons.
  • "www.yourdomain.org" is the domain name of your server and "conftool" is the directory alias set in your httpd.conf file.

The file info.php shows an overview of the current PHP settings for ConfTool. If some parameters are not configured correctly they will be highlighted. If you do not have access to php.ini, you may also try to set these values in the files "htdocs/.htaccess" and "htdocs/settings.php".

Step 5: Initialize Database

For VSIS ConfTool, a database is required to store all data. Additionally a database user has to be set up to enable write access to the tables in the database.

The standard configuration uses a database called "conference" and a database user "confuser". These names can be modified. However, if you choose to modify the names, you must adapt the ConfTool configuration files as well.

The following description is for a MySQL database system. To create the database and the database user, normally root rights are required.

Start by creating the new database and a new user. You also have to assign all rights for the new database to this user. In our example, the Web server and MySQL database system reside on the same computer. If you require a distributed configuration, please adapt the commands and use the Web server's IP instead of "localhost". Please choose a suitable "password". The appropriate commands for this can be found in the file install/createDBUser.sql .

After editing this file you can invoke it by calling in the command prompt:

mysql -u root -p < install/createDBUser.sql

(You will be asked for the password of the root user of the MySQL database)

Now create the database tables by running the installation script on your database (you have to enter the new password):

mysql conference -u confuser -pconfpass < install/initdb.sql

The next step is to store the default data in the database:

mysql conference -u confuser -pconfpass < install/defaultdata.sql

Alternatively, you can create the database in phpMyAdmin if this tool is already installed:

  • Open the install folder and modify the file install/createDBUser.sql to match your requirements regarding username, password and database name.
  • Copy and paste these entries into the "Run SQL query/queries" text area of phpMyAdmin to create a database with the name for your conference and the required MySQL users.
  • Select the newly created database in phpMyAdmin and then copy and paste ("Run SQL query/queries" ) the SQL-Code from the file "install/initdb.sql" (excluding any create database or use database statements).
  • Do the same with "install/defaultdata.sql"

Make sure that all queries are executed successfully and no error messages appear.

Now the database with all required tables and the default entries should be installed.

Step 6: Main Configuration of ConfTool

The next step is configuring ConfTool. You need to modify some settings to make it work with your web server and database. Moreover, some settings have to be customized to make ConfTool your conference system. All ConfTool settings are defined in the file "etc/conftool.conf.php" and well documented.

You have to set your ConfTool installation paths and other basic parameters. Here you can enable and disable the two main modules (submission&reviewing and participant registration) and can for instance define the language settings, if you want to charge fees from your conference participants, if you have to charge VAT and if author information is shown to the reviewers (double-blind reviewing).

The language and wordings of the system can also be modified. All textual output is defined (and can be updated) in the "language file" that resides in the directory "etc/". The default languages are English and German, the corresponding files are "english.lang" and "german-utf8.lang". Other languages are available on request.

NB: For the Pro version, all wording are have to be updated in the back end of the system.

WARNING: Changes to the language file may be tricky and have to be tested carefully.

Step 7: Modify the Appearance of ConfTool

ConfTool has a site header and footer that can easily be modified to match the appearance of your conference. You can use simple HTML as well as PHP code in these files. The two files that should be modified reside in the directory "etc/" and are called "siteheader.inc.php" and "sitefooter.inc.php". You should modify these files to make the tool look similar to your conference site.

Furthermore, the image files "logo-left.gif" and "logo-right.gif" in the directory "htdocs/" should be replaced by small logos of your conference or institution. Recommended width: 120-150 pixel, height: 60-80 pixel. Finally, the file "logo-invoice.gif" should be replaced by a logo of the organizer. It is used on invoices in the upper right corner above the addressor.

The "htdocs/" directory also contains the cascading style sheet file for ConfTool. It is called "conftool.css" and contains all color and font definitions for the tool. To update the definition, copy the lines you want to change to "conftool-custom.css". It is possible to alter the color and fonts scheme of the system to match your design requirements. However, such modifications bear the risk of making the system less usable, if the new color scheme is not tested properly.