maanantai 30. syyskuuta 2024

Rocky Linux 9 asennus osa 4: PHP ja PHP-FPM

PHP on ohjelmointikieli, jota tarvitaan useiden nettisovellusten kuten WordPressin tai Drupalin taustalla. PHP-FPM antaa mahdollisuuden suorittaa rinnakkain useita eri PHP:n versioita, joka helpottaa palvelimen päivitystä.

Lisää Remirepo Rocky Linux 9:n paketinhallintaan komennolla

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y

Katso tarjolla olevat PHP-versiot

sudo dnf module list php

Asenna PHP ja yleisimmin tarvittavat moduulit

sudo yum install php85-php-cli php85-php-fpm php85-php-gd php85-php-mbstring \ php85-php-mysqlnd php85-php-opcache php85-php-pdo php85-php-pecl-apcu \ php85-php-pecl-igbinary php85-php-pecl-imagick-im7 php85-php-pecl-zip \ php85-php-soap php85-php-xml

Avaa tekstieditoriin /etc/opt/remi/php85/php-fpm.d/www.conf tiedosto ja korvaa sisältö alla olevalla koodilla

[www]
user = apache
group = apache

listen = /var/opt/remi/php85/run/php-fpm/www.sock
listen.acl_users = apache
listen.allowed_clients = 127.0.0.1

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500

php_value[session.save_handler] = files
php_value[session.save_path] = /var/opt/remi/php85/lib/php/session
php_value[soap.wsdl_cache_dir] = /var/opt/remi/php85/lib/php/wsdlcache

Lisää /etc/httpd/vhosts.d-hakemistoon Apache asetustiedosto, joka määrittelee PHP-sivuston. Valmis vhosts.d-tiedosto sisältää esimerkiksi koodin:

<Directory "/var/www/omasaitti">
    AllowOverride All
    Options FollowSymLinks
    Require all granted
    AllowMethods GET POST PUT DELETE OPTIONS
</Directory>

<VirtualHost *:80>
    DocumentRoot /var/www/html
    ServerName omasaitti.fi
    Include conf/vhost.conf

    RewriteEngine on
    RewriteCond %{SERVER_NAME} =omasaitti.fi
    RewriteRule ^ https://omasaitti.fi%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<VirtualHost *:443>
    DocumentRoot /var/www/omasaitti
    ServerName omasaitti.fi
    Include conf/vhost.conf

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/omasaitti.fi/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/omasaitti.fi/privkey.pem

    DirectoryIndex index.php index.html
    <FilesMatch "\.(php|phar)$">
        SetHandler "proxy:unix:/var/opt/remi/php85/run/php-fpm/www.sock|fcgi://localhost"
    </FilesMatch>
</VirtualHost>

missä /var/www/omasaitti on hakemisto, jossa sivusto sijaitsee ja omasaitti.fi on sivustosi verkkotunnus.

Lisää itsesi Apache-ryhmään komennolla

sudo usermod -a -G apache teppo

missä teppo on käyttäjänumesi.

Anna /var/www-hakemisto apache-ryhmän hallintaan

sudo chown -R teppo:apache /var/www sudo chmod -R g+rx,o-rwx /var/www sudo find /var/www -type d -exec chmod g+s {} \; sudo find /var/www -type d -exec setfacl -dm g::rx,o::- {} \;

Asenna sivusto siirtämällä tiedostot /var/www-hakemiston alle. Jos PHP-koodi muokkaa tai tiedostoja asennushakemiston alla, niin anna PHP-FPM:lle kirjoitusoikeudet hakemistoon komennoilla

chmod -R g+w /var/www/omasaitti/tmp find /var/www/omasaitti/tmp -type d -exec setfacl -dm g::rwx,o::- {} \;

missä /var/www/omasaitti/tmp on kirjoitettava hakemisto.

Käynnistä PHP-FPM nyt ja aseta se käynnistymään jatkossa laitteen käynnistyksen yhteydessä

sudo systemctl start php85-php-fpm sudo systemctl enable php85-php-fpm

Tämä kirjoitus on neljäs osa seikkailua Rocky Linux 9:n parissa. Lue edellinen osa tästä blogista.

Päivitetty 18.6.2025: PHP versio 8.4

Päivitetty 12.4.2026: PHP versio 8.5