Appendices:ApachePHP: Difference between revisions
| Line 94: | Line 94: | ||
<br>  | <br>  | ||
==  | ==Changes php.ini + php.conf==  | ||
Change the file /etc/php.ini  | |||
<pre>  | <pre>  | ||
[root@vmsqwarebox ~]# cp -p /etc/php.ini /etc/php.ini.org  | [root@vmsqwarebox ~]# cp -p /etc/php.ini /etc/php.ini.org  | ||
| Line 103: | Line 103: | ||
<br>  | <br>  | ||
In principle, the only changes to be made are the following :  | |||
<pre>  | <pre>  | ||
;session.save_path = "/tmp"  | ;session.save_path = "/tmp"  | ||
| Line 110: | Line 110: | ||
<br>  | <br>  | ||
Change the file /etc/httpd/conf.d/php.conf  | |||
<pre>  | <pre>  | ||
[root@vmsqwarebox ~]# cp -p /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf.org  | [root@vmsqwarebox ~]# cp -p /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf.org  | ||
| Line 117: | Line 117: | ||
<br>  | <br>  | ||
In principle, the only changes to be made are the following :  | |||
<pre>  | <pre>  | ||
#php_value session.save_path    "/var/lib/php/session"  | #php_value session.save_path    "/var/lib/php/session"  | ||
Revision as of 16:01, 7 April 2025
Work In Progress
The easiest way is to install the standard packages from your OS distribution, but this requires connecting to a repo.
The httpd daemon can also be started with a user other than root, provided you don't use port 80 for the site.
This example is an installation of Apache and PHP 8.2.18 on Rocky Linux 9.
Installing packages
Installing Apache Web Server with dnf :
[root@vmsqwarebox ~]# dnf -y update [root@vmsqwarebox ~]# dnf install httpd mod_ssl -y
Start and enable Apache :
systemctl start httpd systemctl enable httpd systemctl status httpd ## If firewall is active : # firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --zone=public --permanent --add-service=https # firewall-cmd --reload
Test to see if your site is responding :
http://192.168.231.28/
Repo activation and installing PHP 8.2.18 :
#To add EPEL and REMI Repository.
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.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:01:14 ago on Mon 15 Apr 2024 10:10:57 AM EDT.
Rocky Linux 9 - AppStream
Name                                   Stream                                         Profiles                                                         Summary
php                                    8.1                                            common [d], devel, minimal                                       PHP scripting language
php                                    8.2                                            common [d], devel, minimal                                       PHP scripting language
Remi's Modular repository for Enterprise Linux 9 - x86_64
Name                                   Stream                                         Profiles                                                         Summary
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
php                                    remi-8.3                                       common [d], 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.18 (cli) (built: Apr  9 2024 18:46:23) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.18, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.18, Copyright (c), by Zend Technologies
Test to see if your site is responding and is setup with 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.18
Changes php.ini + php.conf
Change the file /etc/php.ini
[root@vmsqwarebox ~]# cp -p /etc/php.ini /etc/php.ini.org [root@vmsqwarebox ~]# vi /etc/php.ini
In principle, the only changes to be made are the following :
;session.save_path = "/tmp" memory_limit = 512M
Change the file /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
In principle, the only changes to be made are the following :
#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_users = apache,nginx ;listen.acl_groups = listen.owner = dbsqware listen.group = dba listen.mode = 0660 listen.allowed_clients = 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