Dans ce chapitre, nous allons voir comment installer PHP et le mod PHP pour Apache2, qui va nous permettre d’avoir PHP de fonctionnel sans configuration, puis je vais vous montrer comment configurer les directives à l’aide du fichier php.ini et avec un fichier .htaccess.
Installer PHP sur Apache2 et Ubuntu
Pour installer PHP et le mod PHP pour Apache2 entrer la commande ci-dessous :
sudo apt install php libapache2-mod-php
Confirmer l’installation en entrant Y ou O en fonction de votre installation de Linux et patienter.
Après l’installation, entrer la commande ci-dessous pour vérifier que PHP est opérationnel.
php -v
Cette commande affiche la version de PHP.
PHP est normalement fonctionnel sur votre serveur.
Afin de le vérifier, créer un testphp.php (par exemple) dans le répertoire du virtualhost que vous avez créé à la leçon présente.
Dans le fichier PHP ajouter le code ci-dessous :
Maintenant pour tester que cela fonctionne bien sur Apache2, depuis un navigateur, aller sur l’url du virtualhost en appelant la page. Exemple http://formation-apache.mon-domaine.local/testphp.php
La page ci-après doit s’afficher :
Si une page blanche s’affiche, redémarrer le service Apache2.
Je ne mets pas la commande volontairement, vous devez maintenant la connaitre 😉
Configuration de PHP
On va maintenant parler de la configuration de PHP.
Le plus simple pour trouver et voir les fichiers changés, c’est d’utiliser notre fichier avec la fonction phpinfo(), car celle-ci indique dans le premier bloc, l’ensemble des fichiers chargés.
Comme on peut le voir, les fichiers se trouvent dans le dossier /etc/php/7.4/*
. Le fichier que l’on utilise le plus souvent pour la configuration de PHP est le fichier php.ini.
Si vous souhaitez voir le contenu du fichier, vous pouvez l’ouvrir avec nano :
nano php.ini
Avant de se lancer des modifications de ce fichier, ce qu’il faut prendre en compte, c’est que toutes modifications effectuées dans ce fichier sera répercuté sur tous les sites*
* Il existe un moyen de limiter le paramétrage à un dossier (plus d’info dans les compléments du cours).
Modifier un paramètre dans le php.ini
Maintenant, nous allons voir comment modifier un paramètre, pour rendre cela plus concret, nous allons modifier le paramètre upload_max_file qui permet de configurer la taille maximum des fichiers que l’on peut téléverser (upload). Par défaut la valeur est à 2M.
Comment on peut le voir sur la capture, la valeur est présente dans deux colonnes, la colonne Local Value affiche la valeur actuelle du paramètre et la colonne Master Value donne la valeur par défaut dans le fichier php.ini
Ouvrir le fichier à l’aide de la commande ci-dessous :
sudo nano php.ini
Dans le fichier rechercher upload_max_filesize = 2
Modifier la valeur pour le faire passer à 4M puis sauvegarder le fichier.
Recharger la configuration d’Apache et actualiser la page qui contient la fonction phpinfo(), la valeur est maintenant à 4M.
Vous savez maintenant comment configurer une directive dans le fichier php.ini de PHP.
Configurer une directive localement avec le fichier .htaccess
Maintenant, je vais vous montrer comment modifier localement une directive à l’aide du fichier .htaccess sur Apache2.
Avant de pouvoir utiliser un fichier .htaccess, il est nécessaire de l’autoriser dans le virtualhost.
Dans la configuration de votre virtualhost, ajouter les directives ci-dessous (en adptant le chemin) :
Recharger la configuration pour la prise en compte.
Aller dans le dossier de votre virtualhost.
Dans le dossier lancer nano :
sudo nano
Ajoute le contenu ci-dessous pour changer la directive upload_max_filesize
à 6M et sauvegarder le fichier en le nommant .htaccess.
Le fichier .htaccess est lu à chaque requête, il n’est donc pas nécessaire de recharger la configuration d’Apache2.
Retourner sur la page avec la fonction phpinfo() et actualisez-la, la colonne Local value est passée à 6M.
Ce chapitre s’arrête ici, dans le prochain chapitre, je vous explique comment installer php-fpm et l’utiliser avec Apache2 et Nginx et dans le chapitre d’après, je vous explique comment installer un module complémentaire pour PHP et quelles directives sont les plus souvent modifiées.