🍏
SAE203
  • 📖CM1 : Présentation de la SAE
  • 💾CM2 : Introduction à GitHub
  • 🎆TD01 : intégration 1/2
  • 🎆TD02 : intégration 2/2
  • 🎆CM3 : Template et responsive
  • 📔TD03 : Formulaire et traitement
  • 🗓️TD04 : filter_var et filtrage des données des formulaires en PHP
  • 🤝CM4 : Eco-conception & accessibilité
  • 💾TD05 : github
  • 🌳TD06 : Eco-conception & accessibilité
  • 🐛TP01 : réalisation de la page listing.php
  • 🌐TD07 : HEBERGEMENT SITE SAE203
  • 🌐TD08 : Les Clés du DevOps
  • 🏆BILAN des rendus
  • 😇Guide de Dépannage Git
  • **anciennes pages ci-dessous**
  • 🐛ancien TP01 : réalisation de la page listing.php
  • 🗓️ancien TD04 : vérification front
  • 📚ancien TD05 : MYSQL en ligne de commandes
  • *************************
  • 📖CM5 : Présentation de la semaine 2
  • 🤩TD 09 et 10 : librairie CRUD en PHP (1/2)
  • 😎TD 11 et 12 : librairie CRUD en PHP (2/2)
  • 🏍️TP 02 : Recherche : autocomplétion du formulaire + résultats
  • 🔐TD 13: Les secrets du htaccess
  • 🐛TP 03: débugage
  • ✅Bilan des rendus de la 2ieme semaine
Propulsé par GitBook
Sur cette page
  • OBJECTIF
  • PREAMBULE
  • MISE EN PLACE DU SITE
  • LE DOSSIER et les DROITS D'ACCES pour l'utilisateur MMI
  • LE FICHIER DE CONFIGURATION APACHE
  • MISE A JOUR DE PHP
  • AJOUT (ou mise à jour) DU DEPOT SURY
  • INSTALLATION DES VERSIONS DE PHP
  • CHOISIR SA VERSION DE PHP
  • CONFIGURATION DE PHP
Exporter en PDF

TD07 : HEBERGEMENT SITE SAE203

Hébergement

OBJECTIF

Votre site final devra être accessible par l'URL : https://MMI.sae203.ovh Les pages du site devront se trouver dans un dossier /var/www/sae203 de votre VPS

PREAMBULE

Dans tout le document, remplacez MMI par votre identifiant MMI personnel (mmi21Xxx). Testez l'enregistrement DNS de votre site : MMI.sae203.ovh avec la commande dig +shortMMI.sae203.ovh Le résultat retourné doit être l'adresse IP de votre VPS. Dans le cas contraire, signalez-le à l'enseignant pour qu'il vérifie.

MISE EN PLACE DU SITE

LE DOSSIER et les DROITS D'ACCES pour l'utilisateur MMI

Pour commencer , ouvrez un terminal et connectez-vous en SSH sur votre VPS avec votre compte utilisateur MMI et le mot de passe associé. Une fois connecté, n'oubliez pas de saisir la commande sudo -i pour obtenir les autorisations root sur votre machine.

Créez un dossier /var/www/sae203 (mkdir)

Donnez les droits en écriture à votre utilisateur MMI sur le dossier sae203 (chown)

Pour faire un premier test, dans le dossier sae203, créez une page index.php avec le contenu suivant : <?php phpinfo(); ?>

LE FICHIER DE CONFIGURATION APACHE

Placez vous dans le dossier /etc/apache2/sites-available (cd)

Créez un fichier 003-sae203.conf avec le contenu suivant Remplacez les ?????? par les valeurs attendues

<VirtualHost *:80> ServerName ?????? ServerAdmin prenom.nom@etudiant.univ-reims.fr DocumentRoot ?????? DirectoryIndex ?????? ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

Activez votre nouveau site (a2ensite)

Rechargez la configuration d'Apache (systemctl reload)

Testez votre configuration avec l'URL : http://MMI.sae203.ovh Vous devez voir afficher la configuration PHP de votre serveur :

Votre site étant maintenant correctement configuré, nous allons pouvoir passer à la suite

MISE A JOUR DE PHP

Pour continuer, nous allons maintenant mettre à jour PHP en version 8 afin de profiter au mieux de toutes les fonctionnalités du langage. Pour être plus précis, nous n'allons pas seulement mettre à jour notre version de PHP, mais voir comment faire cohabiter deux versions de PHP sous Apache.

AJOUT (ou mise à jour) DU DEPOT SURY

Comme nous l'avons déjà remarqué dans d'autres cours, notre distribution Debian ne dispose pas des versions les plus récentes de PHP dans ses dépôts. Nous allons donc commencer par ajouter un nouveau dépôt à notre installation pour pouvoir récupérer les paquets des dernières versions de PHP. Pour l'exercice, nous utiliserons les dépôts de Sury un des développeurs de la distribution Debian.

1- Vérifiez que les paquets prérequis pour l'installation sont présents sur notre machine. Utilisez la commande suivante pour commencer :

apt update
apt-get -y install apt-transport-https lsb-release ca-certificates curl

2- Récupérez la clé de vérification des paquets qui nous garantira que les données téléchargées ne sont pas altérées et sont bien celles publiées par Sury.

cd /root
wget https://packages.sury.org/php/apt.gpg
apt-key add apt.gpg
rm apt.gpg

3- Ajoutez le dépôt Sury :

cd /etc/apt/sources.list.d
nano php.list

Si le fichier est vide, ajoutez les lignes suivantes. Si le fichier existe déjà, vérifiez simplement que le contenu est le suivant :

deb https://packages.sury.org/php/ buster main

4- Mettez à jour la liste des paquets avec la commande : apt update ATTENTION Si des messages d'erreurs s'affichent , ne continuez pas l'exercice, corrigez les erreurs !!!

INSTALLATION DES VERSIONS DE PHP

Voyons maintenant comment il est possible d'avoir plusieurs versions de php actives sur notre serveur web. C'est le module CGI (Common Gateway Interface) qui va permettre à Apache de passer des instructions à un autre processus et d'en récupérer le résultat.

Pour que cela fonctionne, il faut juste que le processus externe puisse aussi être gérer à travers cette interface. Dans notre cas, nous utiliserons le module fast_cgi d'Apache (mod_fcgid) et les versions FPM (FastCGI Process Manager) de PHP.

1- Commencez par installer les paquets suivants :

libapache2-mod-fcgid php7.4-fpm php8.1-fpm REMARQUE : En plus du module fcgid, nous installons ici les version FPM de php afin de pouvoir les utiliser simultanément avec Apache, nous verrons un peu plus loin comment choisir la version active pour un site ou une application précise.

2- Activez les modules apache et les configurations de nos versions de php

a2enconf php7.4-fpm a2enconf php8.1-fpm a2enmod proxy_fcgi a2enmod fcgid

3- Relancez apache : service apache2 restart

ATTENTION Si des messages d'erreurs s'affichent , ne continuez pas l'exercice, corrigez les erreurs !!!

4- Vérifiez la version active de PHP en rappelant la page index.php crée en début de cours : http://MMI.sae203.ovh

CHOISIR SA VERSION DE PHP

Voyons maintenant comment indiquer à Apache la version de PHP qu'il doit utiliser. Avec le module FastCGI, le choix peut se faire au niveau d'un site, mais aussi au niveau d'un dossier. Il suffit simplement d'ajouter les lignes suivantes dans le contexte désiré :

Par exemple, pour que votre site de travail reste en version 7 , ajoutez les lignes suivantes à votre fichier de configuration 001-MMI.conf , juste après la ligne <VirtualHost *:80> :

<FilesMatch .php$> SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost" </FilesMatch> ATTENTION si vous avez activé HTTPS sur votre site MMI.mmi-troyes.fr , il faut aussi ajouter ces lignes dans le fichier 001-MMI-le-ssl.conf après la ligne <VirtualHost *:443>

Ensuite, relancez apache pour prendre en compte les modifications.

Pour tester, créez une page info.php avec la fonction phpinfo() dans votre dossier public_html Appelez cette page dans votre navigateur et vérifiez que vous utilisez bien la version 7 de PHP.

Pour terminer cette partie, modifiez le fichier de configuration de votre site sae203 pour qu'il ne prenne en compte que la version 8.1 de php

CONFIGURATION DE PHP

Vous avez pu voir avec phpinfo() un aperçu de la configuration de l'interpréteur php de votre serveur. Si vous observez le début de la page, vous pouvez voir que PHP utilise un fichier de configuration nommé php.ini . Ce fichier est unique pour chaque version de php .

Rassurez-vous nous n'allons pas passer tous les paramètres en revue, mais seulement nous intéresser à quelques-uns d'entre eux :

  • display_errors : Affichage des Erreurs PHP

  • upload_max_filesize : Taille Maximum des fichiers téléchargés

  • post_max_size : Taille Maximum des données envoyées via la méthode POST

Pour régler ces paramètres comme nous le désirons, il suffit d'éditer le fichier php.ini correspondant à notre version de PHP et de modifier les valeurs comme suit :

display_errors = On upload_max_filesize = 25M post_max_size = 25M

Pour vous simplifier le travail et éviter les erreurs, je mets à votre disposition un fichier php.ini correctement configuré. Utilisez les commandes suivantes pour le récupérer

Exemple pour php8.1 : cd /etc/php/8.1/fpm rm php.ini wget http://demos4.mmi-troyes.fr/support/php.ini

Une fois le fichier modifié (ou recopié), redémarrez les services php associés . Exemple pour php8.1 : service php8.1-fpm restart Vérifiez ensuite avec votre page info.php que les modifications ont bien été prises en compte. Pour terminer cette partie, modifiez le fichier php.ini des deux versions de PHP installées (7.4 et 8.1) , renommez la page index.php de votre site sae203 en info.php créez une nouvelle page index.php avec le contenu de votre choix. Cette page sera la page d'accueil de votre site http://MMI.sae203.ovh

Il ne vous restera plus qu'à installer le certificat Let's Encrypt pour passer votre site en HTTPS. Pour cela saisissez simplement la commande certbot --apache comme nous l'avons fait pour la sae105 lors du premier semestre.

REMARQUE : Rappelez-vous que le nombre de requête de certificat est limité à une cinquantaine par semaine, donc soyez patient. Si le nombre de requêtes est atteint aujourd'hui , réessayez la semaine prochaine.

PrécédentTP01 : réalisation de la page listing.phpSuivantTD08 : Les Clés du DevOps

Dernière mise à jour il y a 2 ans

🌐
Ne tenez pas compte de la version pour l'instant
Le module FastCGI servira d'interface entre Apache et les versions de PHP que nous voulons installer
La version 8 de PHP est bien installée
Votre site MMI.mmi-troyes.fr fonctionne toujours en PHP 7
Le fichier de configuration de notre version 8.1 est donc : /etc/php/8.1/fpm/php.ini
Page cover image