"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Projet PHP Apache avec hôte virtuel

Projet PHP Apache avec hôte virtuel

Publié le 2024-11-09
Parcourir:796

PHP Apache project with Virtual Host

Créer le répertoire du projet

Tout d'abord, créez un répertoire pour votre projet. Par exemple, créons un répertoire appelé php :


sudo mkdir /var/www/html/php


Créer un fichier de test PHP

créez un fichier index.php dans le répertoire de votre projet :


echo "

Définir les autorisations du répertoire

Définissez les autorisations appropriées pour qu'Apache puisse accéder au répertoire :


sudo chown -R www-data:www-data /var/www/html/php 
sudo chmod -R 755 /var/www/html/php


La commande sudo chown -R www-data:www-data /var/www/html/php effectue les actions suivantes :

  1. -R : Cette option indique que l'opération doit être effectuée de manière récursive, c'est-à-dire non seulement sur le répertoire spécifié, mais également sur tous ses sous-répertoires et fichiers.

  2. www-data:www-data : Spécifie que l'utilisateur et le groupe qui deviendront les nouveaux propriétaires des fichiers sont tous deux www-data. Il s'agit d'un utilisateur et d'un groupe courants sur les systèmes Linux qui servent d'utilisateur par défaut pour les serveurs Web tels qu'Apache et Nginx.

  3. /var/www/php : Il s'agit du chemin du répertoire dont les propriétés sont en cours de modification.

La commande sudo chmod -R 755 /var/www/html/php effectue les actions suivantes :

755 : il s'agit d'un mode d'autorisation :

  1. Le premier chiffre (7) donne au propriétaire du fichier (ou répertoire) les autorisations de lecture (4), d'écriture (2) et d'exécution (1), pour un total de 7.

  2. Le deuxième chiffre (5) donne au groupe des autorisations de lecture (4) et d'exécution (1), mais pas d'autorisations d'écriture, pour un total de 5.

  3. Le troisième chiffre (5) donne également aux autres utilisateurs des autorisations de lecture (4) et d'exécution (1), mais pas d'autorisations d'écriture, pour un total de 5.

En résumé, cette commande modifie les autorisations de tous les fichiers et répertoires dans /var/www/html/php, permettant au propriétaire d'avoir un contrôle total (lecture, écriture et exécution), tandis que le groupe et les autres utilisateurs n'ont que la lecture. et exécuter les autorisations. Ceci est courant dans les environnements de serveur Web pour garantir que le serveur peut accéder aux fichiers nécessaires sans compromettre la sécurité.

Créer le fichier de configuration de l'hôte virtuel

Créez un nouveau fichier de configuration pour votre hôte virtuel. Le fichier doit avoir le même nom que le projet php :


sudo your_editor /etc/apache2/sites-available/php.conf


Ajouter la configuration de l'hôte virtuel

Ajoutez la configuration suivante au fichier :



    ServerAdmin webmaster@localhost
    ServerName php.info
    DocumentRoot /var/www/html/php

    
        AllowOverride All
        Require all granted
    

    ErrorLog ${APACHE_LOG_DIR}/php_error.log
    CustomLog ${APACHE_LOG_DIR}/php_access.log combined

Analysons chaque partie du code :

    • C'est le début du bloc de configuration pour un hôte virtuel qui écoute sur le port 80, qui est le port par défaut pour HTTP. L'astérisque (*) indique que l'hôte virtuel acceptera les connexions à partir de n'importe quelle adresse IP.
  1. Administrateur du serveur webmaster@localhost

    • Définit l'adresse e-mail de l'administrateur du serveur. Cette adresse e-mail peut être utilisée dans les messages d'erreur ou lorsqu'un utilisateur doit contacter l'administrateur.
  2. Nom du serveur php.info

    • Spécifie le nom du serveur auquel ce paramètre s'applique. Dans ce cas, l'hôte virtuel répondra aux demandes de php.info. Il est important que ce nom corresponde correctement à l'adresse IP du serveur (généralement configurée dans le fichier /etc/hosts ou dans DNS).
  3. DocumentRoot /var/www/html/php

    • Définit le répertoire contenant les fichiers qui seront servis lorsque quelqu'un accède au ServerName (dans ce cas, php.info). Dans cet exemple, les fichiers se trouvent dans /var/www/html/php.
    • Ce bloc précise les paramètres spécifiques au répertoire indiqué. Les paramètres de ce bloc affectent le comportement d'Apache pour ce répertoire spécifique.

AutoriserTout remplacer

  • Il permet aux fichiers .htaccess du répertoire /var/www/html/php/ de remplacer les paramètres d'Apache. Cela signifie que les développeurs peuvent utiliser les fichiers .htaccess pour configurer des règles, telles que les redirections ou le contrôle d'accès, sans avoir à modifier le fichier de configuration principal d'Apache.

Exiger que tout soit accordé

  • Permet à tous les utilisateurs d'avoir accès au répertoire. Cela signifie que n'importe qui peut accéder aux fichiers contenus dans /var/www/html/php/ sans restrictions.
  1. Journal des erreurs ${APACHE_LOG_DIR}/php_error.log
  2. Spécifie le chemin d'accès au fichier journal des erreurs Apache pour cet hôte virtuel. Le ${APACHE_LOG_DIR} est une variable généralement définie dans le fichier de configuration principal d'Apache, pointant vers le répertoire où les journaux sont stockés. Ici, les erreurs liées à cet hôte virtuel seront enregistrées dans le fichier php_error.log.

  3. CustomLog ${APACHE_LOG_DIR}/php_access.log combiné

  4. Définit le chemin d'accès au fichier journal d'accès Apache pour cet hôte virtuel. Comme ErrorLog, cela utilise également la variable ${APACHE_LOG_DIR}. Le format combiné enregistre des informations sur les requêtes, notamment l'adresse IP du client, l'heure de la requête, la méthode HTTP, l'URL demandée, le code d'état et l'agent utilisateur.

Activer l'hôte virtuel

Activez le nouvel hôte virtuel avec la commande :


sudo a2ensite php.conf


Activer le module de réécriture (si nécessaire)

Si vous devez utiliser des .htaccess ou des réécritures d'URL, activez le module de réécriture Apache :


sudo a2enmod rewrite


Ajouter le nom du serveur aux hôtes

Pour accéder à votre projet en utilisant le nom de serveur que vous avez défini (php.info), ajoutez une entrée dans le fichier /etc/hosts :


sudo your_editor /etc/hosts


Ajoutez la ligne suivante à la fin du fichier :


127.0.0.1 php.info




Redémarrez Apache

Redémarrez Apache pour que les modifications prennent effet :


sudo systemctl restart apache2




Accéder au projet

Vous pouvez désormais accéder à votre projet dans le navigateur en tapant http://php.info.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/xxzeroxx/php-apache-project-with-virtual-host-2npk?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3