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.

The following description refers to the webhoster Strato. Certain points of this installation routine may differ for your webhoster, as every provider has different technical specifications.

  1. Ask for a ConfTool license, then download the installation file. Unpack it (e.g. using 7-Zip) into a folder with a distinct name. The installation pack contains 7 folders: classes, etc, htdocs, install, lib, pages, uploads.
  2. Log in on the page of your webhoster and create a MySQL database for your ConfTool installation.  Make a note of the database name, the database user name and the selected password.  This data will be needed later for the main configuration file "etc/conftool.conf.php" (see step 1).
    If your web host does not offer a MySQL web interface, see hint a.
  3. Go to the web backend of your hoster to access the database (for instance via phpMyAdmin) and select the newly created database. You can now copy and paste the contents of the file 'install/initdb.sql' (these commands create the required tables) and the file 'install/defaultdata.sql' (these commands fill the tables with some default data) into the SQL field of your previously created database.
  4. Connect to your webspace using an SFTP client and create two ConfTool directories:
    • 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".
    • 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 SFTP access offers. If your SFTP 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 If the access to this directory is still possible via your web browser create a directory with a random name instead that is impossible to guess (e.g. "ct34p58972p93845") and use that as your "hidden" folder.
  5. 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.
  6. Now please rename the filephpinfo.ph_ in your "public" folder to phpinfo.php.
    Do the same for the info.ph_file 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 the used PHP version. Please look for the parameter DOCUMENT_ROOT (press CTRL + F to search the page).
    The value should be something like:
    /home/strato/http/premium/1234567/htdocs
    If the parameter DOCUMENT_ROOT is missing see hint b.
    In case of the above example, you can conclude that the location of the “public” directory in the structure of the server is:
    /home/strato/http/premium/1234567/htdocs/conftool/
    /home/strato/http/premium/1234567/htdocs/conftool_hidden/
    You will need this information later.
  7. Copy the folders etc, lib, classes, pages and uploads to your hidden folder using SFTP. Keep the folder structure intact.
  8. The folder “conftool_hidden/uploads” needs full write permissions so that the web server can store uploaded files in that directory. Please use your SFTP 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 SFTP client).
    See hint c.
  9. Open the file settings.php inside your “public” folder and add the following line:
    <?php
    ini_set('include_path','/home/strato/http/premium/1234567/htdocs/conftool_hidden/etc');
    ?>

    See hint d.
  10. Continue to edit the main configuration file “etc/conftool.conf.php” of your ConfTool installation:
    • The “prefix” directory is the hidden directory of your installation, e.g.:
      $ctconf['paths/prefix']= '/ home/strato/http/premium/1234567/htdocs/conftool_hidden';
    • Usually the relative directories (e.g. $ctconf['paths/etc'] = 'etc/';) stay unchanged.
    • Enter the hostname of your web server (e. g. ‘rdbms.strato.de’)
    • 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
  11. Now proceed with the configuration. See:
    First Login to ConfTool, System Setup and Vital Tests
    and
    Documentation for the Configuration of ConfTool
  12. A convenient way to check your configuration now is to call:
    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.
  13. Now you can call your ConfTool installation at:
    www.mydomain.com/conftool/
    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”. Remember to change the admin password after first login!
     

Hints:

  1. Refering to point 2: If a MySQL webinterface is 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.
  2. Refering to point 6: If the parameter DOCUMENT_ROOT 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\
  3. Refering to point 8: 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.
  4. Refering to point 9: If supported by your webhoster you can set the include path by createing an .htaccess-file in your “public” ConfTool folder. It has to include the following commands:
    DirectoryIndex index.php
    php_value include_path "/home/strato/http/premium/1234567/htdocs/conftool_hidden/etc"

    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 that 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 "/home/strato/http/premium/1234567/htdocs/conftool_hidden/etc" to your .htaccess file.
    If this methods fails too, 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.

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?
  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