首页 > 编程语言 >11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机

11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机

时间:2022-10-13 21:02:53浏览次数:44  
标签:配置文件 虚拟主机 11.16 com linux Apache root

11.14/11.15 Apache和PHP结合



修改Apache(httpd)主配置文件



定义ServerName以消除Apache启动时所产生的警告

未修改前

[root@linux-5 ~]# /usr/local/apache2.4/bin/apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::531b:14ea:3a75:f113. Set the 'ServerName' directive globally to suppress this message
httpd (pid 5756) already running

定义ServerName

11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机_apache

完成修改后

[root@linux-5 ~]# /usr/local/apache2.4/bin/apachectl restart
[root@linux-5 ~]#



打开服务器的80端口

[root@linux-5 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

测试连接Apache服务器

11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机_linux_02



修改配置文件以防止打开虚拟主机配置文件时拒绝访问(访问时提示403)

<Directory />
AllowOverride none
Require all granted //将denied改为granted
</Directory>
...
DocumentRoot "/usr/local/apache2.4/htdocs"
<Directory "/usr/local/apache2.4/htdocs">
...
Require all granted //将denied改为granted
</Directory>



检查配置文件语法

[root@linux-5 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK



重新加载配置文件

[root@linux-5 ~]# /usr/local/apache2.4/bin/apachectl graceful



修改配置文件以用于解析PHP文件

11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机_apache_03



增加PHP的索引页

11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机_虚拟主机_04

增加索引页可以直接输入域名或IP,后自动跳转至索引页,无需单独输入



编写PHP测试脚本

[root@linux-5 ~]# vim /usr/local/apache2.4/htdocs/test.php

<?php
phpinfo();
?>
//该脚本用于打印PHP版本信息

注:增加PHP文件无需重启服务



测试PHP解析效果

11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机_linux_05

上图为成功解析PHP脚本文件的效果,如果不支持解析,则会产生如下结果

11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机_apache_06

Tips:使用ctrl+r可以快速查找并使用历史命令



11.16/11.17 Apache默认虚拟主机



定义

不同的主机名解析到不同的IP地址,提供虚拟主机服务的机器上同时设置有这些IP地址。服务器根据用户请求的目的IP地址来判定用户请求的是哪个虚拟主机的服务,从而进一步的处理。(默认虚拟主机只能定义单一域名,且为使用该服务器IP所跳转的唯一Apache站点,所有域名均会跳转至唯一定义的DocumentRoot下的网站根目录,一个配置文件只能定义一个Severname)

一台服务器可以访问多个网站,每个网站都是一个虚拟主机

任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机



修改Windows系统上的hosts

路径C:\Windows\System32\drivers\etc\hosts

11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机_linux_07

由于默认虚拟主机只能使所有域名指向同一网站根目录,不易于管理,因此可以打开虚拟主机配置文件,使得不同域名可以跳转至不同网站。



打开虚拟主机配置文件

11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机_虚拟主机_08



编辑虚拟主机配置文件

[root@linux-5 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

# Virtual Hosts
...
<VirtualHost *:80> //可定义多个虚拟主机(当前第一个)
ServerAdmin [email protected] //管理员邮箱,可不填写
DocumentRoot "/data/wwwroot/abc.com" //网站的根目录
ServerName abc.com //网站(服务器)名称,唯一
ServerAlias www.abc.com www.123.com //网站(服务器)别名,可多个
ErrorLog "logs/abc.com-error_log" //错误日志
CustomLog "logs/abc.com-access_log" common //访问日志
</VirtualHost>

<VirtualHost *:80> //可定义多个虚拟主机(当前第二个)
ServerAdmin [email protected] //管理员邮箱,可不填写
DocumentRoot "/data/wwwroot/def.com" //网站的根目录
ServerName def.com //网站(服务器)名称,唯一
ServerAlias www.def.com www.456.com //网站(服务器)别名,可多个
ErrorLog "logs/def.com-error_log" //错误日志
CustomLog "logs/def.com-access_log" common //访问日志
</VirtualHost>

注:一旦虚拟主机配置文件生效,则默认主机配置的文件定义的内容会失效



重新加载服务

/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful

在虚拟主机配置文件中不能在代码后添加注释,否则会引起报错

11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机_linux_09

11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机_apache_10



创建相应的网站目录

[root@linux-5 ~]# mkdir /data/wwwroot/
[root@linux-5 ~]# mkdir /data/wwwroot/abc.com
[root@linux-5 ~]# mkdir /data/wwwroot/def.com



创建相应目录下的网站文件

[root@linux-5 ~]# vim /data/wwwroot/abc.com/index.php
<?php
echo "abc.com";
[root@linux-5 ~]# vim /data/wwwroot/def.com/index.php
<?php
echo "def.com";



测试网站效果

curl -x             //发送网络请求,-x选项为网络请求增加代理,相当于hosts的作用
[root@linux-5 ~]# curl -x 192.168.88.5:80 abc.com
abc.com[root@linux-5 ~]#
[root@linux-5 ~]# curl -x 192.168.88.5:80 def.com
def.com[root@linux-5 ~]#

在测试过程中使用的是两个虚拟主机,则第一个虚拟主机则是Apache服务的默认虚拟主机,无论访问哪个域名(其他虚拟主机定义的域名除外),只要指向了服务器的IP地址,都会跳转至默认虚拟主机。我们实验所使用的Linux虚拟机,在其上安装的Apache服务的主配置文件,相当于实体主机,也是默认主机,只能指定一个域名,访问单一目录下的文件。

11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机_虚拟主机_11

标签:配置文件,虚拟主机,11.16,com,linux,Apache,root
From: https://blog.51cto.com/u_13622854/5754611

相关文章