suPHP

Das Apache Modul suPHP bietet zusammen mit dem PHP-Interpreter die Möglichkeit, PHP Skripte unter dem Account des Benutzers abarbeiten zu lassen. Es bietet dadurch Sicherheit, dass die PHP-Skripte nicht mit den Rechten des Webservers ausgeführt werden sondern mit den Benutzer-Rechten. Deshalb wird auf dem CGI-Server der TUHH als PHP-Apache-Modul nicht mod_php sondern mod_suphp eingesetzt.

PHP-Skripte im benutzereigenen Verzeichnis cgi-bin werden auch weiterhin als CGI-Skripte abgearbeitet.

suPHP Konfiguration

Auszug aus dem Inhalt der suPHP-Konfigurationsdatei:

[global]
;Loglevel
loglevel=info

; Security options
allow_file_group_writeable=false
allow_file_others_writeable=false
allow_directory_group_writeable=false
allow_directory_others_writeable=false

;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=true

;Send minor error messages to browser
errors_to_browser=true

;PATH environment variable
env_path=/bin:/usr/bin

;Umask to set, specify in octal notation
umask=0077

; Minimum UID
min_uid=1000

; Minimum GID
min_gid=1000

[handlers]
;Handler for php-scripts
application/x-httpd-php=php:/usr/bin/php

Beachten Sie insbesondere die Security options. Unter suPHP darf nur dem Dateibesitzer selbst das Schreibrecht für Dateien und Verzeichnisse eingeräumt werden. Ein PHP-Dokument wird nicht abgearbeitet, wenn die Gruppe oder der Rest der Welt Schreibrechte hat.

Konfiguration des PHP Interpreters

  • Interpreter: /usr/bin/php
  • PHP-Version: 7.2.34
  • Pfadname der systemweiten PHP-Konfigurationsdatei: /cgi/etc/php.ini

Der Benutzer hat die Möglichkeit, durch eine eigene PHP-Konfigurationsdatei (php.ini) die Einstellungen für den PHP-Interpreter zu steuern. Die benutzereigenen Datei php.ini muss im selben Verzeichnis liegen wie das PHP-Dokument.

Literatur