Der Release von PHP 7.0 rückt immer näher! Mittlerweile sind wir beim fünften Release Candidate angekommen, den wir in diesem Quick Setup zusammen mit Nginx, Fast_cgi und PHP-FPM installieren werden. Zusätzlich sind in der späteren Nginx Site Config noch ein paar TYPO3 Flow 3.x spezifische Redirect Rules definiert, damit das TYPO3 Flow Framework funktioniert… Diese zusätzlichen Zeilen sind markiert und können getrost weggelassen werden falls nicht mit TYPO3 Flow gearbeitet wird.
In diesem Quick Setup Tutorial:
– Nginx 1.9.5 Mainline
– PHP7.0 RC5 von dotdeb
– PHP7-FPM sowie Fast_CGI
– Debian 8 Jessie OS
Die source.list vorbereiten
Zum einen fügen wir das dotdeb Archiv unserer source.list hinzu, um die PHP7 Pakete zu erhalten.
Desweiteren fügen wir Source Listen von nginx hinzu, um die aktuellste Version aus dem Mainline Branch zu erhalten
cd /opt wget http://nginx.org/keys/nginx_signing.key apt-key add nginx_signing.key wget http://www.dotdeb.org/dotdeb.gpg apt-key add dotdeb.gpg # Folgende Zeilen der /etc/apt/source.list hinzufügen # Hinweis: Dies ist für Debian 8 Jessie deb http://dotdeb.netmirror.org/ stable all deb-src http://dotdeb.netmirror.org/ stable all deb http://nginx.org/packages/mainline/debian/ jessie nginx deb-src http://nginx.org/packages/mainline/debian/ jessie nginx
PHP 7.0 / Nginx Installation
apt-get update apt-get install php7.0 php7.0-fpm apt-get install php-mysql apt-get install nginx
PHP7 & php7-fpm Konfiguration
Änderungen an Datei: /etc/php/7.0/fpm/pool.d/www.conf
# Sicherstellen, dass user und group auf www-data gesetzt sind user = www-data group = www-data # Listing Mode von Socket auf TCP umstellen listen = 127.0.0.1:9000 ;listen = /run/php/php7.0-fpm.sock
Nginx FastCGI Konfiguration
Datei: /etc/nginx/conf.d/001-my-domain.conf
server { listen 80; server_name _; root /var/www/Web; index index.php index.html index.htm; # TYPO3 Flow Specific location ~ "^/_Resources/Persistent/" { access_log off; log_not_found off; expires max; rewrite "(.{40})/.+\.(.+)" /_Resources/Persistent/$1.$2 break; rewrite "([a-z0-9]+/(.+/)?[a-f0-9]{40})/.+\.(.+)" /_Resources/Persistent/$1.$2 break; } # TYPO3 Flow Specific location ~ "^/_Resources/" { access_log off; log_not_found off; expires max; break; } location / { rewrite ".*" /index.php last; # TYPO3 Flow Specific } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param FLOW_CONTEXT Development; fastcgi_param FLOW_REWRITEURLS 1; autoindex off; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_index index.php; } }