Apache és PHP-FPM telepítése

  • Beküldve: 2015. november 04, 09:40
  • Szerző: Bolemányi Attila
aptitude install apache2-mpm-worker php5-fpm
a2enmod proxy
a2enmod proxy_fcgi
systemctl restart apache2

/etc/php5/fpm/php.ini fájlban módosítsuk az alábbi paramétereket:

short_open_tag = On
max_execution_time = 300
sendmail_path = /usr/sbin/sendmail -t -i

Ahhoz, hogy működjön a névfeloldás, Linux alatt a /etc/hosts, Windows alatt pedig a C:\Windows\System32\drivers\etc\hosts fájlba kell egy sor:

192.168.1.200 webserver.comega7.local

A böngésződben látogasd meg a http://webserver.comega7.local oldalt. Ha eddig minden jól ment, akkor megjelenik az Apache2 Debian Default Page című oldal. Most pedig fogjuk munkára a PHP-t is:

cd /var/www/html
touch phpinfo.php

A fájl tartalma legyen ez:

<?php phpinfo(); ?>

A böngésződben most látogasd meg a http://webserver.comega7.local/phpinfo.php oldalt. A PHP egyelőre nem működik, a fájl tartalma fog megjelenni, nem pedig a phpinfo() függvény kimenete.

/etc/php5/fpm/pool.d/www.conf fájlban fogsz találni egy ilyen sort:

...
listen = /var/run/php5-fpm.sock
...

Vagyis a PHP értelmező a fenti unix socket fájlon keresztül várja a feldolgozási kérelmet, de ezt tudatnunk kell az Apache webszerverrel is. A /etc/apache2/sites-enabled/000-default.conf fájl tartalma legyen az alábbi:

<VirtualHost *:80>
    ServerName webserver.comega7.local
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    <Directory "/var/www/html">
        Options +SymLinksIfOwnerMatch
        AllowOverride AuthConfig FileInfo Indexes Limit Options=Indexes,MultiViews
        Require all granted
    </Directory>

    <FilesMatch \.php$>
        SetHandler "proxy:unix:/var/run/php5-fpm.sock|fcgi://localhost"
    </FilesMatch>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Látható, hogy a <FilesMatch> direktíván belül mondjuk meg az Apache számára azt, hogy ha PHP fájlokkal találkozik, hová kell azokat elküldenie feldolgozásra.

systemctl restart apache2

A böngésződben látogasd meg ismét a http://webserver.comega7.local/phpinfo.php oldalt. A phpinfo() függvény teszi a dolgát, Neked pedig van egy működő Apache-PHP duód.

A weboldalak tárolásához alakítsuk ki az alábbi sablont:

mkdir /etc/skel/www-site
mkdir /etc/skel/www-data
mkdir /etc/skel/log-files

A www-site mappa fogja tárolni a weboldalakat, a www-data mappa a weboldalak azon adatait, amelyeket nem szabad közvetlenül elérni az Internet felől, a log-files mappa pedig az oldalhoz tartozó Apache és PHP logokat.