Zentraleinrichtung Campusmanagement

Webhosting für klassische Webauftritte

Kurzbeschreibung

Die ZECM betreibt ein Webhosting-Angebot für Einrichtungen, die Webspace für eigene Webanwendungen auf PHP-, MySQL-Basis benötigen. Den Serverbetrieb übernimmt die ZECM.

Dienstekategorie

Zielgruppen

Status

Langbeschreibung

Allgemeines

Die ZECM bietet Einrichtungen der TU Berlin die Möglichkeit, neben Webseiten auf Basis des Content Management Systems TYPO3 auch „klassische“ Webanwendungen oder ergänzende Webseiten für Projekte z.B. zu betreiben. Dabei haben Sie mehr Freiheit bei der Konfiguration gegenüber einem CMS-basierten Auftritt, beispielsweise können Sie eigene PHP- oder CGI-Skripte einsetzen oder eine eigene MySQL-Datenbank betreiben. Die ZECM betreut die Webserver-Infrastruktur - die Webseiten bzw. -anwendungen sind in der Verantwortung der jeweiligen Einrichtung.

Zielgruppe

Die klassischen Webauftritte richten sich an Einrichtungen, deren Bedürfnisse mit einem TYPO3-Auftritt nicht in Gänze erfüllt werden können. Dazu gehören z.B. Webanwendungen wie Wikis, Anmeldesysteme für Ihre Studierenden oder Datenbankanwendungen zur Erfassung/Auswertung von Daten.

Da die Konfiguration und Pflege bzw. Aktualisierung der eingesetzten Webanwendung durch die jeweilige Einrichtung erfolgt, sollte dauerhaft mindestens eine/n Mitarbeiter*in verfügbar sein, der/die die entsprechenden Kenntnisse besitzt und sich um den Auftritt kümmert.

Zugang

  • Inhaber der Rolle "typo3_na" können im TU-Portal unter "IT-Anträge" via Webformular "Webauftritt" einen klassischen/konventionellen Webauftritt beauftragen.
  • Der Zugriff auf die Webdaten erfolgt über einen OpenAFS-Client, da die Webdaten im AFS liegen.
  • Alternativ können Sie auch mit einem sftp/ssh-Programm Ihrer Wahl eine ssh-Verbindung zu sshgate.tu-berlin.de aufbauen und auf diesem Server die Dateien Ihres konventionellen Webauftrittes kopieren oder bearbeiten - zu diesem Zweck steht der AFS-Datenbestand auf sshgate unter /afs/tu-berlin.de/ zur Verfügung.
    Bei den Verbindungseinstellungen müssen Sie Port 22 und "sftp" oder "ssh" als Server- bzw. Verbindungstyp auswählen. Als Benutzernamen verwenden Sie bitte Ihr provisionierten TUB-Account.
  • Als Pfad nutzen Sie den AFS-Basispfad, der Ihnen in der Bestätigungsmail zur Einrichtung Ihres Webauftritts mitgeteilt wurde.

Zu beachten:

  • Nur TU-Einrichtungen können einen konventionellen Webauftritt beantragen.
  • Da die Konfiguration und Pflege bzw. Aktualisierung der Webanwendung durch die jeweilige Einrichtung erfolgt, sollten Sie dauerhaft über mindestens einen Mitarbeiter verfügen, der die entsprechenden Kenntnisse besitzt.
  • Es gibt keinen Zugriff mehr über FTP oder WebDAV!
  • Wenn Sie die Daten Ihres konventionellen Webauftrittes im AFS ändern oder entfernen, ist dies sofort in Ihrem Webauftritt sichtbar. Gehen Sie also behutsam vor.

Voraussetzungen

  • der OrgName der beantragenden Einrichtung muss gesetzt sein
  • TUB-Account für alle technisch zuständigen Personen, die die Webdaten im AFS pflegen oder bearbeiten
  • AFS-Speicherplatz der beantragenden Einrichtung - die Webdaten Ihres Webauftritts müssen innerhalb des AFS-Speicherplatzes der beantragenden Einrichtung liegen. Falls Sie noch keinen AFS-Speicherplatz haben, legen wir ihn automatisch für Sie an. Der Pfad Ihres Auftritts wird Ihnen nach der Einrichtung von uns via Mail mitgeteilt.

Features

© dokuwiki.org

Wikifarm mit Dokuwiki

Einrichtungen erhalten im Rahmen des Webhostng-Angebotes ein vorkonfiguriertes Wiki, mit dem sofort gearbeitet werden kann. Die Aktualisierung und Wartung der Wiki-Software wird dabei von der ZECM vorgenommen.

Häufig gestellte Fragen

Wie kann ich auf den Ordner für die Webseite zugreifen?

Egal wie Sie auf die Webdaten zugreifen, Sie benötigen immer ein provisioniertem TUB-Account (nachfolgend Benutzer genannt). Dieser Benutzer benötigt für den Zugriff auf die Webdaten die entsprechenden Rechte. Für jeden Webauftritt wird automatisch eine AFS-Gruppe erstellt, die Ihnen in der E-Mail-Bestätigung mitgeteilt wird. Sie können dieser Gruppe weitere Benutzer hinzufügen, die Zugriff auf die Webdaten erhalten. Hierfür können Sie den Befehl:

# pts adduser <Benutzer> <Gruppenname>

ausführen. Der Befehl kann unter Linux einfach in einer beliebigen Shell und unter Windows in einer Eingabeaufforderung ausgeführt werden.

Was gibt es beim Einsatz von PHP-Skripten zu beachten?

Alle PHP-Skripte werden als CGI ausgeführt. Dadurch können die Skripte verschiedener Auftritte mit unterschiedlichen Rechten ausgeführt werden. Somit ist es nicht möglich die Dateien anderer Webauftritte auszulesen, was ein enormer Sicherheitsvorteil ist. Bei einigen PHP-Applikationen muss dies während der Konfiguration berücksichtigt werden.

Per Default werden alle Dateien im htdocs-Ordner mit der Endung .php automatisch als PHP-Skript interpretiert und ausgeführt. Eine Anpassung der PHP-Skripte im htdocs-Ordner ist somit nicht notwendig.

Was gibt es beim Einsatz von CGI-Skripten zu beachten?

Die Ausführung von CGI-Skripten ist auf den cgi-bin-Ordner beschränkt, der parallel zum htdocs-Ordner liegt. Dateien mit der Endung .cgi oder .pl werden als CGI-Skript interpretiert und ausgeführt. Perlskripte müssen mit folgender Zeile beginnen: #!/usr/bin/perl . Für Shell-Skripte muss die erste Zeile #!/usr/bin/sh bzw. #!/usr/bin/bash für Bash-Skripte lauten.

Die CGI-Skripte müssen ausführbar sein! Hierfür muss das Unix execute-Recht gesetzt sein. Auf einem Linuxrechner, der Zugriff auf das AFS hat, können sie allen Dateien des cgi-bin-Ordners mit folgendem Befehl das execute-Recht vergeben:

# chmod -R a+x BASIS-PFAD/cgi-bin/

Sollten Sie Windows verwenden, können Sie sich per ssh auf sshgate.tu-berlin.de verbinden und dort die entsprechenden Rechte setzen. Viele ftp/ssh-Programme bieten ebenfalls die Möglichkeit Unix-Rechte zu vergeben.

Wie kann ich error_reporting in PHP nutzen?

Der PHP-Interpreter kann verschiedene Fehlermeldungen bei der Ausführung von PHP-Skripten an den Browser ausgeben. Damit bei fehlerhaften Skripten keine weiteren Informationen an potentielle Angreifer ausgegeben werden, werden per Default nur Syntaxfehler ausgegeben.

Wird lediglich eine weiße Seite ausgegeben, liegt dies u.U. an einem PHP-Fehler. Sie können mit der PHP-Anweisung error_reporting(E_ALL); sämtliche PHP-Fehler ausgeben lassen. Fügen Sie die Zeile einfach am Anfang Ihres PHP-Skriptes ein. Feinere Abstufungen können ebenfalls angegeben werden. Weitere Informationen dazu finden Sie in der PHP-Dokumentation.

Welche .htaccess-Einstellungen können genutzt werden?

Aus Sicherheitsgründen können nicht alle Direktiven innerhalb von .htaccess-Dateien verwendet werden.
Die folgenden Direktivgruppen dürfen geändert werden:
AuthConfig, FileInfo, Indexes, Limit.

Die folgende Direktivgruppe darf nicht geändert werden:
Options.

Per Default ist die Direktive Options wie folgt gesetzt:
MultiViews ExecCGI Indexes SymLinksIfOwnerMatch.

Die Inhalte von Verzeichnissen ohne Index-Datei werden demnach aufgelistet und symbolischen Links wird gefolgt, falls der Link und die Zieldatei dem gleichen Benutzer gehören. Verwenden Sie dennoch eine nicht erlaubte Direktive, wird ein "Internal Server Error" zurückgegeben.

Wieso sind nur HTTPS-Verbindungen möglich?

Wir erzwingen aus Datenschutzgründen die HTTPS-Verbindung, indem auf der Seite des vorgelagerten Loadbalancers HTTP-Verbindungen nach HTTPS weitergeleitet werden.

Die in häufigen Fällen verwendete Variable %{HTTPS} ist im Kontext der konventionellen Webauftritte gesetzt und kann eingesetzt werden.

Wie kann ich eine Webadresse automatisch auf einen Unterordner umleiten?

Sie haben für ein Projekt eigene Webseiten in einem Unterordner angelegt und wollen diese nun über eine zusätzliche Webadresse direkt ansprechen? Zunächst muss die neue Webadresse durch uns eingerichtet werden. Schicken Sie uns einfach eine E-Mail und geben Sie die Adresse des Webauftritts sowie die gewünschte zusätzliche Adresse an.

Nehmen wir an Sie haben folgende Ordnerstruktur.

htdocs/
|.....[Webdaten des eigentlichen Auftritts]
|.....projekt1/
........|....[Webdaten des Projekts]

Nach der Einrichtung zeigt die neue Webadresse direkt auf das htdocs-Verzeichnis. Damit sie direkt auf das projekt1-Verzeichnis zeigt, legen Sie einfach eine Datei names .htaccess im htdocs-Verzeichnis an. Falls die Datei bereits existiert, wird diese einfach um weitere Einträge ergänzt. In die Datei kopieren Sie nun den folgenden Inhalt und passen nur noch die Webadresse und den Zielordner an.

# RewriteEnginge einschalten, falls noch nicht geschehen
RewriteEngine On
# Die Umleitung erfolgt nur fuer diese Webadresse (ohne http(s)://)
RewriteCond %{HTTP_HOST} =projekt1.OrgName.tu-berlin.de
# nur umleiten, wenn der Ordner noch nicht in der URI auftaucht
RewriteCond %{REQUEST_URI} !^/projekt1.*
# fuege den Ordner projekt1 transparent in die URI ein
RewriteRule ^(.*)    /projekt1/$1    [L]


Mit diesen Änderungen landen Sie mit den folgenden Adressen jeweils im Ordner projekt1:
projekt1.OrgName.tu-berlin.de/projekt1/
projekt1.OrgName.tu-berlin.de/

und können so die Doppelung des Projektnamens in der Webadresse und dem Pfad vermeiden.

Wie kann ich das Auflisten von Verzeichnissen verhindern?

Sie haben mehrere Möglichkeiten, das Auflisten von Verzeichnisinhalten zu unterbinden. Sie können z.B. einfach eine (ggf. leere) Index.html-Datei anlegen. Enthält der Ordner keine Dateien, die direkt per Browser aufgerufen werden sollen, können sie auch eine .htaccess-Datei mit folgendem Inhalt im Verzeichnis anlegen:
Order Allow,Deny
Deny From All

Die .htaccess-Datei wirkt sich auch auf alle Unterordner aus und verbietet jedlichen Webzugriff.

Sie können auch bestimmte Dateien von der Auflistung via .htaccess ausnehmen:
# Verhindert die Auflistung aller Dateien
IndexIgnore *
# Verhindert die Auflistung von zip-Archiven und SQL-Dumps
IndexIgnore *.zip *.sql

Auch dies wirkt sich auf alle Unterordner aus, verhindert jedoch nicht den Zugriff, sondern nur die Auflistung von Ordnerinhalten.

Sollte für Sie keine der Varianten in Frage kommen, können wir für Ihren Webauftritt die Option Indexes auch global abschalten. Wenden Sie sich hierfür bitte an das Web-Team.

Welche Dateiendung muss die index-Datei haben?

Wird eine Adresse ohne Dateinamen verwendet, z.b. host.orgname.tu-berlin.de/Projekt1/, versucht der Webserver eine Index-Datei auszuliefern. Dabei prüft er nacheinander das Vorhandensein von Index-Dateien mit verschiedenen Endungen und liefert die erste aus, die gefunden wird. Es werden die folgenden Index-Dateien in der angegebenen Reihenfolge geprüft:

  1. index.html
  2. index.htm
  3. index.html.var
  4. index.php

Eine index.php wird demnach nur dann angezeigt, wenn es weder eine index.html noch eine index.htm gibt und auch keine sprachspezifischen Index-Dateien wie index.html.de vorhanden sind. Wird keine Index-Datei gefunden, zeigt der Webserver den Verzeichnisinhalt an.

Wie kann ich Server Side Includes (SSI) verwenden?

SSI ist per Default nicht aktiviert. Möchten Sie SSI verwenden, schreiben Sie uns einfach eine E-Mail an das Web-Team und geben Sie an, ob Sie SSI für ihren gesamten Webbaum oder nur einen Teil davon benötigen.

Wie kann ich die Errorlogs bzw. Accesslogs auslesen?

Per Default werden keine Accesslogs angelegt. Wenn Sie eine Auswertung der Besucherzahl und der aufgerufenen Webseiten vornehmen möchten, können Sie dies hier beantragen. Wenn Sie nur die Accesslogs benötigen und deren Analyse selbst vornehmen wollen, senden Sie bitte eine E-Mail an das Web-Team. Bitte beachten Sie, dass wir aus Gründen des Datenschutzes ausschließlich anonymisierte Logs anlegen. Das bedeutet, es wird nicht die vollständige IP-Adresse gespeichert, sondern die letzen zwei Stellen werden auf 0 gesetzt, z.B. 130.149.0.0.

Seit dem 19.05.2010 werden keine separaten ErrorLogs mehr im Ordner logs/ angelegt. Sollten Sie für die Arbeiten an Ihrer Webanwendung Zugriff auf die ErrorLogs benötigen, können wir dies vorrübergehend einrichten. Wenden Sie sich hierfür an das Web-Team.

Welche PHP-Version wird eingesetzt?

Auf den konventionellen Webservern steht PHP in der Version 7.4 zur Verfügung.

Auf welchem Betriebssystem laufen die Webserver?

Als Betriebssystem kommt derzeit CentOS 7 zum Einsatz.

Kann ich nachträglich MySQL für meine Website nutzen?

Wenn Sie Ihren konventionellen Webauftritt um eine MySQL Datenbank ergänzen wollen, schreiben Sie bitte eine formlose E-Mail an das Webteam mit folgenden Angaben:

  • Kostenstelle
  • Pfad des Webauftritts

Unser Standort

Kontakt

Raum E-N 024
Adresse Einsteinufer 17
10587 Berlin
HotlineMo-Fr 09-16 Uhr
IT-Service-DeskMo-Fr 10-16 Uhr