Installation of ConfTool on a Shared Web Server

If you do not have root rights on your server, the following steps are required to install ConfTool on a shared server. Please note that you might experience problems sending e-mails or uploading (large) files on these servers, as the server configuration of your provider might restrict some PHP options. In such a case please contact your provider.

  1. Ask for a license, then download the installation file. Unpack it (e.g. using 7-Zip) into a folder with a distinct name.

  2. Continue to install the MySQL database. Most providers of shared servers offer a web interface where you can create a new database. Write down the name of the host, the name of the database, the database user and the password. This data will later be needed for the main configuration file "etc/conftool.conf.php" (see step 11).

  3. If not supplied by your hosting provider, we recommend installing phpMyAdmin on the server. This program is for instance useful to create the database, for exporting data and for backups. More information is available at http://www.phpmyadmin.net/ . 
    Your phpMyAdmin directory must be protected by username and password or installed in a directory that is impossible to guess (see below).

  4. Open phpMyAdmin to create the required ConfTool database and user.
    If your provider does not provide you with a username and password for the database, please have a look at install/createDBUser.sql. Open and modify the file and copy these entries into the "Run SQL query/queries" text area of PhpMyAdmin to create a database with the name for your conference and the mysql user to access it.
    Now copy and paste the SQL code from the file install/initdb.sql (excluding any create database or use database statements). Finally, do the same with install/defaultdata.sql.
    Make sure that all queries are executed successfully and no error messages appear.

  5. Use your FTP client to create two ConfTool directories:
    i. One directory resides in the path of your web server that can be accessed publicly, therefore we will call it the "public" directory. You can name it for instance "conftool".
    ii. The other directory should be in a place that is not accessible via web browser. In contrast, we call this the "hidden" directory. This might be e.g. the home directory which your FTP access offers. If your FTP home directory is accessible, create a second directory, e.g.,"conftool_hidden" and protect it by an ".htaccess" file with the following single line:
    deny from all
    Please test that access to this directory is impossible via your web browser.
    If this method also fails, create a directory with a random name that is impossible to guess (e.g. "ct34p58972p93845") and use that as your "hidden" folder.

  6. Copy the contents of the folder conftool/htdocs to your "public" folder and use the same path for this new folder. Now the files index.php, imprint.php etc. should be directly accessible with your web browser. Calling them with your browser will still show an error message, as the installation is not yet complete.

  7. Now please rename the file phpinfo.ph_ in your "public" folder to phpinfo.php.
  8. Do the same for the file info.ph_and rename it to info.php.
    Using your web browser, access the phpinfo.php file. The URL should look similar to:
    www.mydomain.com/conftool/phpinfo.php
    This page will display an overview of all the settings and variables of PHP. Please look for the parameter DOCUMENT_ROOT (press CTRL + F to search the page).
    The value should be something like:
    C:\web\DEMO2013.ORG\htdocs\
    or
    /homepages/15/d126920202/htdocs/

    If this parameter is missing, please look for
    ORIG_PATH_TRANSLATED
    where you find the name of the current script on the server. It should look like: 
    C:\web\DEMO2013.ORG\htdocs\conftool\info.php
    Please record this directory information. The value above means that your root directory (DOCUMENT_ROOT) is at:
    C:\web\DEMO2013.ORG\htdocs\


    In case of the above example, you can conclude that the location of the “public” directory in the structure of the server is at
    C:\web\DEMO2013.ORG\htdocs\conftool and your “hidden” directory at
    C:\web\DEMO2013.ORG\htdocs\conftool_hidden
    or for the second example at:
    /homepages/15/d126920202/htdocs/conftool and
    /homepages/15/d126920202/htdocs/conftool_hidden
    You will need this information later.

  1. Copy the folders etc, lib, classes, pages and uploads to your hidden folder using FTP. Keep the folder structure intact.

  2. The folder “conftool_hidden/uploads” needs full write permissions so that the web server can store uploaded files in that directory. Please use your FTP client to do this modification (e.g. enter “chmod 777 uploads” or right-click the folder, select “Folder Properties…” and enable write access for everyone – the method depends on your FTP client). Some providers require you to go to the control panel of your web server and use the file manager tool to set the permissions. If your provider works with Windows servers, you might have to contact your server administrator in order for him to carry out this step for you.

  3. Now create an .htaccess-file in your “public” ConfTool folder. It has to include the following commands:

    DirectoryIndex index.php
    php_value include_path "/homepages/15/d126920202/htdocs/conftool_hidden/etc"

    ### For Apache 2 you can also set PHP values in this section.
    ### The following parameters set the maximum upload size.
    php_value upload_max_filesize 11M
    php_value post_max_size 12M

    The second line has to contain the path to your hidden “etc” directory. Please call the info.php file in your web browser to check if the settings worked. If the htaccess method works, depends on the software and configuration of your web server.

    If the standard method did not work, try to set the include_path in the file htdocs/conftool/settings.php of your “public” folder. The line should look like:

    <?php
    ini_set('include_path','/homepages/15/d126920202/htdocs/conftool_hidden/etc');
    ?>

    If that also does not work, maybe your provider offers a web interface where you can set such PHP parameters. Some providers also use a PHP extension called “suPHP”. Then you have to add the line
    suPHP_ConfigPath "/homepages/15/d126920202/htdocs/conftool_hidden/etc" to your .htaccess file.
    If all the above methods fail, contact your provider and ask him how to set the PHP parameter include_path on the server of the provider or ask him to set the parameter for you.

  4. Continue to edit the main configuration file “etc/conftool.conf.phpof your ConfTool installation:
    • The “prefix” directory is the hidden directory of your installation, e.g.:
      $ctconf['paths/prefix']= '/homepages/15/d126920202/htdocs/conftool_hidden';
    • Usually the relative directories (e.g. $ctconf['paths/etc'] = 'etc/';) stay unchanged.
    • Enter the hostname of your web server.
    • Set the name of the database and the mysql user and the password (retrieved in step 2).
    • Finally set up the parameters of the SMTP server for sending mails. Usually the standard parameters will do (“localhost”), sometimes you have to enter the login parameters of an external SMTP server.

    All further parameters are documented within that file, and more detailed information can be found here:
    http://www.conftool.net/en/technical_documentation/installation_instructions.html


      Hints:

      • A convenient way to check your configuration now is to call:
        http://www.mydomain.com/conftool/info.php
        This page checks all relevant settings and will give you many hints. You have to get rid of all error messages, and if possible, also of the warning messages.
      • If the login page appears, your setup works and you can delete the files phpinfo.php and info.php. Do not forget to do this for security reasons!
      • Now you can log into the ConfTool installation online using the default user name “admin” and password “admin”. Change the admin password after first login!

    FAQ: Some common problems

    1. The file “.htaccess” is not parsed or causes error messages? (This file does only work on Apache, but using it may be prohibited by server configuration). => Use the file “settings.php” in your “public” folder or the PHP control panel of your provider instead.
    2. The contents of the “public” directory are displayed instead of the login page. The default file for folders does not include the index.php file. You can include it by adding
      DirectoryIndex index.php
      to your .htaccess file. If that’s not possible, link directly to that file from your conference home page.
    3. There is a problem registering new users (e.g. very long delays or no e-mail is accepted):
      Maybe “nslookup” does not work => Disable this option in conftool.conf.php (it is used to verify the existence of domain names of e-mail-addresses)
      $ctconf['mail/checkdns'] = false;  // Default is true.
    4. Uploading of files does not work? 
      Probably the “uploads”-folder is not writeable? 
      Maybe safe_mode is active?
    5. Sending e-mails from conftool does not work?
      Check if there are problems with the SMTP server settings or the firewall of your server.
      First check the mail settings in conftool.conf and/or try another SMTP server.
      Alternatively, you can also try to disable “phpmailer” and use the build-in PHP mail functions:
      $ctconf['mail/phpmailer'] = false;  // Default is true
    6. When looking for errors, please also consider the error log of your web browser for hints.

    Please check the technical FAQ and the security hints as well!
    Technical FAQ for ConfTool
    Security Hints for PHP/MySQL Applications