Inhaltsverzeichnis

Vorbereitung Apache-Webserver

Tipp: Wenn man Änderungen an der Apache-Konfiguration vorgenommen hat, muss der Webserver neu gestartet werden. Das kann Apache 2 auch ohne, dass alle laufenden Verbindungen (und damit Befragungen) unterbrochen werden.

Installationsverzeichnis

Ein Webserver zeigt einem Nutzer/Besucher im Idealfall nur das, was der Besucher sehen soll. Vor allem sieht man „von außen“ nicht, wo die Daten tatsächlich auf dem Server liegen.

Beim Installationsverzeichnis muss man also unterscheiden, wo dieses Verzeichnis intern liegt (z.B. /var/www/sosci/) und unter welchem Namen es extern aufgerufen wird (z.B. http://www.domain.tld/survey/). Damit ein Verzeichnis „von außen“ via HTTP oder HTTPS sichtbar ist, haben Sie mindestens zwei Möglichkeiten:

Alias /survey "C:/Daten/SoSci"
<Directory "C:/Daten/SoSci">
  AllowOverride All
  Options MultiViews 
  Require all granted
</Directory>

Hinweis: Das Alias ist erst nach einem Neustart des Servers oder einem Neuladen der Konfiguration verfügbar.

Zugriffssteuerung

Nutzer, die via HTTP „von außen“ auf den Webserver zugreifen, sollen auf die Projektverzeichnisse, das Verzeichnis admin/, images/ u.s.w. zugreifen können – nicht aber auf die geschützte Dateiablage oder die Konfiguration.

In der Standard-Konfiguration überprüft Apache, ob eine Datei .htaccess in einem Verzeichnis liegt. Anhand dieser Datei kann SoSci Survey die Zugriffe entsprechend einschränken. Falls Apache allerdings so konfiguriert ist, die .htaccess-Dateien zu ignorieren, ist noch folgende Ergänzung in der Datei httpd.conf erforderlich.

Die Verzeichnis-Namen (C:/Daten/SoSci/) sind natürlich an die jeweilige Installation anzupassen.

<Directory "C:/Daten/SoSci/inc/">
  Require all granted
</Directory>
<Directory "C:/Daten/SoSci/system/">
  Require all granted
</Directory>
<Directory "C:/Daten/SoSci/files/">
  Require all granted
</Directory>

Verbindungen

Auf den Befragungsserver greifen im Idealfall sehr viele Personen gleichzeitig zu. Daher ist es notwendig, dass viele Verbindungen gleichzeitig geöffnet werden können - sind alle Verbindungen belegt, erhalten weitere Nutzer oder auch die Projektverwalter keine Antwort vom Server mehr und entsprechend eine Fehlermeldung des Browsers, der Server sei nicht erreichbar.

Hinzu kommt, dass SoSci Survey ein umfangreiches Paket ist, das auch ein gewisses Maß an Speicher und Rechenzeit benötigt. Dadurch ist die maximale Anzahl an Webserver-Prozessen beschränkt.

Sofern der Server im Betriebsmodus worker betrieben werden kann, erlaubt dies bei gleicher Speicherausstattung mehr offene Verbindungen. Allerdings ist dafür eine Umstellung vom PHP-Modul auf CGI notwendig: Apache2 Worker mit PHP und fcgid (FastCGI)

Für einen Webserver mit 1 GB (4 GB) Arbeitsspeicher haben sich für den Betriebsmodus prefork folgende Apache-Einstellungen bewährt:

Case-Sensitivität

Standardmäßig unterscheidet ein Apache auf einem Linux-System bei Dateinamen zwischen Groß- und Kleinschreibung (case-sensitiv). Das kann zum Problem werden, wenn der Link zum Fragebogen per Hand eingegeben wird und die Teilnehmer nicht auf die Groß-/Kleinschreibung achten.

Hier hilft das Apache-Modul mod_speling, das Apache2 standardmäßig mitbringt. Man aktiviert es mit dem üblichen Befehl:

(sudo) a2enmod speling

Damit das Modul auf dem Server auch tatsächlich aktiv wird, muss es auch in der Konfiguration noch aktiviert werden. Die folgenden Befehle platziert man sinnvollerweise im <Directory>-Bereich, den man für SoSci Survey angelegt hat (s. oben).

<IfModule mod_speling.c>
    CheckSpelling on
    CheckCaseOnly on
</IfModule>''

Die Zeile CheckCaseOnly on ist optional. Sie beschränkt die Korrektur von Tippfehlern auf Groß-/Kleinschreibung.

Um die Änderungen zu aktivieren, muss die Konfiguration noch neu eingelesen werden.

sudo /etc/init.d/apache2 reload