Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


German


Expand
titleInhaltsverzeichnis ausklappen

Table of Contents

Allgemeine Daten

Das Webhosting-Team betreibt die Infrastruktur (s.u) mit bewährten Komponenten:

  • GNU/Linux-Betriebssysten (Debian)
  • Apache-Webserver in der Version 2.4
  • PHP als Skriptsprache (s.u.)
  • MySQL-Datenbanken

Für Ihre Website steht der folgende Speicherplatz zur Verfügung:

  • 10 GB für den Webspace im Filesystem
  • Mehrere Hundert MB für die optionale Datenbank

Es erfolgt häufig eine automatische Sicherung (Backup) Ihrer Daten im Filesystem und Ihrer Datenbank. Auf die Backups des Filesystems können Sie teilweise selbst zugreifen (sog. Filesystem-Snapshots). Dies macht es in vielen Fällen überflüssig, dass Sie selbst eigene Backups anlegen.


English


Expand
titleExpand table of contents

Table of Contents

General information

The LRZ web hosting team uses tried-and-true components in their infrastructure:

  • GNU/Linux operating system (Debian)
  • Apache web server software (version 2.4)
  • PHP scripting language (see below)
  • MySQL database servers

Your website comes with 10 GB of storage space and several hundreds of MB for your database (optional).

Your files on the filesystem and in your database are backed up automatically on a regular basis. A portion of your backed-up filesystem data (so-called filesystem snapshots) is accessible to you so you may restore accidentally deleted or overwritten data yourself. The filesystem snapshots will usually relieve you of the need to create your own backups.



German

Größenbeschränkung für Filesystem-Daten (Quotum)

Beim Webspace im Filesystem handelt es sich um das Home-Directory der Funktionskennung, mit der Ihre Website verwaltet wird. In diesem Home-Directory befindet sich auch das Document-Root der Website. Deshalb ist Ihr Home-Directory auch auf allen Rechnern des HTTP-Daemon-Pools (s.u.) und auf dem Zugangsrechner zugreifbar.

Für sämtliche Daten im Home-Directory gilt eine harte Größenbeschränkung, d.h., das gesamte Datenvolumen im Filesystem kann eine bestimmte Menge nicht überschreiten. Diese Beschränkung soll primär verhindern, dass bei einer Fehlersituation der belegte Plattenplatz beliebig anwächst.

Alle Daten im Home-Directory werden auf das Quotum angerechnet. Dazu gehören z. B. auch ältere Versionen eines Software-Pakets, Backups, Log-Daten oder Caches, die Sie per Hand anlegen, oder die von einer PHP-Anwendung (z.B. einem Content Management System) automatisch erzeugt werden.

Tip
titleTipp

Um ein Erreichen des Quotums zu vermeiden, ist die folgende Vorgehensweise sinnvoll:

  • Verschaffen Sie sich einen Überblick, ob bei Ihrer Website Daten anfallen, die kontinuierlich anwachsen und die Sie nicht dauerhaft benötigen.
  • Räumen Sie derartige Daten regelmäßig oder zumindest bei Bedarf auf.
    Zum Glück besitzen viele der größeren PHP-Anwendungen einen konfigurierbaren Mechanismus, der automatisch aufräumt.



English

Filesystem quota

The filesystem web space is the home directory of the functional account used to operate and manage your website. The home directory also contains your website's document root. This is the reason your home directory is also accessible on all servers of the same HTTP daemon pool (see below) and on the access server.

A hard size limit applies to all data in the home directory, i.e. the total data volume on the file system cannot exceed a certain amount. This restriction is primarily intended to prevent the occupied disk space from growing arbitrarily in the event of an error situation.

All data in the home directory counts towards the quota. For example, older versions of a software package, backups, log data or caches that you create manually or that are created automatically by a PHP application (e.g. a content management system) will fill up your quota.

Tip
titleTip

To avoid reaching the quota, consider doing the following:

  • Get an overview of whether your website accumulates data that grows continuously over time where there is no need to keep it in the long run.
  • Clean up such data regularly or at least when needed.
    Fortunately, many of the larger PHP applications have a configurable mechanism that cleans up such files automatically.




German

PHP

Anbindung

Die Anbindung von PHP erfolgt mit Hilfe von PHP-FPM. Dadurch laufen die PHP-Prozesse Ihrer Website mit den Rechten der Funktionskennung Ihrer Website.

Verfügbare PHP-Versionen

In der Infrastruktur des LRZ-Webhosting stehen normalerweise mehrere PHP-Versionen zur Verfügung. Zur Zeit sind dies die Versionen 7.3, 7.4 und 8.0 (Stand November 2021). Eine der verfügbaren Versionen ist jeweils voreingestellt (derzeit PHP 7.3). Beim Einrichten einer neuen Website wird diese Voreinstellung für Ihre Website konfiguriert.

Sie können frei eine andere der zur Verfügung stehenden Versionen wählen. Leider können Sie die dazu erforderliche Konfigurationsänderung nicht selbst durchführen. Kontaktieren Sie zur Änderung bitte das Webhosting-Team mit Hilfe eines authentifizierten Incident: Variante "Selfservice" (d.h. mit Login) beim Webformular für den Servicedesk.

Note
titleHinweis

Das PHP-Entwicklungsteam unterstützt einen Major Release wie PHP 7.3 oder 7.4 nur zwei Jahre lang (siehe "Supported Versions").

Wenn ein Major Release keine Sicherheitsaktualisierungen mehr erhält, werden auch wir für diese PHP-Version keine Unterstützung mehr anbieten können, um Sicherheitsrisiken zu vermeiden. Dies bedeutet, dass wir Websites in unserem Hosting, die mit der aus dem Support fallenden PHP-Version laufen, auf die nächsthöhere Major-Version anheben werden (z.B. von PHP 7.3 auf 7.4). Diese Aktion geschieht normalerweise Anfang Dezember jedes Jahres. In diesem Zuge müssen Sie dafür Sorge tragen, dass Ihre Webapplikation mit der nächsthöheren PHP-Version kompatibel ist. Wenn Sie ein CMS wie TYPO3 oder Wordpress nutzen, finden Sie Informationen zur Kompatibilität normalerweise in den Systemanforderungen.

Wenn eine PHP-Umstellung ansteht, werden wir Sie zeitnah (i.d.R. mit mehreren Wochen Vorlauf) darüber informieren.

In Fällen, in denen eine andere als die Standard-PHP-Version für die Website konfiguriert wurde (z. B. wenn Sie eine sehr aktuelle PHP-Version verwenden), wird die PHP-Version Ihrer Website nicht automatisch geändert.

PHP-Erweiterungen

Neben dem PHP-Kern stellen wir eine Reihe von Erweiterungen/Bibliotheken zur Verfügung, wie z.B. gd (Grafik-Bibliothek), ftps, imap, intl, ldap, mbstring oder mcrypt.  Wegen des Pflegeaufwands können wir weitere Bibliotheken nur in einem sehr begrenzten Umfang zur Verfügung stellen. Wenden Sie sich bitte an das Webhosting-Team, falls Sie etwas vermissen. Analoges gilt für die Anpassung von PHP-Parametern.

PHP auf der Kommandozeile und in Cron-Jobs

Auf dem Zugangsrechner steht PHP auch auf der Kommandozeile und für Cron-Jobs zur Verfügung. Das Standard-Kommando php führt PHP in der aktuell für Ihre Website eingestellten Version aus. Diese Version kann man mit Hilfe der Option -v ermitteln. Beim unten gezeigten Beispiel ist PHP 7.4 für die Website konfiguriert und wird mit der Patchversion 11 (3. Abschnitt der Versionsnummer) ausgeführt:

Code Block
languagetext
user@webdev02:~$ php  -v
PHP 7.4.11 (cli) (built: Oct 8 2020 17:32:43) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.11, Copyright (c), by Zend Technologies

Die PHP-Version, die Sie mit dem Kommando php ausführen, kann sich updatebedingt allerdings ändern (siehe Hinweiskasten unter "Verfügbare PHP-Versionen"). Deshalb stellen wir für jede Major-PHP-Version ein versionsspezifisches Kommando wie z.B. php7.4 zur Verfügung (s.u).

Tip
titleTipp

Die Konfiguration Ihrer Website bestimmt, welche Major-PHP-Version Ihre Website nutzt (s.o.).

Um Probleme bei der Ausführung Ihrer Webanwendung zu vermeiden, sollte man diese Major-PHP-Version auch auf der Kommandozeile oder in Cron-Jobs oder anderen Skripten verwenden. Deshalb sollte man auf das allgemeine Kommando php verzichten und das passende versions-spezifische PHP-Kommando verwenden (s.u.), um unerwartete Versionssprünge zu vermeiden.

Es gibt mehrere Methoden, wie man herausfinden kann, welche PHP-Versionen installiert sind und wie die spezifischen PHP-Kommandos heißen:

Code Block
languagetext
user@webdev02:~$ update-alternatives --list php
/usr/bin/php7.1
/usr/bin/php7.2
/usr/bin/php7.3
/usr/bin/php7.4
/usr/bin/php8.0

user@webdev02:~$ ls /usr/bin/php*
/usr/bin/php  /usr/bin/php7.1  /usr/bin/php7.2	/usr/bin/php7.3  /usr/bin/php7.4  /usr/bin/php8.0

user@webdev02:~$ ls /bin/php*
/bin/php  /bin/php7.1  /bin/php7.2  /bin/php7.3  /bin/php7.4  /bin/php8.0

Anmerkungen:

  • Die PHP-Kommandos sind sowohl im Verzeichnis /bin als auch im Verzeichnis /usr/bin installiert.
  • Die Varianten der PHP-Kommandos in /bin und /usr/bin sind identisch.
  • Normalerweise sind /bin und /usr/bin im Kommando-Suchpfad enthalten (d.h., beide Verzeichnisse kommen in der Environment-Variable $PATH vor; dies können Sie mit dem Kommando echo $PATH überprüfen). Man kann deshalb meist auf die Angabe des absoluten Pfads verzichten und einfach nur das Kommando angeben (z.B. php oder php7.4).
Tip
titleTipp

Cron-Jobs laufen in einereigenen Umgebung ab. In dieser Umgebung ist z.B. der Kommando-Suchpfad anders gesetzt als beim Arbeiten mit einer interaktiven Shell. Sie sollten deshalb zur Vermeidung von Problemen folgendes tun:

  • Verwenden Sie absolute Kommando-Pfade bei der Definition des Cron-Jobs.
  • Wenn der Cron-Job ein Shell-Skript aufruft, sollten Sie am Anfang des Skripts den Kommando-Suchpfad explizit setzen (d.h. die Environment-Variable $PATH).



English

PHP

PHP execution

In our infrastructure, PHP is executed via the FastCGI Process Manager (PHP FPM), making your website's PHP processes run with the privileges of your website's functional account.

Available PHP versions

We usually provide more than one PHP version at a time. As of November 2021, we support PHP 7.3, 7.4, and 8.0. The current default PHP version is PHP 7.3, meaning that a new website will come preconfigured with this version.

You may choose to use a different version than the default one. Please contact the LRZ web hosting team to change your website's PHP version.

Note
titlePlease note

Each major version of PHP, like 7.3 or 7.4, is supported by the PHP development team for two years (see "Supported Versions").

As soon as a major release reaches its end of life (EOL) and no longer receives security updates, we will also no longer be able to provide support for that PHP version to avoid security risks. This means that we will upgrade websites in our hosting running the PHP version that is falling out of support to the next higher major version (e.g. from PHP 7.3 to 7.4). This action usually happens in early December each year. As part of this, you must ensure that your web application is compatible with the next higher PHP version. If you use a CMS such as TYPO3 or Wordpress, you can usually find compatibility information in the system requirements.

We will inform you about an upcoming change in our supported PHP versions several weeks in advance.

In cases where a non-default PHP version was configured for the website (for example, if you use a very recent PHP version), your website's PHP version will not be changed automatically.

PHP extensions

A range of PHP extensions/libraries are available in our infrastructure, e.g. gd (graphics library), ftps, imap, intl, ldap, mbstring or mcrypt. Due to the maintenance aspect and our limited person power, we will usually not be able to provide more extensions. Please contact us if there is a certain extension that you need and we will consider if we can provide it. The same applies to the customisation of PHP parameters.

Using PHP on the command line and in cron jobs

On the access servers, PHP is available for use on the command-line and in cron jobs. The php command executes the most recent installed version of PHP that is configured for your website. You can find out the exact version with the -v flag. The following shows an example where PHP 7.4 is configured for the site. PHP is executed in version 7.4.11 ("11" is the patch level version).

Code Block
languagetext
user@webdev02:~$ php  -v
PHP 7.4.11 (cli) (built: Oct 8 2020 17:32:43) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.11, Copyright (c), by Zend Technologies

However, the PHP version that is executed via the php command may change due to updates (see the information box under "Available PHP versions"). Therefore, we provide a dedicated command for each major PHP version, like for example php7.4 (see below for more information).

Tip
titleTip

The configuration of your website determines which major PHP version your website uses (see above).

To avoid errors in the execution of your web application, you should also use this major PHP version on the command line or in cron jobs or other scripts.  Therefore, it is recommended to use the version-specific PHP command (see below) to avoid unexpected version jumps.

There are various ways to find out which PHP versions are installed and what the commands are called:

Code Block
languagetext
user@webdev02:~$ update-alternatives --list php
/usr/bin/php7.1
/usr/bin/php7.2
/usr/bin/php7.3
/usr/bin/php7.4
/usr/bin/php8.0

user@webdev02:~$ ls /usr/bin/php*
/usr/bin/php  /usr/bin/php7.1  /usr/bin/php7.2	/usr/bin/php7.3  /usr/bin/php7.4  /usr/bin/php8.0

user@webdev02:~$ ls /bin/php*
/bin/php  /bin/php7.1  /bin/php7.2  /bin/php7.3  /bin/php7.4  /bin/php8.0

Notes:

  • You can find the PHP commands in the /bin directory as well as under /usr/bin.
  • The PHP commands in /bin and /usr/bin are identical.
  • Usually, /bin and /usr/bin are included in the command search path (meaning both directories are contained in the $PATH environment variable, which you can check by running the command echo $PATH). This means that you can simply use the command without using the whole path (for example, php7.4 instead of /usr/bin/php7.4).
Tip
titleTip

Cron jobs are executed in a separate environment where the command search path is different from the interactive shell. When writing cron jobs, you should therefore do the following to avoid problems:

  • Use absolute paths for commands (for example, use /usr/bin/php7.4 instead of php7.4).
  • If your cron job executes a shell script, you should set the $PATH environment variable explicitly at the start of the script.




German

Infrastruktur der Betriebsumgebung

Zur Verbesserung der Verfügbarkeit und Ausfallsicherheit wird beim LRZ-Webhosting die Auslieferung der Websites auf mehrere sog. Webserver-Daemon-Pools aufgeteilt, die hinter einem Service Load Balancer (Abk. SLB;  siehe den "Dienstleistungskatalog", Abschnitt 6.2) liegen. Der SLB ist eine redundant aufgebaute Spezial-Hardware, die beim LRZ auch redundant an das Internet angebunden ist.

Ein Webserver-Daemon-Pool besteht aus mehreren Webserver-Rechnern sowie einem Datenbank-Rechner. Die Webserver-Rechner sind identisch konfiguriert. Auf jedem Daemon-Rechner läuft ein Daemon der Webserver-Software Apache, der Zugriffe auf alle Websites des Pools bearbeiten kann. Die Websites sind als virtuelle Hosts (kurz: vHosts) umgesetzt. Wenn Sie Ihre Website z.B. mit Ihrem Webbrowser aufrufen, leitet der SLB den Zugriff zu einem der im Augenblick verfügbaren Daemon-Rechner des zuständigen Daemon-Pools weiter.

Tip
titleGut zu wissen
  • Beim LRZ-Webhosting werden mehrere Webserver-Daemon-Pools mit jeweils einem Shared-Hosting-Setup betrieben. Es ist ein häufiges Missverständnis, dass jeder Website auf einem eigenen dedizierten Rechner betrieben wird.
  • Die Websites in demselben Webserver-Daemon-Pool teilen sich alle Ressourcen des Pools.
  • Der Zugriff auf eine Website wird von einem der gerade verfügbaren Server in dem Daemon-Pool verarbeitet. Auf diese Weise entsteht eine redundante Infrastruktur.
  • Unsere Kunden haben keinen direkten Zugriff auf die Rechner in den Daemon-Pools. Für die technische Pflege eines Webauftritts steht ein Zugangsrechner, der FTP-Server unter ftp.lrz.de und ein phpMyAdmin-Server zur Verfügung. Für weitere Informationen lesen Sie bitte unseren Artikel Zugriffsmöglichkeiten.
  • Bei der Pflege eines Webauftritts arbeiten Sie immer unter der Funktionskennung der Website und mit den damit verbundenen Rechten. in unserer Webhosting-Infrastruktur ist es nicht vorgesehen, dass Sie Adminberechtigungen/"Root"-Rechte erhalten.



English

Operational infrastructure

In order to improve availability and fail-safety, websites in our web hosting infrastructure are deployed by several so-called webserver daemon pools. The daemon pools are located behind a service load balancer (abbreviated: SLB; see the "Service Catalogue", section 6.2). The SLB is a redundantly constructed special hardware which is also redundantly connected to the internet at the LRZ.

A webserver daemon pool consists of several servers that run the webserver software, as well as the database server. The webserver servers are identical in their configuration. Each server runs an Apache webserver daemon that can process all websites of the pool. The websites are implemented as virtual hosts (short form: vhosts). If you surf to your website using your web browser, the SLB will forward the request to an available daemon server of the daemon pool where your website resides.

Tip
titleGood to know
  • There are multiple webserver daemon pools in the LRZ web hosting infrastructure, each configured as shared web hosting. A common misconception is that each website runs on its own dedicated server.
  • Websites inside the same webserver daemon pool share all of the pool's resources.
  • If a website is accessed, this is processed by one of the available servers in the webserver daemon pool, creating a redundant infrastructure.
  • Our customers cannot access the servers in the webserver daemon pools directly. Instead, access is possible through a so-called access server, via FTP, and phpMyAdmin (the latter solely for database management). See Access options for more details.
  • When managing your website, you will always work with the permissions of your website's functional account. In no case is it possible to be granted admin rights/root privileges.