摘要:摘要: Apache和PHP结合、 Apache默认虚拟主机
配置httpd支持php
•httpd主配置文件/usr/local/apache2.4/conf/httpd.conf
•vim/usr/local/apache2.4/conf/httpd.conf//修改以下4个地方
ServerName
Requirealldenied
AddTypeapplication/x-httpd-php.php
DirectoryIndexindex.htmlindex.php
•/usr/local/apache2.4/bin/apachectl-t//测试语法
•/usr/local/apache2.4/bin/apachectlstart//启动服务
•netstat-lntp
•curllocalhost
•vim/usr/local/apache2.4/htodcs/test.php//增加如下内容
<?php
echo123;
?>
•curllocalhost/test.php
实例:
第一步:
下面的安装没有报错,仅仅只是提示。
把提示的信息注销掉,使用fg命令。/ServerName是要搜索的内容。
php5和php7容易起冲突。注释掉一个。
查看httpd有没有开启。
pingIP地址,再ping80端口。因为windows没有打开telnet客户端。
打开telnet客户端。
查看端口情况。发现没有80端口。
添加80端口。
删掉80端口的命令。
80端口添加成功了,ctrl+]命令退出来。
-t检查配置语法是否有误。
graceful:重新加载配置文件。当配置文件有问题时,加载不成功。
Forbidden:不允许访问。
把allowed改成granted。
增加之后,就可以解析了。搜索方式:/AddType
搜索方式:/Index
之后执行这两条命令。
编写一个脚本。1.php
页面加载出来了,说明php支持解析。
当加载不出来页面的时候,检查PHP文件,使用命令:vi/usr/local/apache2.4/conf/httpd.conf。
1、查看有没有加载出来php5这个模块;
2、检查配置文件中有没有libphp5.so这个文件;
3搜索AddType中有没AddTypeapplication/x-httpd-php.php。(php之间加上空格)
(1)、
(2)、
(3)、
(4)、
查看/usr/local/apache2.4/htdocs/目录下有没有这两个文件。
修改之后,在加载试一下,
常见问题:
1、虚拟机是直接启动httpd就能访问,不需要再增加iptables规则,这样也是没事的吧?
答:没事。
2、原因服务器上的80端口没有打开。
3、这几个位置都是对的语法检测也没有问题模块也是。怎么模块就是没有加载上去列页面也不是显示。
答:/usr/local/apache/bin/apachectl-M就是没有模块加载
如果有开启虚拟主机配置,则需要到虚拟主机配置文件里去看DocumentRoot。
httpd的默认虚拟主机
•一台服务器可以访问多个网站,每个网站都是一个虚拟主机
•概念:域名(主机名)、DNS、解析域名、hosts
•任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机
•vim/usr/local/apache2/conf/httpd.conf//搜索httpd-vhost,去掉#
•vim/usr/local/apache2/conf/extra/httpd-vhosts.conf//改为如下
<VirtualHost*:80>
ServerAdminadmin@aminglinux.com
DocumentRoot"/data/wwwroot/aming.com"
ServerNameaming.com
ServerAliaswww.aming.com
ErrorLog"logs/aming.com-error_log"
CustomLog"logs/aming.com-access_log"common
</VirtualHost>
<VirtualHost*:80>
DocumentRoot"/data/wwwroot/www.123.com"
ServerNamewww.123.com
</VirtualHost>
•/usr/local/apache2/bin/apachectl–t
•/usr/local/apache2/bin/apachectlgraceful
•mkdir-p/data/wwwroot/aming.com/data/wwwroot/www.123.com
•echo"aming.com">/data/wwwroot/aming.com/index.html//网站默认的主页就是index.html
•echo"123.com">/data/wwwroot/123.com/index.html
•curl-x127.0.0.1:80aming.com//这样会去访问aming.com/index.html
•curl-x127.0.0.1:80www.123.com//访问www.123.com
•curl-x127.0.0.1:80www.abc.com
•vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf//把123.com那个虚拟主机编辑成如下内容
<VirtualHost*:80>
DocumentRoot"/data/wwwroot/www.123.com"
ServerNamewww.123.com
<Directory/data/wwwroot/www.123.com>//指定认证的目录
AllowOverrideAuthConfig//这个相当于打开认证的开关
AuthName"123.comuserauth"//自定义认证的名字,作用不大
AuthTypeBasic//认证的类型,一般为Basic,其他类型阿铭没用过
AuthUserFile/data/.htpasswd//指定密码文件所在位置
requirevalid-user//指定需要认证的用户为全部可用用户
</Directory>
</VirtualHost>
•/usr/local/apache2.4/bin/htpasswd-cm/data/.htpasswdaming
•重新加载配置-t,graceful
•绑定hosts,浏览器测试
•curl-x127.0.0.1:80www.123.com//状态码为401
•curl-x127.0.0.1:80-uaming:passwdwww.123.com//状态码为200
实例:
相关文章推荐
虚拟主机的专业参数,分别都是什么意思?2022-09-09
中非域名注册规则是怎样的?注册域名有什么用处? 2022-01-10
HostEase新年活动促销 美国/香港主机全场低至五折2021-12-28
HostGator下载完整备份教程分享2021-12-28
Flink中有界数据与无界数据的示例分析2021-12-28