=========================================================================== ConfTool - Your Conference Management Tool (c) 2001-2006 Harald Weinreich VSIS, Fachbereich Informatik, Universität Hamburg http://www.conftool.net/ =========================================================================== SYSTEMVORAUSSETZUNGEN ===================== Für den Einsatz des ConfTools werden ein Webserver mit Unterstützung für PHP sowie MySQL als relationale Datenbank benötigt. Benötigte Versionen: * Apache ab 1.3.x oder 2.0.36 oder höher * PHP Version 4.3.x/4.4.x/5.0.x/5.1.x (sollte möglichst als Apache-Modul installiert sein) * MySQL ab Version 4.0.x Entwickelt wird das System zur Zeit auf einer Systemumgebung mit: * Apache HTTPD 2.0.50 (mit SSL) * PHP 4.3.10 und PHP 5.1.2 * MySQL 4.1.21 * Linux 2.6, Windows XP SP2 ConfTool wurde bereits erfolgreich unter OSX/FreeBSD/Darwin, Solaris, Gentoo und anderen Unix-Derivaten installiert. Es ist auch möglich, ConfTool mit dem Microsoft IIS und php als cgi zu verwenden, allerdings wird darauf nicht in dieser Anleitung eingegangen. Sollten sich auf anderen Systemkonfigurationen Probleme ergeben, bitte ich um Nachricht an die Adresse . Auch über Nachrichten bei erfolgreicher Installation freue ich mich. Für einige der angegebenen Schritte benötigen Sie Administratoren-Rechte. Die Installation ohne die entsprechenden Rechte oder auf einem "Shared Server" wie bei "1und1" oder "Strato" ist ebenfalls möglich, aber etwas komplizierter. Die Pro-Version beinhaltet eine entsprechende Anleitung und den zumeist notwendigen Support. Wir biete ich das Hosting von ConfTool zu fairen Preisen an, wobei dann das System nach Ihren Ansprüchen installiert und konfiguriert wird. INSTALLATION ============ 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. * 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 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-Support etc/ enthält Konfigurationsdateien htdocs/ enthält über den Browser zugängliche Dateien pages/ enthält die Webseiten lib/ enthält die Bibliotheken des ConfTools classes/ enthält die Klassen des ConfTools uploads/ wird zur Speicherung von Beiträgen verwendet 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 statt dessen "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 die 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/" Order deny,allow Allow from all Options Includes FollowSymLinks DirectoryIndex index.php php_value include_path ".:/home/conftool/etc" # 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! # Werte um den Upload großer Dateien zu ermöglichen: # Bis 10MB - etwas Luft lassen... php_value upload_max_filesize 11M # post_max_size muss auch entsprechend erhöht werden, da die Datei ja per POST übermittelt wird. php_value post_max_size 12M # Da PHP die Dateien entgegennimmt braucht es mehr Platz. php_value memory_limit 15M # 15min sollten in der Regel reichen. Ansonsten wird der Upload mit einem Timeout abgebrochen! php_value max_execution_time 900 # Set the session timeout to 2 hours (7200s). php_value session.gc_maxlifetime 7200 # For security reasons: php_value register_globals off # If you have problems downloading files with IE and SSL, please try the following settings: php_value session.cache_limiter public php_value session.cache_expire 5 Windows: Statt "/home/conftool/..." heißt es bei Ihnen "C:/conftool/...", z.B. Alias /conftool "C:/conftool/htdocs/" Order deny,allow Allow from all Options Includes FollowSymLinks DirectoryIndex index.php php_value include_path ".;C:/conftool/etc/" (...siehe oben...) Und last but not least muß 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 Wir empfehlen aus Sicherheitsgründen zudem Zugriff auf Backup-Dateien zu sperren, wie "*.bak", "*.BAK" und "*~". Dies kann z.B. XXXXXXX 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 ( oft in "/usr/local/lib/php.ini", "/etc/php.ini" und "C:\windows\php.ini" zu finden) ist hierfür verantwortlich: upload_max_filesize 11M post_max_size 12M memory_limit 15M max_execution_time 900 session.gc_maxlifetime 7200 Diese Einstellung bietet genügend Platz für Uploads von ca. 10MByte oder 15 Minuten Dauer und erhöhen das Timeout auf 2 Stunden. Wir empfehlen zudem, die zlib-compression zu aktivieren: zlib.output_compression = On * 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: http://www.yourdomain.org/conftool/info.php Wichtige Hinweise: - Aus Sicherheitsgründen müssen Sie die Datei "info.ph_" erst in "info.php" umbenennen. Sie finde die Datei im Verzeichnis "conftool/htdocs/". - 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 Administrator-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 instal/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 sollte jetzt fertig eingerichtet sein. * 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 muss beispielsweise der Installationspfad des ConfTools eingetragen werden. Es ist vergleichsweise einfach, die Ausgabetexte anzupassen. Sie alle sind in einer Sprachdatei enthalten, die im Verzeichnis "etc/" liegt. Wurde etwa "german" als Sprache ausgewählt, heißt die entsprechende Datei "german.lang". VORSICHT: Unsachgemäße Änderungen der Texte können leicht zu Problemen führen. Bitte ändern Sie daran nur in dringenden Fällen etwas, und testen sie die Änderungen gut. * Schritt 6: Seitenkopf und -fuss anpassen *----------------------------------------- Das ConfTool bietet Ihnen die Möglichkeit, einen Seitenkopf und einen Seitenfuss 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 heissen "siteheader.inc" und "sitefooter.inc". Passen Sie diese Dateien an, um das Tool designerisch in Ihre Webseite einzufügen. Zudem sollten Sie die Bild-Datei "logo.gif" im "htdocs/"-Verzeichnis durch das Logo Ihrer Konferenz ersetzen. Empfohlene Breite: ca. 50-150 Pixel, Höhe: 30-60 Pixel. Die Datei "logo-invoice.gif" sollte ebenfalls angepasst 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 Tools zu verändern. Für die Darstellung werden ausschließlich Cascading Style Sheets verwendet, deren Definition sich in "htdocs/conftool.css" findet. Allerdings ist eine solche Anpassung sicherlich komplexer als es zuerst erscheinen mag. ERSTE ANMELDUNG =============== Damit sollte das Conference Tool installiert sein. Rufen Sie es unter der von Ihnen bei der Installation gewählten URL auf, z.B.: http://www.yourdomain.org/conftool/ Sie sollten einen den Login-Dialog erhalten. Bei der Initialisierung der Datenbank wurde ein Benutzer "admin" angelegt, sein Passwort lautet ebenfalls "admin". Melden Sie sich nun an. Wählen Sie anschließend "Benutzerdaten" aus und ändern Sie das Passwort für den User "admin" sowie die EMail-Adresse. Neue Anmeldungen können jetzt unter der von Ihnen gewählten URL erfolgen, wenn der Punkt "Neu registrieren" gewählt wird. Sie haben dann über die Benutzerverwaltung Zugriff auf die angemeldeten Benutzer und können deren Informationen einsehen und bearbeiten. Konfiguration des Conftools =========================== Unter dem Punkt "Einstellungen" können und sollten Sie grundlegende Parameter des Conference-Tools konfigurieren. Als erstes sollten Sie die grundlegenden Stammdaten festlegen. Dies geschieht auf der Seite "Einstellungen" => "Grundlegende Stammdaten" Als nächstes sind die Zeiträume der einzelnen Phasen ihrer Konferenz (Einreichung, Review, Final Upload, Anmeldung zur Teilnahme etc.) zu definieren Wir empfehlen ausdrücklich, nicht benötigte Teile des Tools zu deaktivieren! Es macht z.B. in der Regel keinen Sinn, schon während der Einreichungs-Phase den Zugang zu den Reviews zu ermöglichen (da diese noch gar nicht zugewiesen wurden) oder die Anmeldung zur Teilnahme freizuschalten (da das Programm und die Preise zumeist noch nicht feststehen). Des weiteren sollten hier auch die möglichen Themen für Beiträge definiert werden. Dies erleichtert später das Zuordnen der Paper zu den Gutachtern. Wir empfehlen Ihnen, dass Sie die späteren Gutachter mit Namen, Vornamen, E-Mail, Benutzername und Passwort seitens der Organisatoren eintragen, um Ihnen dabei gleich den Status eines Programmkomitee-Mitglieds zuzuordnen. Sie können die Programmkomitee-Mitglieder dann per Bulk-Mail bitten, die weiteren Daten (Adresse etc.) sowie die Themengebiete selbst einzutragen. Unsere Erfahrung hat gezeigt, dass dies wohl das effizienteste Vorgehen hierbei ist. Auch versäumen es manche PC-Mitglieder später gerne, sich als Konferenzteilnehmer anzumelden, wobei sie hierfür natürlich denselben Benutzer-Account verwenden können und sollten. Sobald das Programm der Konferenz feststeht, können Sie in den Einstellungen die Anmeldung zur Konferenz frei definieren. Bitte gehen Sie dabei gemäß der vorgegebenen Schritte vor. Dieser Teil des Systems ist relativ komplex, sollte aber in der Regel dennoch kaum Probleme bereiten. Wichtig ist dabei, dass Sie die möglichen Teilveranstaltungen der Konferenz (Tutorien, Workshops etc.) sowie Zusatzleistungen (Abendveranstaltung, Bücher, Tassen, T-Shirts) festlegen, BEVOR Sie die Anmeldung zur Konferenz freigeben, da eine nachträgliche Änderung dieser Daten zu Komplikationen führen kann! Beispielsweise kann lediglich der Administrator nachträglich die Teilnahme- anmeldungen der Benutzer ändern. Dies ist bewusst so implementiert, da alle Anmeldungen verbindlich sind. Die meisten weiteren Punkte sind im Tool selbst entsprechend erläutert. WICHTIGE TESTS!!! ================= Folgende Funktionen bereiten bei der Installation öfter mal Probelem und sollten daher von Ihnen UNBEDINGT getestet werden: 1. Ist der Mail-Server richtig konfiguriert? Dies können Sie beispielsweise testen, indem Sie die Funktion "Passwort vergessen ?" auf der Login-Seite aufrufen. 2. Funktioniert der Up- und Download von Beiträgen? Versuchen Sie als Admin einen (größeren) Beitrag einzureichen und ihn dann wieder herunterzuladen. Falls Sie https verwenden, sollten Sie den Download unbedingt auch mit dem Internet Explorer unter Windows testen. Alle aktuellen Versionen des Internet Explorers haben einen gravierenden Bug im https-Layer. Das ConfTool hat entsprechende Workarounds, die aber voraussetzen, dass Ihre PHP-Konfiguration nicht das Caching der Daten unterbindet. Sollte es Probleme geben, testen Sie bitte die PHP-Einstellungen mit der info.php und schauen Sie in die FAQs bevor sie uns eine Mail schreiben! Viel Erfolg =========== Wir wünschen Ihnen viel Erfolg mit Ihrer Konferenz und freuen uns über ein konstruktives Feedback zum ConfTool. Harald Weinreich