Apache和PHP结合、Apache默认虚拟主机
2017-12-19 21:56
681 查看
11.14/11.15 Apache和PHP结合
配置httpd支持phproot@localhost ~]# vim /usr/local/apache2.4/conf/httpd.conf #选择要使用PHP5或者PHP7解析
截图如下:
修改以下4个地方
第一个地方 ServerName 开启
#检索 ServerName 查找到如下这行,取消注释 #ServerName www.example.com:80
截图如下:
第二个地方 允许所有请求访问
#检索Directory 查找到Require all 这一行 denied修改成granted <Directory /> AllowOverride none Require all granted </Directory> #访问的时候会报403错误
截图如下:
第三个地方 授权PHP服务解析本机服务器
#在如下两行增加一行 AddType application/x-httpd-php .php AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType application/x-httpd-php .php #在此添加“AddType application/x-httpd-php .php”,意思是允许PHP服务解析该服务器。
截图如下:
第四个地方
#检索 DirectoryIndex ,查找到如下行后增加 index.php <IfModule dir_module> DirectoryIndex index.html index.php #增加索引页 </IfModule>
截图如下:
测试语法
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t Syntax OK
启动服务 | 加载配置
#可以用start选项启动服务 [root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful #该命令只是加载配置文件的内容
查看端口
[root@taoyun ~]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 994/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1098/master tcp6 0 0 :::80 :::* LISTEN 16461/httpd tcp6 0 0 :::22 :::* LISTEN 994/sshd tcp6 0 0 ::1:25 :::* LISTEN 1098/master tcp6 0 0 :::3306 :::* LISTEN 2196/mysqld
关闭防火墙
#未关闭防火墙,外网将无法访问 #iptables 临时增加允许通过80端口的规则 80端口 -D 选项是删除这条规则 [root@taoyun ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
测试是否能访问PHP页面
vim test.php文件,直接在浏览器访问该ip地址(访问内部站点直接用ip地址访问)
[root@localhost ~]# vim /usr/local/apache2.4/htdocs/test.php #可以解析PHP代码,如果不支持,访问该文件时会显示源代码。
如果服务器无法解析PHP代码,解决方法:
检查Apache是否加载PHP模块
检查系统中有没有PHP模块
检查Apache配置文件中是否有错误或者没有加载PHP的配置
效果截图如下:
PHP 版本页面
[root@localhost ~]# vim /usr/local/apache2.4/htdocs/1.php #1.php内容下: <?php phpinfo(); ?> #在访问该1.php的时候,直接打印PHP的相关信息
效果截图如下:
curl测试
[root@localhost ~]# curl localhost/test.php 123[root@localhost ~]#
补充:快捷键 Ctrl+r
ctrl+r用途:反向检索并调用执行过的命令(reverse-i-search)
11.16/11.17 Apache默认虚拟主机
Apache虚拟主机的用途一台服务器可以访问多个网站,每个网站都是一个虚拟机主机
概念:域名(主机名)、DNS、解析域名、hosts
任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机
实施步骤
第一步,修改Apache配置文件参数
#路径 [root@taoyun src]# vim /usr/local/apache2.4/conf/httpd.conf #检索 httpd-vhosts 查找到后去掉如下这行的注释 #Include conf/extra/httpd-vhosts.conf
去掉注释的截图如下:
第二步,编辑虚拟主机配置文件
#配置httpd-vhosts.conf文件的参数 [root@localhost ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
截图如下:
#需要修改成如下参数: <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>
内容定义说明:
ServerAdmin:指定管理员邮箱,这个没有什么实质作用。
DocumentRoot:指定域名所指向的地址(制定站点的根目录,用于存放网站文件的)
ServerName:定义网站域名
ServerAlias:定义别名(第二域名)可设置多个,用空格分隔。
Errorlog:站点的错误日志
Customlog:站点的访问日志。
此时即定义了一个网站,定义网站的核心参数即为:DocumentRoot(网站根目录)、ServerName(域名)。
注意: 虚拟主机生效后,原Apache配置文件中的默认主机(www.example.com ~ 192.168.19)就会失效(在此用www.example.com ~ 111.com进行验证)。
测试 && 加载
#需要设置站点的根目录,否则将会报错 root@adailinux ~]# /usr/local/apache2.4/bin/apachectl -t Syntax OK [root@adailinux ~]# /usr/local/apache2.4/bin/apachectl graceful
虚拟主机测试
在此使用浏览器和curl命令分别进行测试,如果使用浏览器测试可以在Windows电脑中的 C:\Windows\System32\drivers\etc 目录下hosts文件中加入重定向域名,使直接访问Apache服务站点上,否则将无法测试,导致DNS直接解析到外网,从而访问外网网站,导致测试失败。
截图如下:
#curl测试 [root@taoyun src]# curl -x127.0.0.1:80 abc.com abc.com [root@taoyun src]# curl -x127.0.0.1:80 111.com 111.com [root@taoyun src]#
相关文章推荐
- 十周第二次课 2017.12.19 Apache和PHP结合、Apache默认虚拟主机
- 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机
- 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机
- LAMP架构(apache与php结合,apache默认虚拟主机)
- Apache和PHP结合 Apache默认虚拟主机
- Apache和PHP结合,Apache默认虚拟主机
- 【LAMP环境搭建】Apache和PHP结合、Apache默认虚拟主机
- 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机
- 4.Apache和PHP结合 Apache默认虚拟主机
- Apache和PHP结合、Apache默认虚拟主机
- Apache和PHP结合、Apache默认虚拟主机
- 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机
- PHP和Apache结合 Apache默认虚拟主机
- 2018-3-1 10周2次课 Apache和PHP结合、Apache默认虚拟主机
- 11.14 ,11.15Apache和PHP结合(上下);11.16 ,11.17Apache默认虚拟主机(上下)
- PHP和Apache结合 Apache默认虚拟主机
- Apache和PHP结合,Apache默认虚拟主机
- 11.14—11.15Apache和PHP结合(上下)11.16-11.17Apache默认虚拟主机
- Apache和PHP结合,Apache默认虚拟主机