Benutzer-Werkzeuge

Webseiten-Werkzeuge


webseiten

**Dies ist eine alte Version des Dokuments!**

Webseiten

Für Webseiten hat der IN-Berlin mehrere Server:

  • den Shellserver zum Testen und Hochladen, siehe auch Shell.
  • einen Pre-Proxy
  • verschiedene Webserver, je nach PHP-Version (momentan 5.2, 5.3, 5.4, 5.6 und 7.0).

Webseiten erstellen

Hat man keine weitere Domain, so kann man Webseiten einfach in seinem Home unter websites/public_html/ anlegen. Alles in diesem Ordner ist dann unter http://sitename.in-berlin.de erreichbar. Wie genau es mit unterschiedlichen Sitenamen oder Domains läuft, ist unter Domains und Sitenamen beschrieben.

Hat man weitere Domains, so sind diese in der Regel verfügbar unter websites/domain.tld. Subdomains lassen sich natürlich auch separat behandeln und in beliebige Verzeichnisse als Documentroot zeigen.

Für solche oder ähnliche Sonderwünsche bitte einfach den Support kontaktieren.

Weiterleitungen

Hat man eigene Domains, dann will man evtl. unter allen die gleiche Webseite erreichbar haben, z.B. soll example.in-berlin.de auf example.org weiterleiten. Dafür gibt es prinzipiell zwei Möglichkeiten: Einmal .htaccess-Dateien, die flexibler sind, und Symlinks, die einfacher sind.

.htaccess

Eine automatische Umleitung von http auf https bei Aufruf einer Domain kann man erreichen, indem man eine .htaccess-Datei (wie auch bei SSL beschrieben) unter websites/public_html/.htaccess mit folgendem Inhalt anlegt:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

Dann wird man beim Aufruf der Domain direkt auf den https-Teil der Domain weitergeleitet.

Die zweite Möglichkeit, eine Weiterleitung einzurichten, ist es, einen Symlink anzulegen. Dies ist eine einfache Verknüpfung im Dateisystem. Hierfür würde man in seinen websites/-Ordner gehen, dort das Verzeichnis der alten Webseite löschen und stattdessen einen Symlink auf die neue Webseite anlegen. Wenn man also von example.in-berlin.de (unter public_html/) auf example.org verlinken will, sähe das so aus:

cd ~/websites/
rmdir public_html
ln -s example.org public_html

CGIs

Auf dem Webserver laufen alle üblichen CGIs (Perl, Python, SSI, PHP5, usw.). Falls einem ein bestimmtes Modul oder ein CGI fehlt, sollte man entweder darüber nachdenken, den Applikationsserver zu benutzen, oder beim Support nachzufragen, ob dieses Paket nachinstalliert werden kann.

Da die Daten des Webservers auch auf dem Shellserver verfügbar sind, kann man dort schon Dinge testen (PHP, Perl usw. sind installiert). Allerdings kann es je nach Migrationsstand auch dazu kommen, dass bestimmte Programme auf dem Shellserver nicht installiert sind (oder andersrum, installiert, aber nicht auf dem Webserver), oder in einer anderen Version als auf dem Webserver vorliegen.

SSL/https

IN-Berlin unterstützt let's encrypt. Da es dort momentan (Stand: 19.06.2016) noch ein Limit von 20 Domains pro Woche gibt, werden in-berlin.de-Subdomains nur langsam umgestellt. Andere Domains werden umgestellt, sowie das alte Zertifikat zwei Wochen vor dem Ablaufdatum ist.

SSL-only

Wir richten standardmäßig eine Webseite mit https und mit normalem http ein. Wenn man nur https erlauben und keine unverschlüsselten Verbindungen mehr zulassen möchte, so kann man das mit einer .htaccess-Datei machen. Ein Beispiel, wie eine .htaccess-Datei aussieht, die im Root einer Webseite liegt (also z.B. unter websites/public_html/.htaccess):

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

Diese Regel würde alle Anfragen von http://www.example.org/irgendwas auf https://www.example.org/irgendwas weiterleiten, also genau der gleiche Pfad, nur verschlüsselt.

Datenbanken (MySQL, PostgreSQL)

Wir haben einen PostgreSQL- und einen MySQL-Server, auf denen jeder User beliebig viele Datenbanken haben kann. Wer eine Datenbank braucht, ändern oder löschen möchte, kann das im Service-Interface erledigen. Die Zugangsdaten werden dort angezeigt, das Passwort kommt per extra Mail. Die Datenbankserver sind, je nach verwendeter Datenbank:

  • mysql.in-berlin.de
  • postgresql.in-berlin.de

Die Datenbankserver sind von allen IN-Berlin-Servern erreichbar. Wenn man seine Datenbank z.B. von seinem eigenen Rechner aus erreichen will, kann man das mit einem SSH-Tunnel über unseren Shellserver oder mit einem VPN tun. Ansonsten kann man auch vom Shellserver aus auf den Datenbankserver zugreifen, dort sind die üblichen Tools mysql und mysqldump bzw. psql und pg_restore und pg_dump installiert.

Alternativ kann man auch die bekannten Webinterfaces phpmyadmin bzw. phppgadmin benutzen unter:

Spezielle Anwendungen/Applikationsserver

Für spezielle Anwendungen, die einen eigenen Webserver mitbringen, haben wir einen Applikationsserver. Auf diesem Applikationsserver kriegt man auf Anfrage beim Support einen Account und einen Port(-range) zugewiesen. Danach kann man sich dort einloggen und seine eigene Software installieren (als User), und muss sie nur dazu bringen, auf diesem Port zu lauschen.

Erreichbar ist die Anwendung dann unter einer beliebigen Adresse. Da auch dieser Server hinter dem Pre-Proxy hängt, kann man hier eine beliebige Domain nehmen und muss dafür nicht extra den speziellen Port angeben, ein Webseitenbesucher sieht hiervon nichts.

Besonderheiten des Setups

Das Setup vom IN-Berlin ist nicht unüblich, aber doch für viele unerwartet: Es gibt einen Proxy, der zuerst sämtliche http-Anfragen für eine Webseite annimmt, und diese dann erst an den eigentlichen Webserver weiterleitet, der die Anfragen bearbeitet.

Dies hat den Hintergrund, dass damit deutlich besser Last abgefangen werden kann (sich nicht ändernde Seiten müssen nicht jedes mal neu erstellt werden, sondern können im Proxy im Cache gehalten werden), und für Wartungen oder Spezialsetups kann man Webseiten leichter auf anderen Servern ablegen, ohne, dass sich die IP ändert.

Manchmal verhindert es aber auch, dass man bestimmte Dinge tut – Client-Zertifikate zur Authentifizierung sind z.B. nicht ohne weiteres möglich, wenn man sowas will, muss man den Support anschreiben.

webseiten.1563810121.txt.gz · Zuletzt geändert: 2019/07/22 17:42 von hifi