Installation von ConfTool auf einem Shared Web Server

Sofern Sie keine Root-Rechte auf Ihrem Server haben, sind die folgenden Schritte erforderlich, um ConfTool auf einem Shared Web Server zu installieren. Bitte beachten Sie, dass es auf diesen Servern zu Problemen beim Versand von E-Mails oder beim Hochladen von (großen) Dateien kommen kann. Die Serverkonfiguration Ihres Providers könnte zudem einige PHP-Optionen eingeschränkt haben. Ist dies der Fall so wenden Sie sich bitte an Ihren Provider.

Die folgende Beschreibung bezieht sich auf den Webhoster Strato. Manche Punkte dieser Installationsanleitung können sich von der Vorgehensweise bei ihrem Webhoster unterscheiden, da jeder Anbieter andere technische Spezifikationen hat.

  1. Erfragen Sie unter requests@conftool.net eine ConfTool Lizenz und laden Sie die Installationsdateien herunter. Entpacken Sie die Installationsdateien  (z. B. mit 7-Zip).Folgende 7 Ordner sollten im eben entpackten Ordner enthalten sein: classes, etc, htdocs, install, lib, pages, uploads.
  2. Loggen Sie sich bei Ihrem Webhoster ein und erstellen Sie für Ihre ConfTool-Installation eine MySQL Datenbank. Notieren Sie sich den Datenbanknamen, den Datenbank Benutzernamen und das Passwort. Diese Angaben werden später für die Hauptkonfigurationsdatei „etc/conftool.conf.php“ benötigt (siehe Punkt 12).
    Sollte Ihr Webhoster keine MySQL Schnittstelle bereitstellen beachten Sie bitte Hinweis a.
  3. Über das backend ihres Webhosters loggen Sie sich nun in phpMyAdmin ein und öffnen die eben erstellte Datenbank. Kopieren Sie die Inhalte der Dateien „install/initdb.sql“ (diese Kommandos erzeugen die benötigten Tabellen) und „install/defaultdata.sql“ (diese Kommandos füllen die Tabellen mit Standarddaten) und fügen Sie diese jeweils in das SQL Feld der Datenbank ein.
  4. Mit einem SFTP Programm greifen Sie nun auf Ihr Webverzeichnis zu, in dem Sie ConfTool installieren möchten. Erstellen Sie hier 2 Ordner:
    Ein Verzeichnis soll öffentlich zugänglich sein, wir nennen es fortlaufend das „öffentliche“ Verzeichnis. Geben Sie diesem einen eindeutigen Namen, z. B.  "conftool".
    Das andere Verzeichnis soll öffentlich nicht zugänglich sein, wir nennen es das „versteckte“ Verzeichnis. Dies kann z.B. das Home-Verzeichnis sein, das Ihr SFTP-Zugang bietet. Wenn Ihr SFTP-Home-Verzeichnis zugänglich ist, erstellen Sie ein zweites Verzeichnis, z.B. „conftool_hidden“, und schützen Sie es durch eine „.htaccess“-Datei mit der folgenden einzelnen Zeile:
    deny from all
    Falls der Zugriff auf dieses Verzeichnis über Ihren Web-Browser dennoch möglich ist, erstellen Sie stattdessen ein Verzeichnis mit einem zufälligen Namen, der unmöglich zu erraten ist (z.B. „ct34p58972p93845“), und verwenden Sie dieses als Ihr „verstecktes“ Verzeichnis.
  5. Kopieren Sie den Inhalt des Ordners conftool/htdocs in Ihren „öffentlichen“ Ordner behalten Sie die Ordnerstruktur bei. Die Dateien index.php, imprint.php usw. sollten nun direkt über Ihren Web Browser aufrufbar sein. Weil die Installation jetzt noch unvollständig ist, bekommen Sie beim Aufruf noch eine Fehlermeldung.
  6. Benennen Sie die Datei filephpinfo.ph_ in ihrem „öffentlichen“ Ordner um zu phpinfo.php.
    Die Datei info.ph_ benennen Sie um in info.php.
    Greifen Sie nun mit ihrem Webbrowser auf die Datei phpinfo.php zu. Die URL sollte etwa so aussehen:
    www.mydomain.com/conftool/phpinfo.php
    Diese Seite gibt einen Überblick über die installierte PHP-Version. Suchen Sie nach dem Parameter DOCUMENT_ROOT (drücken Sie STRG + F um im Browser das Suchfenster zu öffnen sofern Sie den Parameter nicht direkt finden können).
    Der zugehörige Eintrag sollte in etwa so aussehen:
    /home/strato/http/premium/1234567/htdocs
    Falls es den Parameter DOCUMENT_ROOT nicht gibt, beachten Sie bitte Hinweis b.
    Abgeleitet vom gerade genannten Beispiel muss der Pfad des “öffentlichen” Verzeichnisses wie folgt lauten:
    /home/strato/http/premium/1234567/htdocs/conftool/
    /home/strato/http/premium/1234567/htdocs/conftool_hidden/

    Diese Angaben brauche Sie später noch.
  7. Kopieren Sie mit Ihrem SFTP Programm die Ordner:  etc, lib, classes, pages und uploads in Ihren „versteckten“ Ordner. Erhalten Sie auch hier die Ordnerstruktur.
  8. Der Ordner conftool_hidden/uploads benötigt vollen Schreibzugriff damit hochgeladene Dateien in diesem Verzeichnis gespeichert werden können. Der Schreibzugriff kann per SFTP Programm eingerichtet werden (z. B. durch Eingabe von „chmod 777 uploads” oder per rechtsklick „Ordner Einstellungen…” und dann den Schreibzugriff für jeden erlauben – Die genaue Bezeichnung hängt vom verwendeten SFTP Programm ab). Siehe Hinweis c.
  9. Öffnen Sie in Ihren „öffentlichen“ Ordner die Datei settings.php  und fügen Sie folgendes hinzu:
    <?php
    ini_set('include_path','/home/strato/http/premium/1234567/htdocs/conftool_hidden/etc');
    ?>

    Siehe Hinweis d.
  10. Bearbeiten Sie nun die Hauptkonfigurationsdatei “etc/conftool.conf.php” Ihrer ConfTool Installation
    • Das “prefix” Verzeichnis ist das versteckte Verzeichnis Ihrer Installation, z. B.:
      $ctconf['paths/prefix']= '/home/strato/http/premium/1234567/htdocs/conftool_hidden';
    • Die relativen Verzeichnisse (z. B. $ctconf['paths/etc'] = 'etc/';) bleiben unverändert.
    • tragen Sie den hostnamen ihres Webservers ein (z. B. ‘rdbms.strato.de’)
    • tragen Sie den Namen der Datenbank, den MySQL Benutzernamen und das Passwort ein. (siehe Schritt 2).
    • letztlich richten Sie die Parameter des SMTP-Servers für den Versand von E-Mails ein. Normalerweise genügen die Standardparameter ("localhost"), manchmal müssen Sie die Login-Parameter eines externen SMTP-Servers eingeben.

      Alle weiteren Parameter sind in der Datei dokumentiert, detailliertere Informationen finden Sie hier:
      https://www.conftool.net/de/technische_dokumentation/installationsanleitung.html
  11. Fahren Sie nun mit der Konfiguration fort. Siehe:
    Erste Anmeldung bei ConfTool, Systemeinrichtung und wichtige Test
    und
    Dokumentation für die Konfiguration von ConfTool
  12. Eine gute Möglichkeit, Ihre Konfiguration jetzt zu überprüfen, ist ein Aufruf von:
    www.mydomain.com/conftool/info.php
    Diese Seite prüft alle relevanten Einstellungen und gibt Ihnen viele Hinweise. Sie sollten alle Fehlermeldungen und, wenn möglich, auch die Warnmeldungen prüfen und beheben.
  13. Unter folgender Adresse können Sie jetzt Ihre ConfTool Installation aufrufen:
    www.mydomain.com/conftool/
    Wenn die Login-Seite erscheint funktioniert Ihre Installation. Aus Sicherheitsgründen löschen Sie jetzt die Dateien phpinfo.php und info.php.
    Mit dem Standardbenutzernamen „admin” und dem Passwort „admin” können Sie sich in die Installation einloggen. Vergessen Sie nicht das Passwort nach dem ersten Login zu ändern.

Hinweise

  1. Zu Punkt 1: Wenn Ihr Hosting-Provider keine MySQL-Webschnittstelle bereitstellt, empfehlen wir, phpMyAdmin auf dem Server zu installieren. Dieses Programm ist z.B. für die Erstellung der Datenbank, für den Datenexport und für Backups nützlich. Weitere Informationen finden Sie unter http://www.phpmyadmin.net/
    Ihr phpMyAdmin-Verzeichnis muss durch Benutzername und Passwort geschützt werden oder in einem Verzeichnis installiert sein, das unmöglich zu erraten ist.
  2. Zu Punkt 6: Wenn der Parameter DOCUMENT_ROOT fehlt schauen Sie nach
    ORIG_PATH_TRANSLATED
    wo Sie den Namen des aktuellen Skripts auf dem Server finden. Es sollte so aussehen: C:\web\DEMO2013.ORG\htdocs\conftool\info.php
    Der Eintrag bedeutet der Pfad (DOCUMENT_ROOT) lautet:
    C:\web\DEMO2013.ORG\htdocs\
  3. Zu Punkt 8: Bei einigen Providern müssen Sie das Dateiverwaltungsprogramm des Webservers zur Festlegung der Berechtigungen verwenden. Wenn Ihr Provider mit Windows-Servern arbeitet, müssen Sie möglicherweise den Server-Administrator kontaktieren, damit er diesen Schritt für Sie ausführt.
  4. Zu Punkt 9: Falls von Ihrem Webhoster unterstützt, können Sie den Include-Pfad festlegen, indem Sie eine .htaccess-Datei in Ihrem "öffentlichen" ConfTool-Ordner erstellen. Sie muss die folgenden Befehle enthalten:
    DirectoryIndex index.php
    php_value include_path „/home/strato/http/premium/1234567/htdocs/conftool_hidden/etc“

    Die zweite Zeile muss den Pfad zu Ihrem versteckten „etc“-Verzeichnis enthalten. Bitte rufen Sie die Datei info.php in Ihrem Webbrowser auf, um zu überprüfen, ob die Einstellungen funktionieren. Ob die htaccess-Methode funktioniert, hängt von der Software und der Konfiguration Ihres Webservers ab.

    Sollte das nicht funktionieren, bietet Ihr Provider vielleicht ein Webinterface an, in dem Sie diese PHP-Parameter einstellen können. Einige Provider verwenden auch eine PHP-Erweiterung namens „suPHP“. Dann müssen Sie die Zeile
    suPHP_ConfigPath „/home/strato/http/premium/1234567/htdocs/conftool_hidden/etc“
    zu Ihrer .htaccess Datei.
    Wenn auch diese Methode fehlschlägt, wenden Sie sich an Ihren Provider und fragen Sie ihn, wie der PHP-Parameter include_path auf dem Server des Providers gesetzt werden kann, oder bitten Sie ihn, den Parameter für Sie zu setzen.

FAQ: Einige häufige Probleme

  1. Die Datei „.htaccess“ wird nicht geparst oder verursacht Fehlermeldungen?
    Diese Datei funktioniert nur unter Apache, aber ihre Verwendung kann durch die Serverkonfiguration unterdrückt sein. => Verwenden Sie stattdessen die Datei „settings.php“ in Ihrem „öffentlichen“ Ordner oder die PHP-Einstellungsseite Ihres Providers.
  2. Anstelle der Anmeldeseite wird der Inhalt des öffentlichen Ordners angezeigt? Es gibt keine index.php in Ihrem Root-Verzeichnis. Sie können diese per
    DirectoryIndex index.php
    zu Ihrer .htaccess Daei hinzufügen.  Sollte das nicht funktionieren verlinken Sie von Ihrer Konferenzwebsite direkt auf das Installationsverzeichnis.
  3. Wenn Sie Probleme bei der Registrierung neuer Benutzer haben (z.B. sehr lange Verzögerungen oder es wird keine E-Mail angenommen) funktioniert möglicherweise die DNS-Abfrage zur Überprüfung von E-Mail-Adressen nicht => Deaktivieren Sie diese Option in der Datei conftool.conf.php:
    $ctconf['mail/checkdns'] = false;  // Default is true.
  4. Sie können keine Dateien hochladen? Möglicherweise hat der „uploads“-Ordner keinen Schreibzugriff.
  5. Der E-Mail-Versand klappt nicht? Prüfen Sie, ob die SMTP-Server-Einstellungen richtig sind oder der Versand durch die Firewall des Servers blockiert wird. Kontrollieren Sie die Einträge in der Datei conftool.conf.php oder probieren Sie es mit einem anderen SMTP-Server.
    Alternativ können Sie auch versuchen, die Bibliothek „phpmailer" zu deaktivieren und die eingebaute PHP-Mail-Funktionen zu verwenden:
    $ctconf['mail/phpmailer'] = false;  // Default is true
  6. Für weitere Hinweise bei der Fehlersuche beachten Sie bitte auch das Fehlerprotokoll Ihres Webservers.

Bitte beachten Sie auch die technischen FAQ und die Sicherheitshinweise:

Technical FAQ for ConfTool
Security Hints for PHP/MySQL Applications