Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi2:apache-php

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

lpi2:apache-php [2018/11/12 23:23]
lpi2:apache-php [2018/11/12 23:23] (aktuell)
Zeile 1: Zeile 1:
 +====== Apache httpd mit PHP ======
 +===== php-cgi =====
 +
 +Pakete Debian 8: ''​apache2 php5-cgi''​
 +
 +  a2enmod cgi
 +  a2enconf serve-cgi-bin
 +
 +(( Das würde mit den folgenden Ergänzungen schon reichen. Wird aber von php nicht empfohlen.
 +<file ini /​tmp/​cgi.force_redirect_no.ini>​
 +# do not use this in production, see
 +# http://​php.net/​manual/​de/​ini.core.php#​ini.cgi.force-redirect
 +cgi.force_redirect = 0
 +</​file>​
 +
 +<code bash /​usr/​lib/​cgi-bin/​phpinfo.php>​
 +#!/bin/sh
 +# just because something works doesn'​t mean it's a good idea ...
 +exec /​usr/​bin/​php-cgi -c /​tmp/​cgi.force_redirect_no.ini
 +<?php
 +# do not use me in production
 +  phpinfo();
 +  #​phpinfo(INFO_MODULES);​
 +?>
 +</​code>​
 +))
 +  a2enmod actions
 +
 +<file txt /​etc/​apache/​conf-available/​simple-php5-cgi.conf>​
 +<​Directory /​usr/​lib/​cgi-bin>​
 +  Action php-script /​cgi-bin/​php5
 +  AddHandler ​  ​php-script .php
 +</​Directory>​
 +</​file>​
 +
 +  a2enconf simple-php5-cgi
 +
 +<code php /​usr/​lib/​cgi-bin/​phpinfo.php>​
 +<?php
 +# do not use me in production
 +  phpinfo();
 +  #​phpinfo(INFO_MODULES);​
 +?>
 +</​code>​
 +
 +===== mod_php =====
 +Pakete: ​
 +  * Debian (8): libapache2-mod-php5
 +  * CentOS (7): php
 +
 +<code php /​var/​www/​html/​phpinfo.php>​
 +<?php
 +# do not use me in production
 +  phpinfo();
 +  #​phpinfo(INFO_MODULES);​
 +?>
 +</​code>​
 +
 +===== php-fcgi =====
 +Pakete Debian 8: ''​apache2 php5-cgi libapache2-mod-fcgid''​
 +
 +  a2dismod cgi
 +  a2disconf serve-cgi-bin
 +  a2enmod fcgid
 +
 +<file txt /​etc/​apache2/​conf-available/​php-fcgi.conf>​
 +# Context - server config
 +FcgidMaxProcesses 150
 +# Otherwise php output shall be buffered
 +FcgidOutputBufferSize 0
 +
 +ScriptAlias /cgi-bin/ /​usr/​lib/​cgi-bin/​
 +<​Directory "/​usr/​lib/​cgi-bin">​
 +  AddHandler fcgid-script .php # may confict with other .php handlers
 +  #​FcgidWrapper /​usr/​local/​bin/​php-fcgid-wrapper
 +  FcgidWrapper /​usr/​bin/​php-cgi
 +  AllowOverride None
 +  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
 +  Require all granted
 +</​Directory>​
 +</​file>​
 +
 +  a2enconf php-fcgi
 +
 +  apachectl configtest
 +  apachectl graceful
 +
 +<code php /​usr/​lib/​cgi-bin/​phpinfo.php>​
 +<?php
 +# do not use me in production
 +  phpinfo();
 +  #​phpinfo(INFO_MODULES);​
 +?>
 +</​code>​
 +
 +  wget -nv -O - http://​localhost/​cgi-bin/​phpinfo.php
 +
 +  service apache2 status
 +
 +===== php-fpm =====
 +Pakete Debian 8: ''​apache2 php5-fpm''​
 +
 +  a2dismod cgi
 +  a2disconf serve-cgi-bin
 +  a2enmod proxy_fcgi
 +
 +<file txt /​etc/​apache2/​conf-available/​php-fpm.conf>​
 +<Proxy "​unix:/​var/​run/​php5-fpm.sock|fcgi://​php-fpm">​
 +  # we must declare a (any) parameter in here 
 +  # or it won't register the proxy ahead of time
 +  ProxySet disablereuse=off
 +</​Proxy>​
 +ScriptAlias /cgi-bin/ /​usr/​lib/​cgi-bin/​
 +<​Directory "/​usr/​lib/​cgi-bin">​
 +  <​FilesMatch "​.+\.php$">​
 +    SetHandler proxy:​fcgi://​php-fpm
 +  </​FilesMatch>​
 +  AllowOverride None
 +  Require all granted
 +</​Directory>​
 +</​file>​
 +
 +  a2enconf php-fpm
 +
 +  apachectl configtest
 +  apachectl graceful
 +
 +<code php /​usr/​lib/​cgi-bin/​phpinfo.php>​
 +<?php
 +# do not use me in production
 +  phpinfo();
 +  #​phpinfo(INFO_MODULES);​
 +?>
 +</​code>​
 +
 +  wget -nv -O - http://​localhost/​cgi-bin/​phpinfo.php
 +
 +  service apache2 status
 +
 +===== php-fpm mit anderem Benutzer =====
 +Pakete Debian 8: ''​apache2 php5-fpm''​
 +
 +  a2dismod cgi
 +  a2disconf serve-cgi-bin
 +  a2enmod proxy_fcgi
 +
 +  useradd -r -s /​usr/​sbin/​nologin -d /​srv/​phpinfo phpinfo
 +  mkdir /​srv/​phpinfo
 +  cp /​etc/​php5/​fpm/​pool.d/​{www,​phpinfo-app}.conf
 +
 +<file txt /​etc/​php5/​fpm/​pool.d/​phpinfo-app.conf>​
 +[phpinfo-app]
 +
 +user = phpinfo
 +group = phpinfo
 +
 +listen = /​var/​run/​php5-fpm-phpinfo.sock
 +
 +</​file>​
 +
 +  service php5-fpm restart
 +
 +<file txt /​etc/​apache2/​conf-available/​php-fpm-phpinfo.conf>​
 +<Proxy "​unix:/​var/​run/​php5-fpm-phpinfo.sock|fcgi://​php-fpm-phpinfo">​
 +  # we must declare a (any) parameter in here 
 +  # or it won't register the proxy ahead of time
 +  ProxySet disablereuse=off
 +</​Proxy>​
 +ScriptAlias /phpinfo/ /​srv/​phpinfo/​
 +<​Directory "/​srv/​phpinfo/">​
 +  <​FilesMatch "​.+\.php$">​
 +    SetHandler proxy:​fcgi://​php-fpm-phpinfo
 +  </​FilesMatch>​
 +  AllowOverride None
 +  Require all granted
 +</​Directory>​
 +</​file>​
 +
 +  a2enconf php-fpm-phpinfo
 +
 +  apachectl configtest
 +  apachectl graceful
 +
 +<code php /​srv/​phpinfo/​phpinfo.php>​
 +<?php
 +# do not use me in production
 +  phpinfo();
 +  phpinfo(INFO_MODULES);​
 +?>
 +</​code>​
 +
 +  wget -nv -O - http://​localhost/​phpinfo/​phpinfo.php
 +
 +  service apache2 status
 +
  
lpi2/apache-php.txt · Zuletzt geändert: 2018/11/12 23:23 (Externe Bearbeitung)