创建项目目录
首先,为您的项目创建一个目录。例如,让我们创建一个名为 php 的目录:
sudo mkdir /var/www/html/php登录后复制
创建 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 执行以下操作:
立即学习“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登录后复制
添加虚拟主机配置
将以下配置添加到文件中:
登录后复制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
我们来分析一下代码的各个部分:
-
- 这是侦听端口 80 的虚拟主机配置块的开始,该端口是 http 的默认端口。星号 (*) 表示虚拟主机将接受来自任何 ip 地址的连接。
-
serveradmin webmaster@localhost
- 定义服务器管理员的电子邮件地址。该电子邮件地址可用于错误消息或用户需要联系管理员时。
-
服务器名称 php.info
- 指定应用此设置的服务器的名称。在这种情况下,虚拟主机将响应 php.info 的请求。重要的是该名称正确解析为服务器的 ip(通常在 /etc/hosts 文件或 dns 中配置)。
-
文档根目录 /var/www/html/php
- 定义包含当有人访问 servername 时将提供服务的文件的目录(在本例中为 php.info)。在此示例中,文件位于 /var/www/html/php.
-
- 此块指定指定目录的特定设置。此块中的设置会影响 apache 针对该特定目录的行为。
允许覆盖全部
- 它允许 /var/www/html/php/ 目录中的 .htaccess 文件覆盖 apache 的设置。这意味着开发人员可以使用 .htaccess 文件来配置规则,例如重定向或访问控制,而无需编辑主 apache 配置文件。
要求全部授予
- 允许所有用户访问该目录。这意味着任何人都可以不受限制地访问 /var/www/html/php/ 中的文件。
- 错误日志 ${apache_log_dir}/php_error.log
指定此虚拟主机的 apache 错误日志文件的路径。 ${apache_log_dir} 是一个变量,通常在 apache 主配置文件中设置,指向存储日志的目录。这里,与该虚拟主机相关的错误将记录在 php_error.log 文件中。
自定义日志 ${apache_log_dir}/php_access.log 组合
定义此虚拟主机的 apache 访问日志文件的路径。与 errorlog 一样,这也使用 ${apache_log_dir} 变量。组合格式记录了有关请求的信息,包括客户端的 ip 地址、请求的时间、http 方法、请求的 url、状态代码和用户代理。
启用虚拟主机
使用以下命令启用新的虚拟主机:
sudo a2ensite php.conf登录后复制
激活重写模块(如果需要)
如果需要使用.htaccess或url重写,请激活apache重写模块:
sudo a2enmod rewrite登录后复制
将服务器名称添加到主机
要使用您定义的服务器名称 (php.info) 访问您的项目,请在 /etc/hosts 文件中添加一个条目:
sudo your_editor /etc/hosts登录后复制
将以下行添加到文件末尾:
登录后复制127.0.0.1 php.info
重新启动 apache
重新启动 apache 以使更改生效:
登录后复制sudo systemctl restart apache2
访问项目
您现在可以通过输入 http://php.info 在浏览器中访问您的项目。
以上就是PHP Apache project with Virtual Host的详细内容,更多请关注慧达安全导航其它相关文章!
免责 声明
1、本网站名称:慧达安全导航
2、本站永久网址:https//www.huida178.com/
3、本站所有资源来源于网友投稿和高价购买,所有资源仅对编程人员及源代码爱好者开放下载做参考和研究及学习,本站不提供任何技术服务!
4、本站所有资源的属示图片和信息不代表本站的立场!本站只是储蓄平台及搬运
5、下载者禁止在服务器和虚拟机下进行搭建运营,本站所有资源不支持联网运行!只允许调试,参考和研究!!!!
6、未经原版权作者许可禁止用于任何商业环境,任何人不得擅作它用,下载者不得用于违反国家法律,否则发生的一切法律后果自行承担!
7、为尊重作者版权,请在下载24小时内删除!请购买原版授权作品,支持你喜欢的作者,谢谢!
8.若资源侵犯了您的合法权益,请持 您的版权证书和相关原作品信息来信通知我们!QQ:1247526623我们会及时删除,给您带来的不便,我们深表歉意!
9、如下载链接失效、广告或者压缩包问题请联系站长处理
10、如果你也有好源码或者教程,可以发布到网站,分享有金币奖励和额外收入!
11、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需
12、因源码具有可复制性,一经赞助,不得以任何形式退款。
13、本文内容由网友自发贡献和站长收集,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系1247526623@qq.com
转载请注明出处: 慧达安全导航 » PHP Apache project with Virtual Host
发表评论 取消回复