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éez un fichier index.php dans le répertoire de votre projet :
echo "<?php phpinfo(); " | sudo tee /var/www/html/php/index.php
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 :
-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.
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.
/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 :
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.
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.
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é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
Ajoutez la configuration suivante au fichier :
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName php.info DocumentRoot /var/www/html/php <Directory /var/www/html/php/> AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/php_error.log CustomLog ${APACHE_LOG_DIR}/php_access.log combined </VirtualHost>
Analysons chaque partie du code :
ServerAdmin webmaster@localhost
Nom du serveur php.info
DocumentRoot /var/www/html/php
Autoriser tout remplacer
Exiger que tout soit accordé
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.
CustomLog ${APACHE_LOG_DIR}/php_access.log combiné
Defines the path to the Apache access log file for this Virtual Host. Like ErrorLog, this also uses the ${APACHE_LOG_DIR} variable. The combined format records information about requests, including the client's IP address, the time of the request, the HTTP method, the URL requested, the status code and the user agent.
Enable the new Virtual Host with the command:
sudo a2ensite php.conf
If you need to use .htaccess or URL rewrites, activate the Apache rewrite module:
sudo a2enmod rewrite
To access your project using the server name you defined (php.info), add an entry in the /etc/hosts file:
sudo your_editor /etc/hosts
Add the following line to the end of the file:
<p>127.0.0.1 php.info</p>
Restart Apache for the changes to take effect:
<p>sudo systemctl restart apache2</p>
You can now access your project in the browser by typing http://php.info.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!