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

一、Apache2.4与PHP5的结合

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

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

一共要修改四处地方: a.给sever设置一个severname 这一步主要是用来解决httpd启动时的告警信息,如下图: 设置方法 找到SeverName行,将#ServerName www.example.com:80 前面的#号注释掉

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

c.注释php.so调用的模块 查找AddType,在application/x-gzip .gz .tgz下加入AddType application/x-httpd-php .php,注意绿色光标处有一个空格。

d.增加主页地址 查找DirectoryIndex行,在后面增加index.php

2、开启Apache2.4服务

a.设置Apache2.4的php解析模块 我们安装了php5和php7,我们必须设置Apache用那个模块来解析.so脚本,如果两个都开启,启动httpd时就会报错,如下图 /usr/local/apache2.4/bin/apachectl: 行 79: 1432 段错误 $HTTPD -k $ARGV 操作 注释掉Apache2.4配置文件中,php5和php7行其中一个,你要用哪种就留下那行,在另外一个前加注#号注释掉。

b.测试Apache2.4的配置文件语法并重新载入

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

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

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

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(); ?>

3、访问index.php

电脑浏览器端,打开http://192.168.88.128/index.php 网址,就能看到我们的第一个网页了。^_^

二、Apache虚拟主机

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

操作实例

0、更改windows的host,

win10下更改主机的host文件需要用管理员权限,而默认情况下你没有管理权限,所以无法保存更改后的hosts文件。 这里我们要使用cmd(管理员)方式打开hosts文件

文件的路径也改了,是C:\Windows\System32\drivers\etc 然后就跟原来一样可以正常保存了。

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

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

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

2、编辑vitual host的配置文件

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

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

3、重新载入Apache配置

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

这里看到我们的新网站还没有东西,我们设置一下

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

4、用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

PS:关于虚拟主机几个知识点 1、虚拟主机配置文件中定义的第一个站点就是默认虚拟主机,你访问域名如果没有自己的配置定义就会被解析到默认虚拟主机上。 2、虚拟主机开启时原主配置文件DocumentRoot、ServerName选项失效。 3、虚拟主机可以定义很多个。每一个配置项对应着一个网站。