Annexes:ApachePHPRocky8

De WikiFr_dbSQWare
Aller à : navigation, rechercher

Le plus simple est de faire une installation des paquets standards de la distribution de votre OS, mais cela requiert une connexion à un repo.
Le démarrage du deamon httpd peut également se faire avec un autre utilisateur que root à condition de ne pas utiliser le port 80 pour le site.
Cet exemple est une installation de Apache et PHP 8.2 sous Rocky Linux 8.
(Version 7.4 sous CentOS 7 : Installation ApachePHP CentOS 7).

Installation des paquets

Installation Apache Web Server dnf :

[root@vmsqwarebox ~]# dnf -y update
[root@vmsqwarebox ~]# dnf install httpd -y


Démarrage et activation de apache :

systemctl start httpd
systemctl enable httpd
systemctl status httpd

## Si firewall non desactivé
# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --zone=public --permanent --add-service=https
# firewall-cmd --reload


Test pour voir si votre site répond :

http://192.168.230.28/


Activation repo + install PHP 8.2 :

#To add EPEL and REMI Repository.
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

#To install yum utilities.
dnf -y install yum-utils

#To enable php 8.2 Remi repository.
dnf module reset php
dnf module install php:remi-8.2

# To list the available PHP version:
dnf module list php

Last metadata expiration check: 0:05:50 ago on Sat 15 Apr 2023 05:33:19 PM CEST.
Rocky Linux 8 - AppStream
Name                             Stream                                   Profiles                                                  Summary
php                              7.2 [d]                                  common [d], devel, minimal                                PHP scripting language
php                              7.3                                      common [d], devel, minimal                                PHP scripting language
php                              7.4                                      common [d], devel, minimal                                PHP scripting language
php                              8.0                                      common [d], devel, minimal                                PHP scripting language

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name                             Stream                                   Profiles                                                  Summary
php                              remi-7.2                                 common [d], devel, minimal                                PHP scripting language
php                              remi-7.3                                 common [d], devel, minimal                                PHP scripting language
php                              remi-7.4                                 common [d], devel, minimal                                PHP scripting language
php                              remi-8.0                                 common [d], devel, minimal                                PHP scripting language
php                              remi-8.1                                 common [d], devel, minimal                                PHP scripting language
php                              remi-8.2 [e]                             common [d] [i], devel, minimal                            PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

# Installing PHP
dnf install -y php php-pdo php-mysqlnd php-ldap php-zip

root@vmsqwarebox:/root # php -v
PHP 8.2.5 (cli) (built: Apr 11 2023 16:16:23) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.5, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.5, Copyright (c), by Zend Technologies


Test pour voir si votre site répond et est configuré avec PHP 8.2 :

systemctl restart httpd

cat <<EOFCAT >/var/www/html/phpinfo.php
<?php

phpinfo();

?>
EOFCAT

http://192.168.230.22/phpinfo.php

=> PHP Version 8.2.5


Modification du php.ini + php.conf

Modifiez le fichier /etc/php.ini

[root@vmsqwarebox ~]# cp -p /etc/php.ini /etc/php.ini.org
[root@vmsqwarebox ~]# vi /etc/php.ini


En principe, les seules modifications à faire sont les suivantes :

;session.save_path = "/tmp"
;session.entropy_file =
memory_limit = 512M


Modifiez le fichier /etc/httpd/conf.d/php.conf

[root@vmsqwarebox ~]# cp -p /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf.org
[root@vmsqwarebox ~]# vi /etc/httpd/conf.d/php.conf


En principe, les seules modifications à faire sont les suivantes :

#php_value session.save_path    "/var/lib/php/session"
php_value session.save_path    "/var/tmp"


Modification du httpd.conf

Modifiez le fichier /etc/httpd/conf/httpd.conf

[root@vmsqwarebox ~]# cp -p /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
[root@vmsqwarebox ~]# vi /etc/httpd/conf/httpd.conf


En principe, les seules modifications à faire sont les suivantes :

User dbsqware
Group dba


Modification du /etc/php-fpm.d/www.conf

Modifiez le fichier /etc/php-fpm.d/www.conf

[root@vmsqwarebox ~]# cp -p /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.org
[root@vmsqwarebox ~]# vi /etc/php-fpm.d/www.conf


En principe, les seules modifications à faire sont les suivantes :

user = dbsqware
group = dba
listen.acl_groups =
listen.owner = dbsqware
listen.group = dba
listen.mode = 0660
php_value[session.save_path]    = /var/tmp
php_admin_value[memory_limit] = 512M


Modification du /usr/lib/systemd/system/php-fpm.service

Modifiez le fichier /usr/lib/systemd/system/php-fpm.service

[root@vmsqwarebox ~]# cp -p /usr/lib/systemd/system/php-fpm.service /usr/lib/systemd/system/php-fpm.service.org
[root@vmsqwarebox ~]# vi /usr/lib/systemd/system/php-fpm.service


En principe, les seules modifications à faire sont les suivantes :

[Service]
User=dbsqware
Group=dba


Reload des services

systemctl daemon-reload

chown -R dbsqware:dba /var/log/php-fpm /var/log/httpd
chmod -R g+rw /var/log/php-fpm /var/log/httpd
chmod -R g+s /var/log/php-fpm /var/log/httpd

systemctl is-enabled php-fpm

systemctl enable --now php-fpm

systemctl start php-fpm
systemctl start httpd