<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://admin.wiki.kzoli.hu/index.php?action=history&amp;feed=atom&amp;title=PHP_5.x_telep%C3%ADt%C3%A9se_Apache_2.x_%28wsm2%29_alatt_%28Jessie%29</id>
	<title>PHP 5.x telepítése Apache 2.x (wsm2) alatt (Jessie) - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://admin.wiki.kzoli.hu/index.php?action=history&amp;feed=atom&amp;title=PHP_5.x_telep%C3%ADt%C3%A9se_Apache_2.x_%28wsm2%29_alatt_%28Jessie%29"/>
	<link rel="alternate" type="text/html" href="https://admin.wiki.kzoli.hu/index.php?title=PHP_5.x_telep%C3%ADt%C3%A9se_Apache_2.x_(wsm2)_alatt_(Jessie)&amp;action=history"/>
	<updated>2026-05-05T10:48:36Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://admin.wiki.kzoli.hu/index.php?title=PHP_5.x_telep%C3%ADt%C3%A9se_Apache_2.x_(wsm2)_alatt_(Jessie)&amp;diff=63&amp;oldid=prev</id>
		<title>KZoli: Új oldal, tartalma: „Ez a vázlatos leírás a [http://www.php.net/ PHP] 5.x alkalmazásszerver Debian Jessie és [http://www.apache.org/ Apache] 2.4.x webszerver alatti telepítését muta…”</title>
		<link rel="alternate" type="text/html" href="https://admin.wiki.kzoli.hu/index.php?title=PHP_5.x_telep%C3%ADt%C3%A9se_Apache_2.x_(wsm2)_alatt_(Jessie)&amp;diff=63&amp;oldid=prev"/>
		<updated>2018-05-29T20:57:27Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „Ez a vázlatos leírás a [http://www.php.net/ PHP] 5.x alkalmazásszerver Debian Jessie és [http://www.apache.org/ Apache] 2.4.x webszerver alatti telepítését muta…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ez a vázlatos leírás a [http://www.php.net/ PHP] 5.x alkalmazásszerver Debian Jessie és [http://www.apache.org/ Apache] 2.4.x webszerver alatti telepítését mutatja be.&lt;br /&gt;
&lt;br /&gt;
==Telepítés==&lt;br /&gt;
&amp;#039;&amp;#039;Az alábbiakban feltételezzük, hogy az Apache webszerver a házirendünk szerint, a wsm2 kiegészítővel már [[Apache 2.x (wsm2) telepítése (Jessie)|telepítve van]].&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Megfontolandó, hogy a Debian csomagból történő telepítés után, a beállítások idejére a webszervert leállítsuk (korábban ez kötelező volt, mert az alapértelmezett PHP beállítások fejlesztői, és nem produkciós környezetre voltak meghatározva - a Wheezy óta ez megváltozott):&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install php5    # magával hozza: libapache2-mod-php5 php5-common php5-cli, függőségek, modulok&lt;br /&gt;
systemctl stop apache2  # nem kötelező, de biztos, ami biztos&amp;lt;/pre&amp;gt;&lt;br /&gt;
A telepítés magával hozza és be is kapcsolja a [http://php.net/manual/en/book.opcache.php ZendOpcache], [http://php.net/manual/en/book.pdo.php PDO], [http://php.net/manual/en/book.json.php JSON] és [http://php.net/manual/en/book.readline.php readline] PHP modulokat. A többi kiegészítőt később, a beállításokat követően tesszük fel, ha szükségesek.&lt;br /&gt;
&lt;br /&gt;
==Beállítások==&lt;br /&gt;
===A PHP alapbeállításai===&lt;br /&gt;
&amp;#039;&amp;#039;Figyelem! - az alábbi leírás csak az Apache-2 modulra vonatkozik, a parancssori client mode PHP-ra nem! - &amp;#039;&amp;#039;&amp;#039;TODO!&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A Debian Jessie-ben a PHP Apache modul szerver szintű beállításait a &amp;#039;&amp;#039;maintainer&amp;#039;&amp;#039; által biztosított &amp;#039;&amp;#039;/etc/php5/apache2/php.ini&amp;#039;&amp;#039; állomány és a &amp;#039;&amp;#039;/etc/php5/apache2/conf.d&amp;#039;&amp;#039; könyvtárban elhelyezett &amp;#039;&amp;#039;override&amp;#039;&amp;#039; konfigurációs állományok együttesen határozzák meg (ezek az egyes virtualhostok beállításaiban tovább módosíthatóak). Saját, globális beállításainkat egy új &amp;#039;&amp;#039;/etc/php5/apache2/conf.d/99-wsm2-php5&amp;#039;&amp;#039; nevű állományban fogjuk megadni, amelyben a &amp;#039;&amp;#039;maintainer&amp;#039;&amp;#039; beállításait az alábbiak szerint bíráljuk felül illetve egészítjük ki:&lt;br /&gt;
* tiltjuk a PHP futtatást (virtualhostonként külön engedélyezendő);&lt;br /&gt;
* beállítjuk az &amp;#039;&amp;#039;open_basedir&amp;#039;&amp;#039; alapértelmezését úgy, hogy a PHP a web tárterületről ne lásson ki (virtualhostonként külön módosítandó);&lt;br /&gt;
* globálisan (minden virtualhostra) tiltjuk a biztonsági szempontból kérdéses függvények használatát;&lt;br /&gt;
* alapértelmezésben tiltjuk a fájl feltöltést és a távoli URL-ek megnyitását (virtualhostonként külön engedélyezendő)&lt;br /&gt;
* csökkentjük a memórialimitet 128 M-ről 32M-re (virtualhostonként felülbírálható);&lt;br /&gt;
* a logolást leválasztjuk a syslogról (a &amp;#039;&amp;#039;wsm2&amp;#039;&amp;#039; virtualhostonként külön logot állít be);&lt;br /&gt;
* az alapértelmezett karaktertáblát UTF-8-ra állítjuk (virtualhostonként felülbírálható);&lt;br /&gt;
* globálisan (minden virtualhostra) tiltjuk a persistent MySQL kapcsolatokat;&lt;br /&gt;
* globálisan (minden virtualhostra) engedélyezzük a cookie-k továbbítását nem SSL kapcsolaton keresztül is(!);&lt;br /&gt;
* &amp;lt;small&amp;gt;&amp;#039;&amp;#039;&amp;#039;TODO: meggondolni!&amp;#039;&amp;#039;&amp;#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
Az állományt megtaláljuk a &amp;#039;&amp;#039;wsm2&amp;#039;&amp;#039; csomagban, és legegyszerűbben a&lt;br /&gt;
&amp;lt;pre&amp;gt;wsm2 --configure  # Configuring PHP...&amp;lt;/pre&amp;gt;&lt;br /&gt;
parancs ismételt lefuttatásával másolhatjuk a helyére. A rekonfiguráció ezen kívül mást nem fog megváltoztatni, viszont elindítja a webszervert - már az új beállításokkal.&lt;br /&gt;
&lt;br /&gt;
===A PHP logolás leválasztása a webszerver logokról===&lt;br /&gt;
Alapértelmezésben a PHP naplóbejegyzések az Apache &amp;#039;&amp;#039;error&amp;#039;&amp;#039; logjában jelennek meg. Hasznos lehet ezeket a logbejegyzéseket virtualhostonként egy-egy külön naplóállományba átirányítani. Ehhez egyrészt a PHP beállításaiban meg kell adni a logfile helyét (a &amp;#039;&amp;#039;wsm2&amp;#039;&amp;#039;-vel létrehozott virtualhostoknál ez automatikus), másfelől létre is kell hoznunk a PHP naplóállományokat tartalmazó könyvtárat a &amp;#039;&amp;#039;/var/log&amp;#039;&amp;#039; alatt, úgy, hogy a webszervert futtató &amp;#039;&amp;#039;www-data&amp;#039;&amp;#039; felhasználónak írásjoga, a &amp;#039;&amp;#039;webadmin&amp;#039;&amp;#039; felhasználónak pedig olvasási joga legyen (ez lehetővé teszi, hogy a fejlesztők - &amp;#039;&amp;#039;https&amp;#039;&amp;#039;-en és authentikáció után - olvassák a &amp;#039;&amp;#039;wsm2&amp;#039;&amp;#039; által a virtualhostba linkelt logokat):&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /var/log/php5                       # az összes PHP napló alapkönyvtára&lt;br /&gt;
chown www-data:adm /var/log/php5&lt;br /&gt;
chmod 2751 /var/log/php5                  # az o+x kell a linkelhetőséghez!&lt;br /&gt;
setfacl -m u:webadmin:rx /var/log/php5    # így a webadmin minden logot láthat&lt;br /&gt;
setfacl -d -m u:webadmin:r /var/log/php5&lt;br /&gt;
touch /var/log/php5/php.log               # egy alapértelmezett naplóállomány (általában nem használt)&lt;br /&gt;
chown www-data:adm /var/log/php5/php.log&lt;br /&gt;
chmod 640 /var/log/php5/php.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
Állítsuk be a fenti könyvtárban lévő naplóállomány rotálását (pl. az Apache naplókkal azonos módon):&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/logrotate.d/php5&lt;br /&gt;
&lt;br /&gt;
/var/log/php5/*.log {&lt;br /&gt;
    weekly&lt;br /&gt;
    rotate 53&lt;br /&gt;
    compress&lt;br /&gt;
    missingok&lt;br /&gt;
    notifempty&lt;br /&gt;
    create 0640 www-data adm&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Megjegyzés:&amp;#039;&amp;#039; tehetnénk a PHP naplókat az Apache naplókkal azonos könyvtárba is, a fenti elhelyezés a korábbi Debian házirendből maradt meg.&lt;br /&gt;
&lt;br /&gt;
===A PHP monitorozásának engedélyezése a Muninban===&lt;br /&gt;
Amennyiben a &amp;#039;&amp;#039;munin-plugins&amp;#039;&amp;#039; csomagunk telepítve van, a szokott módon engedélyezhetjük az ebben megtalálható, PHP monitorozó pluginokat:&lt;br /&gt;
&amp;lt;pre&amp;gt;# PHP session file-ok száma (adatbázisban tárolt session-öket nem számol!)&lt;br /&gt;
cp /usr/local/share/munin/plugin-conf.d/php_sessions /etc/munin/plugin-conf.d/&lt;br /&gt;
ln -s /usr/local/share/munin/plugins/php_sessions /etc/munin/plugins/php_sessions&lt;br /&gt;
&lt;br /&gt;
# Érvényesítés&lt;br /&gt;
systemctl restart munin-node&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gyorsteszt==&lt;br /&gt;
Gyorstesztként engedélyezzük a PHP értelmezését a webszerver alapértelmezett virtualhostján:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/apache2/sites-enabled/000-default.conf&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&amp;lt;VirtualHost *:80 &amp;gt;&lt;br /&gt;
[...]&lt;br /&gt;
    # PHP policy settings.&lt;br /&gt;
    [...]&lt;br /&gt;
    &amp;lt;IfModule mod_php5.c&amp;gt;&lt;br /&gt;
        php_admin_flag engine on&lt;br /&gt;
        [...]&lt;br /&gt;
    &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
[...]&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olvastassuk fel a módosított konfigurációt:&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl reload apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
és készítsünk egy egyszerű PHP-t az alapértelmezett virtualhost alapkönyvtárában:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r----- webadmin www-data /var/www/FQHN/hello.php&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01//EN&amp;quot; &amp;quot;http://www.w3.org/TR/html4/strict.dtd&amp;quot;&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;html&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;head&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;title&amp;amp;gt;PHP Test&amp;amp;lt;/title&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;/head&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;body&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;?php echo &amp;#039;&amp;amp;lt;p&amp;amp;gt;Hello World&amp;amp;lt;/p&amp;amp;gt;&amp;#039;; ?&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;?php phpinfo() ?&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;/body&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/html&amp;amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ezután kérjük el a webszervertől a &amp;#039;&amp;#039;hello.php&amp;#039;&amp;#039; oldalt (helyben pl. &amp;#039;&amp;#039;wget&amp;#039;&amp;#039;-tel, vagy a telepítés alatt álló szervert a webszerver portján elérő munkaállomásról, pl. grafikus böngészővel)! A böngészőben a &amp;quot;Hello, World!&amp;quot; szövegnek kell megjelennie, ugyanakkor a virtualhosthoz tartozó &amp;#039;&amp;#039;-php.log&amp;#039;&amp;#039; állományba bekerül egy bejegyzés, amely a &amp;#039;&amp;#039;phpinfo()&amp;#039;&amp;#039; hívásának letiltására utal.&lt;br /&gt;
&lt;br /&gt;
A gyorstesztet követően a &amp;#039;&amp;#039;hello.php&amp;#039;&amp;#039; törölhető, és a webszerver alapértelmezett virtualhostján a PHP értelmezését célszerű ismét letiltani.&lt;br /&gt;
&lt;br /&gt;
==Modulok telepítése==&lt;br /&gt;
A modulok telepítése &amp;#039;&amp;#039;opcionális&amp;#039;&amp;#039; (LAMP szerver esetén a MySQL általában &amp;quot;mindenhez&amp;quot; szükséges, a többi a telepítendő PHP alkalmazásoktól függ). A telepítés be is kapcsolja a modult, amely később később a &amp;#039;&amp;#039;php5dismod&amp;#039;&amp;#039; illetve &amp;#039;&amp;#039;php5enmod&amp;#039;&amp;#039; parancsokkal kapcsolható ki- illetve vissza (a háttérben ugyanolyan symlinkelés történik, mint az Apache modulok esetében). A módosításokat a webszerver konfiguráció újraolvastatásával kell érvényesíteni.&lt;br /&gt;
===MySQL PHP modul telepítése===&lt;br /&gt;
Ez a modul a [http://php.net/manual/en/book.mysql.php MySQL] adatbázisok PHP-ből történő direkt eléréséhez szükséges. Feltételezzük, hogy a MySQL szerver a házirendünk szerint [[MySQL 5.x telepítése (Jessie)|telepítve van]].&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install php5-mysql&lt;br /&gt;
# Érvényesítés&lt;br /&gt;
systemctl reload apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GD PHP modul telepítése===&lt;br /&gt;
Ez a [http://php.net/manual/en/book.image.php modul] képállományok (PNG, JPEG, XPM) és &amp;#039;&amp;#039;true-type&amp;#039;&amp;#039; fontok PHP-ből történő direkt kezeléséhez szükséges (figyelem, jelentős függőségei lehetnek!).&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install php5-gd # +: függőségek&lt;br /&gt;
# Érvényesítés&lt;br /&gt;
systemctl reload apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CURL modul telepítése===&lt;br /&gt;
Ez a modul a [http://php.net/manual/en/book.curl.php Client URL Library] használatához szükséges, amellyel a PHP kód más szerverekkel tud kommunikálni (&amp;#039;&amp;#039;http, https, ftp, gopher, telnet, dict, file, ldap,&amp;#039;&amp;#039; stb.).&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install php5-curl # +: főtanúsítványok, ssh és curl library-k (ha még nincsenek telepítve)&lt;br /&gt;
# Érvényesítés&lt;br /&gt;
systemctl reload apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
===XSL modul telepítése===&lt;br /&gt;
Ez a modul a [http://php.net/manual/en/book.xsl.php libxslt parser] PHP-ből történő használatához szükséges. &lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install php5-xsl # +: libxslt&lt;br /&gt;
# Érvényesítés&lt;br /&gt;
systemctl reload apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
===SOAP modul telepítése===&lt;br /&gt;
Ez a [http://php.net/manual/en/book.soap.php modul] a korábban [http://hu.wikipedia.org/wiki/SOAP Simple Object Access Protocol] elnevezésű, XML alapú üzenetküldő szabványt valósítja meg PHP alatt. &amp;#039;&amp;#039;Csak akkor telepítsük, ha szükséges!&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sok függősége lehet (többek között [http://en.wikipedia.org/wiki/PEAR PEAR-t] is kér).&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install php-soap # +: sok függőség, közte PEAR&lt;br /&gt;
# Érvényesítés&lt;br /&gt;
systemctl reload apache2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Egyéb eszközök telepítése==&lt;br /&gt;
Szintén &amp;#039;&amp;#039;opcionálisak&amp;#039;&amp;#039;, csak akkor telepítsük, ha valóban szükségesek.&lt;br /&gt;
===OPcache (kód) gyorsítótár===&lt;br /&gt;
Az [http://php.net/manual/en/book.opcache.php OPcache] egy köztes kód (tárgykód) objektum gyorsítótár (&amp;#039;&amp;#039;intermediate code cache&amp;#039;&amp;#039;) a PHP-hoz. A PHP alkalmazások számára transzparens, használatához azokat nem kell módosítani. Használata &amp;#039;&amp;#039;opcionális&amp;#039;&amp;#039;,  publikus szolgáltatást nyújtó PHP kiszolgálóknál &amp;#039;&amp;#039;javasolt&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
A Debian PHP terjesztésnek része, de alapértelmezetten nincs bekapcsolva. Engedélyezéséhez és paraméterezéséhez egészítsük ki a &amp;#039;&amp;#039;wsm2-local.conf&amp;#039;&amp;#039; állományt az alábbiakkal:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/apache2/conf-available/wsm2-local.conf&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
# OPcache settings:&lt;br /&gt;
# http://php.net/manual/en/opcache.configuration.php&lt;br /&gt;
&amp;lt;IfModule mod_php5.c&amp;gt;&lt;br /&gt;
#   Bug - see e.g: https://github.com/omega8cc/boa/issues/381&lt;br /&gt;
#   php_admin_flag opcache.enable on&lt;br /&gt;
    php_admin_value opcache.memory_consumption 128&lt;br /&gt;
    php_admin_value opcache.interned_strings_buffer 8&lt;br /&gt;
    php_admin_value opcache.max_accelerated_files 4000&lt;br /&gt;
    php_admin_value opcache.revalidate_freq 60&lt;br /&gt;
    php_admin_flag opcache.fast_shutdown on&lt;br /&gt;
    php_admin_flag opcache.enable_cli off&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;A fenti értékek [http://php.net/manual/en/opcache.installation.php a kézikönyvből] származnak, átgondolni és pontosítani &amp;#039;&amp;#039;&amp;#039;TODO!&amp;#039;&amp;#039;&amp;#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sajnos egy [https://github.com/omega8cc/boa/issues/381 hiba] miatt, ha az OPcache-t a fenti módon, és nem a &amp;#039;&amp;#039;php.ini&amp;#039;&amp;#039;-ben engedélyezzük, az Apache(?) figyelmeztetésekkel árasztja el az &amp;#039;&amp;#039;error.log&amp;#039;&amp;#039;-ot. Ezért (kivételesen) szerkesszük meg a &amp;#039;&amp;#039;php.ini &amp;#039;&amp;#039; állományt az alábbiak szerint:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/php5/apache2/php.ini&lt;br /&gt;
&lt;br /&gt;
[opcache]&lt;br /&gt;
; Determines if Zend OPCache is enabled&lt;br /&gt;
opcache.enable=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
=====Az OPcache monitorozásának engedélyezése a Muninban=====&lt;br /&gt;
Az OPcache monitorozásához szükség van egy, csak a &amp;#039;&amp;#039;localhost&amp;#039;&amp;#039;-ról engedélyezett PHP kód hívására, amely a monitorozott paramétereket lekérdezi és visszaadja. Másoljuk a &amp;#039;&amp;#039;munin-plugins&amp;#039;&amp;#039; tarballban szereplő PHP kódot az alapértelmezett virtualhost web gyökérkönyvtárába:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp /usr/local/share/munin/plugins/php_opcache.php /var/www/[DEFAULT_VIRTUALHOST]/&amp;lt;/pre&amp;gt;&lt;br /&gt;
és engedélyezzük lefuttatását csak a &amp;#039;&amp;#039;localhost&amp;#039;&amp;#039;-ról:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/apache2/sites-enabled/000-default.conf&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
    # PHP OPcache monitoring&lt;br /&gt;
    &amp;lt;Location /php_opcache.php&amp;gt;&lt;br /&gt;
        Require local&lt;br /&gt;
        &amp;lt;IfModule php5_module&amp;gt;&lt;br /&gt;
            php_admin_flag engine on&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule security2_module&amp;gt;&lt;br /&gt;
            SecRuleEngine Off&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
    &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ######################################################################&lt;br /&gt;
    # Virtualhost&amp;#039;s fine tuning and application-specific settings (if any).&lt;br /&gt;
    [...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olvastassuk újra a webszerver konfigurációját és ellenőrizzük, hogy az OPcache állapota PHP-val lekérdezhető-e (ehhez az alapértelmezett virtualhoston a PHP-t nem kell engedélyezni, a bemásolt Apache konfiguráció részlet megteszi ezt kizárólag erre az egyetlen állományra):&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl reload apache2&lt;br /&gt;
wget --user-agent=&amp;quot;none&amp;quot; -O result.txt &amp;#039;http://localhost/php_opcache.php&amp;#039;&lt;br /&gt;
cat result.txt; rm result.txt&lt;br /&gt;
&lt;br /&gt;
mem_used.value 79620224&lt;br /&gt;
mem_free.value 54597504&lt;br /&gt;
mem_wasted.value 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ha válaszként hasonló kimenetet kapunk, a lekérdezés helyesen van beállítva.&lt;br /&gt;
&lt;br /&gt;
Ezután a szokásos módon engedélyezzük a &amp;#039;&amp;#039;php_opcache&amp;#039;&amp;#039; Munin plugint:&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /usr/local/share/munin/plugins/php_opcache /etc/munin/plugins/php_opcache&lt;br /&gt;
systemctl restart munin-node&amp;lt;/pre&amp;gt;&lt;br /&gt;
és telnettel (vagy a Munin ábrák megtekintésével) ellenőrizzük működését.&lt;br /&gt;
&lt;br /&gt;
===APCu (adat) gyorsítótár===&lt;br /&gt;
Az [http://php.net/manual/en/book.apc.php Alternative PHP Cache] korábban köztes kód (tárgykód) objektum gyorsítótárként működött, de a PHP (a Debian Jessie kiadásában is szereplő) 5.5 verziójában ezt a funkciót [https://www.devside.net/wamp-server/installing-apc-for-php-5-5 megszüntették], és kizárólag adatobjektum gyorsítótárként, név-érték párok tárolására szolgál. Használata &amp;#039;&amp;#039;opcionális&amp;#039;&amp;#039; (rutinból nem telepítjük), elsősorban nagy terhelésű PHP kiszolgálóknál van értelme. A PHP alkalmazás számára nem transzparens, a gyorsítótárazás az alkalmazás részéről együttműködést igényel(?) - az [http://owncloud.org ownCloud] pl. jól kihasználja.&lt;br /&gt;
&lt;br /&gt;
Debian csomagból telepíthető:&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install php-apcu&amp;lt;/pre&amp;gt;&lt;br /&gt;
Telepítés után a gyorsítótár még nincs engedélyezve.&lt;br /&gt;
=====Az APCu beállítása=====&lt;br /&gt;
Engedélyezéséhez egészítsük ki a &amp;#039;&amp;#039;wsm2-local.conf&amp;#039;&amp;#039; állományt az alábbiakkal: &lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/apache2/conf-available/wsm2-local.conf &lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
# APC settings.&lt;br /&gt;
&amp;lt;IfModule mod_php5.c&amp;gt;&lt;br /&gt;
    php_admin_flag apc.enabled on&lt;br /&gt;
    php_admin_value apc.shm_segments 1&lt;br /&gt;
    php_admin_value apc.shm_size 32M&lt;br /&gt;
    php_admin_value apc.ttl 1800&lt;br /&gt;
    php_admin_value apc.user_ttl 1800&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;A fentieket átgondolni és pontosítani &amp;#039;&amp;#039;&amp;#039;TODO!&amp;#039;&amp;#039;&amp;#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Az APC cache használata egy virtualhostban az alábbi Apache beállítással kapcsolható ki:&lt;br /&gt;
&amp;lt;pre&amp;gt;[...]&lt;br /&gt;
    &amp;lt;IfModule mod_php5.c&amp;gt;&lt;br /&gt;
        php_admin_flag apc.enabled off&lt;br /&gt;
    &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
[...]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Az APCu monitorozásának engedélyezése a Muninban=====&lt;br /&gt;
Az APC monitorozásához szükség van egy, csak a &amp;#039;&amp;#039;localhost&amp;#039;&amp;#039;-ról engedélyezett PHP kód hívására, amely a monitorozott paramétereket visszaadja. Másoljuk a &amp;#039;&amp;#039;munin-plugins&amp;#039;&amp;#039; tarballban szereplő PHP kódot az alapértelmezett virtualhost web gyökérkönyvtárába:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp /usr/local/share/munin/plugins/php_apc.php /var/www/[DEFAULT_VIRTUALHOST]/&amp;lt;/pre&amp;gt;&lt;br /&gt;
és engedélyezzük lefuttatását csak a &amp;#039;&amp;#039;localhost&amp;#039;&amp;#039;-ról:&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw-r--r-- root root /etc/apache2/sites-enabled/000-default.conf&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
    # PHP APCu monitoring&lt;br /&gt;
    &amp;lt;Location /php_apc.php&amp;gt;&lt;br /&gt;
        Require local&lt;br /&gt;
        &amp;lt;IfModule php5_module&amp;gt;&lt;br /&gt;
            php_admin_flag engine on&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
        &amp;lt;IfModule security2_module&amp;gt;&lt;br /&gt;
            SecRuleEngine Off&lt;br /&gt;
        &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
    &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ######################################################################&lt;br /&gt;
    # Virtualhost&amp;#039;s fine tuning and application-specific settings (if any).&lt;br /&gt;
    [...]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Olvastassuk újra a webszerver konfigurációját és ellenőrizzük, hogy az APC státusa PHP-val lekérdezhető-e (ehhez az alapértelmezett virtualhoston a PHP-t nem kell engedélyezni, a bemásolt Apache konfiguráció részlet megteszi ezt kizárólag erre az egyetlen állományra):&lt;br /&gt;
&amp;lt;pre&amp;gt;systemctl reload apache2&lt;br /&gt;
wget --user-agent=&amp;quot;none&amp;quot; -O result.txt &amp;#039;http://localhost/php_apc.php?act=memory&amp;#039;&lt;br /&gt;
cat result.txt; rm result.txt&lt;br /&gt;
&lt;br /&gt;
mem_used.value 51712&lt;br /&gt;
mem_avail.value 31405512&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ha válaszként hasonló kimenetet kapunk, a lekérdezés helyesen van beállítva.&lt;br /&gt;
&lt;br /&gt;
Ezután a szokásos módon engedélyezzük a &amp;#039;&amp;#039;php_apc_&amp;#039;&amp;#039; Munin pluginokat:&lt;br /&gt;
&amp;lt;pre&amp;gt;cp /usr/local/share/munin/plugins.d/php_apc /etc/munin/plugins.d/&lt;br /&gt;
#ln -s /usr/local/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_hits    # Kumulált grafikon, nem tűnik igazán hasznosnak&lt;br /&gt;
ln -s /usr/local/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_memory&lt;br /&gt;
ln -s /usr/local/share/munin/plugins/php_apc_ /etc/munin/plugins/php_apc_percents&lt;br /&gt;
systemctl restart munin-node&amp;lt;/pre&amp;gt;&lt;br /&gt;
és telnettel (vagy a Munin ábrák megtekintésével) ellenőrizzük működésüket.&lt;br /&gt;
&lt;br /&gt;
===XSendFile===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Még ne vedd komolyan!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Az [http://tn123.ath.cx/mod_xsendfile/ XSendFile] egy Apache-2 modul, amely lehetővé teszi, hogy egy webalkalmazás outputként egy létező statikus állomány tartalmát adja vissza (pl. &amp;#039;&amp;#039;download.php&amp;#039;&amp;#039; funkcionalitás) anélkül, hogy azt a standard outputra kelljen másolnia. Ehelyett beállíthat egy &amp;#039;&amp;#039;HTTP-response header&amp;#039;&amp;#039;-t, amelyben megadja az állomány élérési útvonalát és kiléphet; a &amp;#039;&amp;#039;response&amp;#039;&amp;#039; feldolgozásakor az Apache-2 az állomány tartalmát adja vissza &amp;#039;&amp;#039;body&amp;#039;&amp;#039;-ként.&lt;br /&gt;
&lt;br /&gt;
Figyelem: az XSendFile megkerül minden Apache korlátozást (tehát a &amp;#039;&amp;#039;deny from all&amp;#039;&amp;#039;-t is)!&lt;br /&gt;
====A mod_xsendfile telepítése====&lt;br /&gt;
A modul nem része a Debian Lenny disztribúciónak, így vagy forrásból kell lefordítani (&amp;#039;&amp;#039;&amp;#039;TODO!&amp;#039;&amp;#039;&amp;#039;), vagy az alábbi, [http://ppa.launchpad.net/damokles/ubuntu/pool/main/liba/libapache2-mod-xsendfile/ unofficial repository]-ból telepíthető: &lt;br /&gt;
&amp;lt;pre&amp;gt;mount -o remount,exec /tmp; mount -o remount,rw /usr; mount -o remount,exec /var&lt;br /&gt;
dpkg -i *.deb # csak a telepítendő .deb csomag legyen a könyvtárban :-)&lt;br /&gt;
mount -o remount /tmp; mount -o remount /usr; mount -o remount /var&amp;lt;/pre&amp;gt;&lt;br /&gt;
Telepítés után engedélyezzük az Apache modult:&lt;br /&gt;
&amp;lt;pre&amp;gt;a2enmod xsendfile; invoke-rc.d apache2 restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Gyorsteszt====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TODO!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Irodalom==&lt;br /&gt;
* [http://hu.php.net/manual/hu/index.php PHP Kézikönyv]&lt;br /&gt;
* [http://ilia.ws/archives/18_PHPs_safe_mode_or_how_not_to_implement_security.html PHP&amp;#039;s safe_mode or how NOT to implement security]&lt;br /&gt;
* [http://www.securephpwiki.com/index.php/Main_Page Secure PHP Wiki]&lt;br /&gt;
* [http://php.net/manual/en/book.opcache.php PHP OPcache Manual]&lt;br /&gt;
* [http://php.net/manual/en/book.apc.php PHP APC Manual]&lt;br /&gt;
* [http://tn123.ath.cx/mod_xsendfile/ Az XSendFile weboldala]&lt;/div&gt;</summary>
		<author><name>KZoli</name></author>
	</entry>
</feed>