Rumah >pembangunan bahagian belakang >tutorial php >Projek PHP Apache dengan Hos Maya
首先,为您的项目创建一个目录。例如,让我们创建一个名为 php 的目录:
sudo mkdir /var/www/html/php
在项目目录中创建一个index.php文件:
echo "<?php phpinfo(); " | sudo tee /var/www/html/php/index.php
设置适当的权限,以便 Apache 可以访问该目录:
sudo chown -R www-data:www-data /var/www/html/php sudo chmod -R 755 /var/www/html/php
命令 sudo chown -R www-data:www-data /var/www/html/php 执行以下操作:
-R:该选项表示应该递归执行操作,即不仅对指定目录执行操作,还对其所有子目录和文件执行操作。
www-data:www-data:指定将成为文件新所有者的用户和组都是 www-data。这是 Linux 系统上的常见用户和组,用作 Apache 和 Nginx 等 Web 服务器的默认用户。
/var/www/php:这是要更改属性的目录的路径。
命令 sudo chmod -R 755 /var/www/html/php 执行以下操作:
755:这是一种权限模式:
第一个数字 (7) 为文件(或目录)的所有者提供读 (4)、写 (2) 和执行 (1) 权限,总共 7 个。
第二个数字 (5) 授予该组读取 (4) 和执行 (1) 权限,但不提供写入权限,总共 5 个。
第三个数字 (5) 还授予其他用户读取 (4) 和执行 (1) 权限,但不授予写入权限,总共 5 个。
综上所述,这个命令改变了 /var/www/html/php 内所有文件和目录的权限,让所有者拥有完全的控制权(读、写、执行),而组和其他用户只有读的权限和执行权限。这在 Web 服务器环境中很常见,以确保服务器可以访问必要的文件而不影响安全性。
为您的虚拟主机创建一个新的配置文件。该文件应与 php 项目同名:
sudo your_editor /etc/apache2/sites-available/php.conf
将以下配置添加到文件中:
<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>
我们来分析一下代码的各个部分:
ServerAdmin webmaster@localhost
服务器名称 php.info
文档根目录 /var/www/html/php
允许覆盖全部
要求全部授予
指定此虚拟主机的 Apache 错误日志文件的路径。 ${APACHE_LOG_DIR} 是一个变量,通常在 Apache 主配置文件中设置,指向存储日志的目录。这里,与该虚拟主机相关的错误将记录在 php_error.log 文件中。
自定义日志 ${APACHE_LOG_DIR}/php_access.log 组合
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.
Atas ialah kandungan terperinci Projek PHP Apache dengan Hos Maya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!