LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机

按顺序安装LAMP三个组件后,LAMP的环境的基础程序就已经搭建完毕了。接下来咱们要把各个模块铆接起来并测试其工做是否正常。php

1、Apache2.4与PHP5的结合

一、修改Apache2.4的配置文件

vim /usr/local/apache2.4/conf/httpd.conf #httpd的配置文件安装时默认设置在这个路径下html

一共要修改四处地方:
a.给sever设置一个severname
这一步主要是用来解决httpd启动时的告警信息,以下图:
LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机
设置方法
找到SeverName行,将#ServerName www.example.com:80 前面的#号注释掉
LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机linux

b.设置Apache服务可以提供服务,解决访问是403报错
修改200行
200 <Directory />
201 AllowOverride none
202 Require all denied

200 <Directory />
201 AllowOverride none
202 Require all granted
LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机apache

c.注释php.so调用的模块
查找AddType,在application/x-gzip .gz .tgz下加入AddType application/x-httpd-php .php,注意绿色光标处有一个空格。
LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机vim

d.增长主页地址
查找DirectoryIndex行,在后面增长index.php
LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机windows

二、开启Apache2.4服务

a.设置Apache2.4的php解析模块
咱们安装了php5和php7,咱们必须设置Apache用那个模块来解析.so脚本,若是两个都开启,启动httpd时就会报错,以下图
/usr/local/apache2.4/bin/apachectl: 行 79: 1432 段错误 $HTTPD -k $ARGV
LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机
操做
注释掉Apache2.4配置文件中,php5和php7行其中一个,你要用哪一种就留下那行,在另一个前加注#号注释掉。
LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机浏览器

b.测试Apache2.4的配置文件语法并从新载入服务器

/usr/local/apache2.4/bin/apachectl -t ##测试语法

每次操做Apache2.4的配置文件后都须要使用这条命令测试系统语法,万不可不测试直接down掉服务重启Apache2.4。php7

LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机

/usr/local/apache2.4/bin/apachectl graceful ##从新载入Apache2.4配置文件使修改生效app

c.设置80端口的数据可以经过firewalld防火墙

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

d.启动Apache2.4

/usr/local/apache2.4/bin/apachectl start

e.新建一个index.php测试php与Apache是否正常连接工做

在/usr/local/apache2.4/htdocs/下新建一个index.php文件

vim /usr/local/apache2.4/htdocs/index.php ##增长以下内容

<?php
phpinfo();
?>

LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机

三、访问index.php

电脑浏览器端,打开http://192.168.88.128/index.php 网址,就能看到咱们的第一个网页了。^_^
LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机

2、Apache虚拟主机

早期的linux服务器上一个服务器只能运行一个网站,就是说一个服务器只能给一个域名的网站提供服务,但随着技术发展,一个httpd的程序能够同时管理多个网站,就是说服务器上只跑一个服务但他同时能够相应A、B等多个网站的访问需求。这就是Apache虚拟主机的功能,咱们能够简单的把一个网站或者一个域名叫作一台主机。

操做实例

0、更改windows的host,

win10下更改主机的host文件须要用管理员权限,而默认状况下你没有管理权限,因此没法保存更改后的hosts文件。
这里咱们要使用cmd(管理员)方式打开hosts文件
LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机

文件的路径也改了,是C:\Windows\System32\drivers\etc
LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机
而后就跟原来同样能够正常保存了。

一、打开Apache配置文件的虚拟主机选项

vim /usr/local/apache2.4/conf/httpd.conf

LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机

大概在476行附近,删掉前面的#号让配置生效

二、编辑vitual host的配置文件

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机

LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机

把上面那个文件编辑成下面这个样子,其中
DocumentRoot 行是网站网页存放的文件夹
servername:网站的域名,不用带www
serveralias:网站的其余域名
errorlog:错误日志位置

三、从新载入Apache配置

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

LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机
这里看到咱们的新网站尚未东西,咱们设置一下

mkdir -p /data/wwwroot/abc.com /data/wwwroot/111.com
echo “u are visit abc.com” >/data/wwwroot/abc.com/index.html
echo “u are visit 111.com” >/data/wwwroot/111.com/index.html
/usr/local/apache2.4/bin/apachectl graceful

LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机

四、用curl命令测试设置是否成功

curl -x192.168.88.128:80 www.abc.com
curl -x192.168.88.128:80 www.111.com
curl -x192.168.88.128:80 www.test.com

LAMP+LNMP(五)Apache2.4与PHP5的结合、虚拟主机

PS:关于虚拟主机几个知识点一、虚拟主机配置文件中定义的第一个站点就是默认虚拟主机,你访问域名若是没有本身的配置定义就会被解析到默认虚拟主机上。二、虚拟主机开启时原主配置文件DocumentRoot、ServerName选项失效。三、虚拟主机能够定义不少个。每个配置项对应着一个网站。