Typo3 PHP-Konfiguration und Optimierung

Diese Einstellungen können entweder systemweit in der /etc/php5/apache2/php.ini vorgenommen werden, oder aber in der httpd.conf in den Konfigurationsabschnitten für die Virtual Hosts für jeden Virtual Host individuell gesetzt werden. ( Root-Zugriff erforderlich)

Dabei sind die Syntaxunterschiede zu beachten: in der php.ini ist kein Descriptor erforderlich, dafür werden Parameter mittels einem Gleichheitszeichen zugewiesen.  Beispiel:

in php.ini - Syntax:

allow_call_time_pass_reference = off

derselbe Eintrag in http.conf - Syntax:

php_flag allow_call_time_pass_reference off

 

Einträge für Virtual Host Abschnitte der httpd.conf:

php_flag allow_call_time_pass_reference off
php_flag register_globals off
php_flag register_argc_argv off
php_flag magic_quotes_gpc off
php_value variables_order GPCS

In der httpd.conf sollte außerdem entweder global oder per Virtual Host noch das directory listing verboten werden:

Options     -Indexes

open_basedir

Für jeden Virtual Host sollte unbedingt open_basedir individuell eingestellt werden, mit dem der Zugriff jeder Typo3-Installation auf die notwendigen Bereiche des Dateisystems eingeschränkt wird.

Wenn's danach nicht funktioniert, schickt der Indianer Rauchzeichen.
( man sieht im error.log, welche Pfade noch in die openbasedir-Deklaration aufgenommen werden möchten.)

Beispiel für open_basedir-Eintrag in der httpd.conf (bzw. includierten Virtual Hosts)

php_admin_value open_basedir   "/MyWebroot/typo3_srcVersion:/MyWebroot/MyTypo3BaseDir"

Seit PHP 5.1.0 ist auch das includieren eines in der php.ini gesetzten open_basedir möglich, das ist ganz praktisch, wenn man mehrere Installationen nebeneinander in derselben Webroot hat, die per Symlink auf dasselbe typo3_src-Directory zugreifen.

php_admin_value open_basedir   "${open_basedir}:/MyWebroot/MyTypo3BaseDir" 

 

mod_gzip / Apache 1.3x

Nur im Fall von Redakteuren mit IE und einem alten Apachen, der noch mit mod_gzip läuft
(seit Apache 2.0 heisst das mod_deflate):

mod_gzip_item_exclude file \.css$
mod_gzip_item_exclude file \.png$
mod_gzip_item_exclude file \.gif$
mod_gzip_item_exclude file \.jpg$
mod_gzip_item_exclude file \.jpeg$
mod_gzip_item_exclude file \.js$