Table of Contents
1. Download the installation package
2. Unpack archive and set file permissions
3. Web server configuration
4. Testing the setup
5. Initialize database
6. Main configuration of ConfTool
7. Modify the appearance of ConfTool
Detailed Installation Instructions
This page describes how to install ConfTool manually. Depending on your server access, there are two variants:
- If you have root (administrator) access to a server that you run yourself, please follow the installation guide below. We recommend this method for manual installations.
- If you only have access to a shared server, please see our Installation of ConfTool on a Shared Web Server (without Root Access).
Tip: The easiest and fastest way to install ConfTool is our installer – see Installation using the Installer. The manual installation described here is intended for users who need more control over the setup.
Installation of ConfTool on a Server with Root Access
For the following installation process we presuppose your own (preferably) Apache web server with root (administrator) access, in conjunction with the PHP module and a MySQL or MariaDB database already installed. A good starting point that includes all the modules in one package is, for example, XAMPP. Please note, however, that for public use XAMPP needs very strict security settings. For a hosted web server without root access, the ConfTool system requirements must be met by the package offered by the provider.
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 on your hard drive.
2. Unpack archive and set file permissions
Create a directory into which you want to install ConfTool, for example /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
On Windows, please use 7-Zip, WinRAR, WinZip or a similar tool to unpack the archive (see 7-zip.org). The home directory could be, for example, C:\conftool\.
Seven sub-directories will be created:
install/ installation support files
etc/ configuration files
htdocs/ files that are directly accessible through the web server
pages/ all web pages
lib/ libraries of ConfTool
classes/ classes of ConfTool
uploads/ storage for paper / file uploads
Please set the user privileges for the uploads/ directory so that the web server has full write access to it, as uploaded documents will be stored there. For example, if the server (httpd) runs as user nobody, execute the following commands:
chown nobody uploads/
chmod u+rwx uploads/
If you do not have root rights, you may instead use chmod a+rwx uploads/. Furthermore, the server needs read access to all of these directories (except install/).
3. Web server configuration
The server configuration has to be modified so that the htdocs/ directory can be accessed directly through the web server. Furthermore, the etc/ directory has to be added to the PHP include path (include_path).
For the Apache server, the following configuration realizes the above (assuming /conftool is the URL and /home/conftool/ is the directory where ConfTool is located). This Apache configuration file is usually called httpd.conf and can, for instance, be found at /etc/apache2/httpd.conf, but this depends on your system setup.
Alias /conftool "/home/conftool/htdocs/"
<Directory "/home/conftool/htdocs">
Require all granted
Options Includes FollowSymLinks
DirectoryIndex index.php
php_value include_path ".:/home/conftool/etc"
AllowOverride All
# The following PHP parameters can be set here or, preferably, in php.ini.
# A 15-minute timeout is usually enough - otherwise functions such as
# bulk mails may be cancelled by a timeout message.
php_value max_execution_time 900
</Directory>
Note: The php_value directives only work when PHP runs as an Apache module (mod_php). If you run PHP via PHP-FPM or as CGI, set these values in php.ini, in your FPM pool configuration, or in a .user.ini file instead.
On Windows, use C:/conftool/... instead of /home/conftool/..., for example:
Alias /conftool "C:/conftool/htdocs/"
<Directory "C:/conftool/htdocs/">
Require all granted
Options Includes FollowSymLinks
DirectoryIndex index.php
php_value include_path ".;C:/conftool/etc/" (... see above ...)
</Directory>
Finally, the server has to be configured to parse all files with the extension .php through the PHP interpreter before sending them to the browser. With mod_php you can add the following to httpd.conf if it does not yet exist:
AddType application/x-httpd-php .php
We strongly recommend blocking access to backup files such as *.bak, *.BAK and *~ (please see the page Security Hints).
We also recommend modifying the standard PHP configuration to allow large file uploads for the submission process. The default value depends on the installed PHP version, but is usually about 2 MB. The relevant parameters in php.ini (generally located at /usr/local/lib/php.ini, /etc/php.ini or C:\windows\php.ini) are:
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 MB, 15 minutes before timeout for single executions, and increases the overall session timeout to five hours. Usually these settings cannot be raised to higher values locally (in .htaccess or settings.php), even if it seems so.
4. Testing the setup
After restarting the server, you should test whether 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 ships as info.ph_ in the htdocs folder. Simply rename it to info.php for your tests.
• Please remove the file info.php again 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.
5.Initialize database
ConfTool requires a database 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, but if you change them you must adapt the ConfTool configuration files as well.
The following description is for a MySQL/MariaDB database system. To create the database and the database user, root rights are normally required.
Start by creating the new database and a new user, and assign all rights for the new database to this user. In our example, the web server and database system reside on the same computer; for a distributed configuration, adapt the commands and use the web server's IP instead of localhost. Please choose a suitable password. The appropriate commands can be found in the file install/createDBUser.sql. After editing this file, invoke it from the command prompt:
mysql -u root -p < install/createDBUser.sql
(You will be asked for the password of the root user of the database.) Now create the database tables by running the installation script (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 the database and the required MySQL users.
- Select the newly created database in phpMyAdmin, then copy and paste the SQL code from install/initdb.sql (excluding any CREATE DATABASE or USE statements).
- Do the same with install/defaultdata.sql.
Make sure that all queries are executed successfully and that no error messages appear. The database with all required tables and the default entries should now be installed.
Character encoding: Please make sure the database uses the utf8mb4 character set and a matching collation. See the character-encoding section of our Technical FAQ for details.
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, and to customize it for your conference. All ConfTool settings are defined in the file etc/conftool.conf.php and are 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 define, for example, the language settings, whether you want to charge fees from your conference participants, whether you have to charge VAT, and whether 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.
Please note: For the Pro version, all wordings have to be updated in the back end of the system. Changes to the language file can be tricky and have to be tested carefully.
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 reside in the directory etc/ and are called siteheader.inc.php and sitefooter.inc.php. Modify them 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 pixels, height: 60–80 pixels). Finally, the file logo-invoice.gif should be replaced by a logo of the organizer; it is used in the upper-right corner of invoices, above the addressor.
The htdocs/ directory also contains the cascading style sheet for ConfTool, called conftool.css, which holds all colour and font definitions. To change a definition, copy the lines you want to change to conftool-custom.css. You can alter the colour and font scheme of the system to match your design requirements. Please note, however, that such modifications carry the risk of making the system less usable if the new colour scheme is not tested properly.