11.14-11.15 Apache和PHP结合
Apache(httpd)的配置文件:/usr/local/apache2.4/conf/httpd.conf。
配置Apache
选择要调用的PHP
因为本机安装了两个版本的PHP,所以需要进行该配置,如果只装一个PHP服务则会默认调用存在的PHP服务(在此选用PHP5)。
[root@adailinux ~]# vim /usr/local/apache2.4/conf/httpd.conf
……
LoadModule php5_module modules/libphp5.so
#LoadModule php7_module modules/libphp7.so
说明: 指定Apache调用PHP5。
物理机:启用win7中telnet命令
graph LR
开始-->控制面板
控制面板-->程序
程序-->打开或关闭Windows功能
打开或关闭Windows功能-->选择telnet客户端
进行Apache的配置
更改配置文件:
[root@adailinux ~]# vim /usr/local/apache2.4/conf/httpd.conf
……
<Directory />
AllowOverride none
Require all granted
</Directory>
……
检测配置是否存在语法错误:
[root@adailinux ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
重新加载服务:
[root@adailinux ~]# /usr/local/apache2.4/bin/apachectl graceful
注:该命令不会使服务重启,只是加载配置文件的内容。
说明: 将此处的“Require all denied”改为“Require all granted”。
添加监听80端口的规则:
[root@adailinux ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
说明: 至此,可以使用浏览器直接访问本地虚拟机IP。

添加PHP服务
[root@adailinux ~]# vim /usr/local/apache2.4/conf/httpd.conf
……
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
#
……
说明: 在此添加“AddType application/x-httpd-php .php”,意思是允许PHP服务解析该服务器。
[root@adailinux ~]# vim /usr/local/apache2.4/conf/httpd.conf
……
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
……
检测、加载:
[root@adailinux ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@adailinux ~]# /usr/local/apache2.4/bin/apachectl graceful
说明: 在此添加“index.php”,
检测服务器是否支持PHP解析:
[root@adailinux ~]# vim /usr/local/apache2.4/htdocs/1.php
<?php
phpinfo();
#该参数的含义是PHP的信息
?>
#该命令的含义是:在访问该地址时,直接打印PHP的相关信息
说明: 创建一个php文件,然后使用浏览器访问该文件(此时不需要重启服务器):

即,可以正常访问,说明该服务器支持PHP解析,如果不支持php解析的话,访问该文件时会显示源代码。
完成PHP解析配置!
常见故障:
故障: 服务器无法进行PHP解析!
解决办法:
[root@adailinux ~]# /usr/local/apache2.4/bin/apachectl -M
如果没有加载,则需要检查系统中有没有PHP模块:
[root@adailinux ~]# ls /usr/local/apache2.4/modules/libphp5.so
/usr/local/apache2.4/modules/libphp5.so
如果该模块存在但是没有加载,则检查Apache配置文件中有没有加载PHP的配置:

检查配置文件中是否有PHP服务加载命令:

执行命令“/usr/local/apache2.4/bin/apachectl -t”检查配置文件是否存在语法错误。
检查是否有索引页(该行影响不大):

Apache配置PHP7解析
[root@adailinux ~]# vim /usr/local/apache2.4/conf/httpd.conf
……
#LoadModule php5_module modules/libphp5.so
LoadModule php7_module modules/libphp7.so
检测、加载:
[root@adailinux ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@adailinux ~]# /usr/local/apache2.4/bin/apachectl graceful
说明: 因在进行PHP5解析配置时已完成其他相关配置,所以在此只需更改要调用的PHP版本即可,如果初次配置,操作同PHP5.
补充:快捷键 Ctrl+r
ctrl+r用途:反向搜索并调用执行过的命令。(reverse-i-search)。
使用方法:按ctrl+r后命令行会变成“(reverse-i-search)`': ”状态,然后输入使用过的参数,此时会直接显示出相关的命令,回车即可执行该命令。
11.16-11.17 Apache默认虚拟主机
Windows系统hosts管理
Windows系统中hosts位置“C:\Windows\System32\drivers\etc\hosts”。
用记事本打开该文件:

说明: 在此可以自定义匹配本地IP和域名,目的是添加临时访问地址(在DNS未生效的时候使用)。
添加虚拟主机
在hosts文件中添加“192.168.8.131 www.adai.com”即可将本地虚拟主机添加到Windows系统,访问该域名时会自动解析到本地虚拟主机“ServerName www.example.com:80”。
LinuxApache虚拟主机管理
在物理机访问的域名“www.adai.com”并未在虚拟机Apache配置文件中定义,虚拟机中只定义了“ServerName www.example.com:80”一个域名,该域名即为Apache的默认主机,此时通过任何一个绑定该虚拟机IP的域名进行访问都会跳转到该主机。
因为一台服务器可以跑多个域名,为了方便管理,需要对虚拟主机进行配置:
配置虚拟主机
[root@adailinux ~]# vim /usr/local/apache2.4/conf/httpd.conf
……
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
……
说明: 编辑“Virtual hosts(虚拟主机)”的参数,去掉#,启用虚拟主机配置文件“httpd-vhosts.conf”。
注: Apache也支持单独管理每个虚拟主机,配置参数如下:
[root@adailinux ~]# vim /usr/local/apache2.4/conf/httpd.conf
……
# Virtual hosts
Include conf/extra/vhosts/*.conf
……
[root@adailinux ~]# mkdir /usr/local/apache/conf/extra/vhosts
之后在/usr/local/apache/conf/extra/vhosts目录中创建虚拟主机就可以。
[root@adailinux ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
该配置文件下每组“< VirtualHost *:80 >”代表一个主机(即:一个网站):

进行如下编辑:
<VirtualHost *:80>
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-error_log" common
#日志文件
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/111.com"
ServerName 111.com
ServerAlias www.example.com
ErrorLog "logs/111.com-error_log"
CustomLog "logs/111.com-access_log" common
</VirtualHost>
此时即定义了一个网站,定义网站的核心参数即为:DocumentRoot(网站根目录)、ServerName(域名)。
注意: 虚拟主机生效后,原Apache配置文件中的默认主机(www.example.com ~ 192.168.8.131)就会失效(在此用www.example.com ~ 111.com进行验证)。
添加虚拟主机相应目录
[root@adailinux ~]# mkdir /data/wwwroot/
[root@adailinux ~]# mkdir /data/wwwroot/abc.com
[root@adailinux ~]# mkdir /data/wwwroot/111.com
在相应目录创建PHP文件:
[root@adailinux ~]# vim /data/wwwroot/abc.com/index.php
<?php
echo "welcome to abc.com";
?>
[root@adailinux ~]# vim /data/wwwroot/111.com/index.php
<?php
echo "welcome to 111.com";
?>
检测、重载Apache配置文件:
[root@adailinux ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@adailinux ~]# /usr/local/apache2.4/bin/apachectl graceful
虚拟主机测试
在此使用浏览器和curl命令分别进行测试。
如果不在虚拟机中进行本地域名配置(hosts),在进行ping命令测试虚拟主机域名时会访问到外网。
[root@adailinux ~]# ping www.abc.com
PING abc.com (199.181.132.250) 56(84) bytes of data.
如果想在访问“abc.com”时指向到本地虚拟机IP,可以在/etc/hosts文件中指定域名,或者使用curl命令进行访问,如下:
eg:
[root@adailinux ~]# curl -x192.168.8.131:80 abc.com
welcom to abc.com
注意: 此时访问所有未定义的域名都会将访问地址指向到默认虚拟主机,因为已经自定义添加了虚拟主机,所以此时的默认虚拟主机为配置文件“httpd-vhosts.conf”中的第一个虚拟主机(在此为abc.com),效果如下:
[root@adailinux ~]# curl -x192.168.8.131:80 www.abcde.com
welcom to abc.com

注: 使用浏览器访问本地虚拟主机IP时会将IP指向到默认虚拟主机,即 abc.com。
相关推荐
详细讲解apache安装 php和apache整合 虚拟目录 虚拟主机
#### Apache2.2配置多个虚拟主机 1. **启用虚拟主机配置**:在`httpd.conf`文件中取消注释`Include conf/extra/httpd-vhosts.conf`行,以便加载虚拟主机配置。 2. **配置虚拟主机**:在`conf/extra/httpd-vhosts....
在"php+apache虚拟主机配置"中,我们需要完成的主要任务是配置Apache服务器,使其能够识别和解析PHP文件,并设置虚拟主机以便在同一台服务器上托管多个网站。下面将详细介绍这个过程: 1. **安装Apache和PHP**: ...
Apache搭建虚拟主机(在本机起个假域名来访问php网站),可搭建许多个虚拟主机,假域名.zip
在本文中,我们将详细介绍如何在Windows环境下设置Apache、PHP、MySQL以及虚拟主机的全过程。这是一个基础的Web服务器配置教程,特别适合初学者,旨在解决网络上其他教程可能存在的不足。 首先,我们要安装PHP。...
根据识别方式的不同,虚拟主机可以分为基于名称的虚拟主机和基于IP的虚拟主机。 2. **NameVirtualHost指令**:用于声明虚拟主机的监听端口。例如`NameVirtualHost *:80`表示监听所有IP地址上的80端口。 3. **Virtual...
总结,配置PHP虚拟主机涉及的主要知识点有:Apache的`httpd.conf`和`httpd-vhosts.conf`配置,`<VirtualHost>`和`<Directory>`节点的使用,权限控制,错误页面定制,以及URL重写。理解并熟练掌握这些概念对于管理和...
Apache虚拟主机有两种类型:基于名称的虚拟主机和基于IP的虚拟主机。基于名称的虚拟主机是更常见的方式,它依赖于DNS解析来确定哪个请求应由哪个网站处理。 首先,我们需要在httpd.conf文件中启用`NameVirtualHost`...
Apache虚拟主机配置是服务器管理的重要组成部分,它不仅涉及到基础的文件权限和目录结构,还关系到服务器的安全性和性能优化。通过上述步骤,可以构建出既安全又高效的虚拟主机环境,满足多网站托管的需求。在实际...
配置虚拟目录通常涉及修改Apache的配置文件httpd.conf或通过创建额外的vhost(虚拟主机)配置文件。 以下是配置Apache虚拟目录的基本步骤: 1. **打开配置文件**:找到Apache的配置文件,通常是`/etc/httpd/conf/...
在IT行业中,PHP虚拟主机配置是一项基础且重要的工作,它涉及到服务器环境的搭建、网站的多域名管理和URL重写等功能。下面将详细讲解如何配置基于域名的PHP5.0虚拟主机。 首先,我们需要确保Apache服务器已经安装...
可以通过“编辑”配置文件,例如更改文档根目录、添加虚拟主机等。每次配置文件的改变,保存后,必须在 Apache 服务器重启动后生效。 三、安装 PHP PHP 是一种开源的服务器端脚本语言,能够与 Apache 和 MySQL ...
Apache虚拟主机配置是管理和运行多个独立网站的关键环节。在Apache web服务器中,通过虚拟主机功能,可以在同一台服务器上设置多个不同的域名或IP地址,分别对应各自的网站内容。以下是关于Apache虚拟主机详细配置的...
【标题】"dede虚拟主机销售网站源码"所涉及的知识点主要集中在网站开发和管理领域,特别是基于DEDECMS(织梦内容管理系统)的定制和应用。DEDECMS是一款非常流行的开源CMS,广泛用于搭建各类网站,其特点是操作简单...
根据提供的文档资料,本文将详细介绍如何在Windows 2003环境下配置Apache以实现虚拟主机及绑定域名的服务。本文档不仅适用于初次接触Apache配置的用户,也适合希望优化配置流程的技术人员。 ### 一、环境准备 ####...
计算机后端-PHP视频教程. php与mysql加强- 05. php加强49-Apache虚拟主机配置.wmv
1. **NameVirtualHost**: 在Apache中定义一个名称虚拟主机时,必须先声明`NameVirtualHost`指令。该指令告诉Apache服务器监听哪些端口或IP地址上的请求,并将其与后续的`<VirtualHost>`指令关联起来。 2. **...
配置文件通常位于conf目录下的httpd.conf,你需要根据需求编辑这个文件,设置端口、虚拟主机、文档根目录等。 2. **环境变量**:确保在系统环境变量中添加Apache的bin目录,以便在命令行中运行Apache的命令。 3. *...
4. 测试配置,通过访问"localhost"或指定的虚拟主机域名,查看Apache和PHP是否正常工作。 5. 连接MySQL,测试PHP能否成功连接并执行SQL查询。 在64位环境下,需要注意的是,所有组件必须与操作系统位数匹配,即都是...
【Apache虚拟根环境】在Linux和Solaris操作系统中设置Apache虚拟主机环境,主要是为了在一个Apache服务器上托管多个独立的网站,每个网站都有自己的根目录,仿佛它们各自在独立的服务器上运行。这样的设置有助于资源...