Installationsanleitung

Wir stellen Ihnen zwei verschiedene Anleitungen zur Verfügung.

Wenn Sie für den von Ihnen betriebenen Server über Administratoren-Rechte (Root-Rechte) verfügen, dann folgen Sie bitte der untenstehenden Anleitung. Wir empfehlen diese Methode.

Wenn Sie hingegen nur Zugriff auf einen Shared Server haben, dann lesen Sie bitte die (englischsprachige) Anleitung auf dieser Seite durch: Installation of ConfTool on a Shared Web Server (without Root Access).

Installation von ConfTool auf einem Server mit Root-Rechten

Hinweis: Wir setzen im Folgenden eine funktionierende Web-Server-Installation mit php-Modul sowie mysql-Datenbank voraus. Die entsprechenden Informationen sind leicht im Internet zu finden. Wir können als Startpaket XAMPP empfehlen, das bereits alle Module zusammen enthält. Achten Sie jedoch darauf, dass Sie die sehr strengen Sicherheitseinstellungen für den öffentlichen Einsatz von XAMPP einhalten. Falls Sie nur Zugriff auf einen gehosteten Web-Server haben und dabei keine Administratoren-Rechte eingeräumt bekommen, muss das vom Provider angebotene Hosting-Paket die Anforderungen des ConfTool Systems erfüllen.

Schritt 1: Archiv entpacken und Rechte setzen

Erstellen Sie ein Verzeichnis, in dem Sie das Tool installieren möchten. Dies kann zum Beispiel "/usr/local/conftool" sein, oder "/home/conftool".

Eine weitere Möglichkeit besteht unter Unix darin, einen eigenen User für das ConfTool einzurichten und für die Installation "~/conftool/" zu nehmen.

Gehen Sie nun in das entsprechende Verzeichnis und entpacken Sie dort das Archiv, das die Dateien des Tools enthält, mit tar:

 

> tar xvzf conftool-x.y.tgz

 

(Windows: Bitte verwenden Sie Winzip, Winrar, 7-Zip oder ein ähnliches Werkzeug. Als Verzeichnis bietet sich z.B. C:\conftool\ an.)

Es werden dabei sieben Unterverzeichnisse erzeugt. Diese sind:

 

install/  enthält Installations-Hinweise und Skripte

 

etc/      enthält Konfigurationsdateien

 

uploads/  wird zur Speicherung von Beiträgen verwendet

 

htdocs/   enthält über den Browser zugängliche Dateien

 

lib/      enthält die Bibliotheken des ConfTools 

 

classes/  enthält die Klassen des ConfTools

 

pages/    enthält die Webseiten

 

Geben Sie bitte dem Webserver alle Dateirechte auf das Upload-Verzeichnis, damit er dort von Benutzern übertragene Dokumente ablegen kann! Läuft der Webserver z.B. unter dem Benutzernamen "nobody", führen Sie folgende Befehle aus:

 

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

 

(Wenn sie keine root-Rechte haben, verwenden Sie stattdessen "chmod a+rwx uploads/")

Außerdem benötigt der Webserver auf alle anderen Verzeichnisse (bis auf install/) Leseberechtigung.

Schritt 2: Webserver anpassen

Passen Sie die Konfiguration Ihres Webservers so an, dass das htdocs/-Verzeichnis von Webbrowsern aus erreichbar ist. Fügen Sie außerdem das etc/-Verzeichnis dem Suchpfad von PHP (php_include_path) hinzu.

Für den Apache-Server können Sie mit den folgenden Anweisungen in der "httpd.conf"-Datei die benötigten Einstellungen setzen (die Datei kann beispielsweise in "/etc/apache2/httpd.conf" gefunden werden, dies hängt aber von Ihrer Server-Installation ab):

Alias /conftool "/home/conftool/htdocs/"
<Directory "/home/conftool/htdocs">
    Require all granted  # Für Apache 2.4
    #Order deny,allow    # Bitte nehmen Sie statt dessen diese beide Zeilen
    #Allow from all      # für Apache 2.2 oder davor
    Options Includes FollowSymLinks
    DirectoryIndex index.php
    php_value include_path ".:/home/conftool/etc"

    AllowOverride All

# Einige PHP-Parameter, die entweder hier oder in der php.ini gesetzt werden müssen.
# Die Änderungen sind _hier_ aber nur bei Apache 2 möglich!

    # 15min sollten in der Regel reichen. Ansonsten werden z.B. Bulk-Mails mit einem Timeout abgebrochen.
    php_value max_execution_time 900

    # Aus Sicherheitsgründen:
    php_value register_globals off

    # Bei Problemen mit dem IE und Downloads unter SSL
    php_value session.cache_limiter public
    php_value session.cache_expire 5
</Directory>

Windows: statt "/home/conftool/..." heißt es bei Ihnen "C:/conftool/...", z.B.:

Alias /conftool "C:/conftool/htdocs/"
<Directory "C:/conftool/htdocs">
    Require all granted  # Für Apache 2.4
    #Order deny,allow    # Bitte nehmen Sie statt dessen diese beide Zeilen
    #Allow from all      # für Apache 2.2 oder davor.
    Options Includes FollowSymLinks
    DirectoryIndex index.php
    php_value include_path ".;C:/conftool/etc/"
(...siehe oben...)
</Directory>

Und last but not least muss der Webserver noch Dateien mit der Endung ".php" an den PHP-Interpreter übergeben, bevor er sie an den Browser ausliefert.

 

 AddType application/x-httpd-php .php

 

Zudem sollten Sie den Zugriff auf Backup-Dateien sperren, wie z.B. "*.bak", "*.BAK" und "*~" (siehe "Security Hints").

Es ist auch sinnvoll, die PHP-Konfiguration anzupassen, wenn beim Upload der Beiträge auch größere Dateien erlaubt sein sollen. Der Default hierfür ist je nach PHP-Version offensichtlich unterschiedlich.

Folgender Parameter in der php.ini-Datei (meistens in "/usr/local/lib/php.ini", "/etc/php.ini" oder "C:\windows\php.ini" zu finden) ist hierfür verantwortlich:

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

Diese Einstellungen bieten genügend Platz für Uploads von ca. 10MByte oder 15 Minuten Dauer und erhöhen das Timeout auf 5 Stunden. Achtung: Diese Werte können für gewöhnlich nicht lokal (in der .htaccess oder settings.php) wirksam hochgesetzt werden (auch wenn es erst so scheint).

Schritt 3: Testen der Installation

Nach dem Neustart des Apache-Servers sollten Sie testen, ob die Einstellungen erfolgreich waren. Bitte geben Sie hierzu folgende Adresse im Browser ein:

www.yourdomain.org/conftool/info.php

Wichtige Hinweise:

  • Bitte LÖSCHEN Sie die Datei htdocs/info.php nach Beendigung der Installation aus Sicherheitsgründen wieder.
  • "www.yourdomain.org" ist natürlich der Domain Name Ihres Web-Servers und "conftool" ist der Directory-Alias, den Sie in der httpd.conf-Datei angegeben haben.

Sie sollten eine Übersichtsseite erhalten, anhand der Sie erkennen können, ob die Konfiguration erfolgreich war. Sollten einige php-Parameter nicht korrekt gesetzt sein (da Sie beispielsweise keinen Zugriff auf die Datei php.ini haben), so können Sie auch versuchen, diese in den Dateien "htdocs/.htaccess" und "htdocs/settings.php" einzustellen. 

Schritt 4: Datenbank initialisieren

Für das ConfTool wird eine Datenbank benötigt, sowie ein Datenbank-Benutzer, der alle Rechte für diese Datenbank hat. In der weiteren Beschreibung gehen wir davon aus, dass der Benutzername "confuser" und der Name der Datenbank "conference" lautet. Sie können diese Namen natürlich ändern, dafür ist es allerdings notwendig, das Installations-Skript für die Datenbank anzupassen.

Die folgende Beschreibung bezieht sich auf die Installation unter MySQL.

Zum Anlegen der Datenbank werden in der Regel Administratoren-Rechte für das Datenbank-System benötigt.

Erzeugen Sie zuerst die neue Datenbank und legen Sie einen neuen Benutzer in der Datenbank an. Dieser Benutzer benötigt alle Rechte für die neue Datenbank. Wir gehen davon aus, dass Webserver und MySQL auf dem gleichen System installiert sind, so dass Zugriff vom Rechner "localhost" aus gewährt wird. Falls der Web-Server auf einem anderen Rechner als die Datenbank läuft, sollten Sie hier statt "localhost" die IP-Adresse des Web-Servers angeben. Sie sollten auch ein entsprechendes Passwort wählen.

Die entsprechenden Kommandos sind in der Datei install/createDBUser.sql zu finden. Nach dem Anpassen dieser Datei können Sie die Befehle folgendermaßen an die Datenbank übergeben:

 

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

 

(Sie werden nach dem Passwort des Root-Users der mysql-Datenbank gefragt.)

Anschließend führen Sie das beiliegende Initialisierungs-Skript auf der Datenbank aus (Sie müssen das neue Passwort eingeben):

 

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

 

Nun sollten sie die Default-Daten in die Datenbank einfügen:

 

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

 

Die Datenbank ist jetzt fertig eingerichtet.

Schritt 5: ConfTool Basiskonfiguration

Der nächste Schritt ist die Konfiguration des ConfTools selbst, um es an ihre Gegebenheiten anzupassen. Alle Einstellungen werden in der Datei "etc/conftool.conf.php" vorgenommen und sind dort gut dokumentiert.

Hier werden die Installationspfade des ConfTool-Systems eingetragen und einige grundlegende Parameter definiert. Sie können die zwei Hauptmodule aktivieren und deaktivieren (Einreichung & Begutachtung sowie Teilnehmeranmeldung) und sie können zum Beispiel die Spracheinstellungen festlegen, ob Sie Gebühren für die Veranstaltung erheben wollen und MwSt. berechnen müssen und ob die Autorendaten den Gutachtern angezeigt werden sollen (Doppel-Blind-Gutachten).

Es ist vergleichsweise einfach, alle Ausgabetexte des Systems anzupassen. Sie alle sind in einer Sprachdatei enthalten, die im Verzeichnis "etc/" liegt. Die beiden Standardsprachen sind Englisch und Deutsch, die entsprechenden Dateien heißen "englsh.lang" und "german-utf8.lang". Andere Sprachen sind auf Anfrage erhältlich.

VORSICHT: Unsachgemäße Änderungen der Texte können leicht zu Problemen führen. Bitte ändern Sie daher nur in etwas, wenn es wirklich notwendig ist und testen Sie die Änderungen gut.

Schritt 6: Seitenkopf und -fuß anpassen

Das ConfTool bietet Ihnen die Möglichkeit, einen Seitenkopf und einen Seitenfuß einzubinden, die auf allen Seiten eingefügt werden. Dies kann einfaches HTML, aber auch PHP-Code sein. Die beiden Dateien, die dazu verändert werden können, liegen im "etc/"-Verzeichnis und heißen "siteheader.inc.php" und "sitefooter.inc.php". Passen Sie diese Dateien an, um das Tool dem Design passend in Ihre Webseite einzufügen.

Zudem sollten Sie die Bild-Dateien "logo-left.gif" und "logo-right.gif" im "htdocs/"-Verzeichnis durch das Logo Ihrer Konferenz bzw. Organisation ersetzen. Empfohlene Breite: ca. 120-150 Pixel, Höhe: 60-80 Pixel. Die Datei "logo-invoice.gif" muss ebenfalls ersetzt werden; sie erscheint auf den Rechnungen rechts oben und ist in der Regel das Logo des verantwortlichen Veranstalters.

Es ist möglich, die Farbgebung des ConfTools zu verändern: Für die Darstellung werden Cascading Style Sheets verwendet, deren Definition Sie in "htdocs/conftool.css" finden. Für Änderungen kopieren Sie bitte die anzupassenden Definitionen in die Datei "conftool-custom.css". Allerdings ist die Anpassung nicht so einfach, wie sie zuerst erscheinen mag: Bitte testen Sie Ihr neues Farbschema, um sicher zu stellen, dass das System durch die Änderungen nicht unbenutzbar wird.