Apache的虚拟主机
1.虚拟主机的作用: 在apache服务器上配置多个虚拟主机,就可以实现在一台服务器上运行多个网站,每个虚拟主机都可以绑定独立的域名并为这些域名指定单独的目录,访问这些域名的时候apache会打开对应目录里的东西。(简而言之就是实现一个服务器提供多站点的功能)
2.配置虚拟主机
(1)vim /etc/hosts #在客户端设置
(2)mkdir -p /var/www/lyueyue.com/{news,wenku}
echo "wenku's page" > /var/www/lyueyue.com/wenku/index.html
echo "news's page" > /var/www/lyueyue.com/news/index.html
echo "default's page" > /var/www/html/index.html
(3)vim /etc/httpd/conf.d/virthost.conf
实验步骤:
(1)在客户端rehl7(192.168.145.7)中设置域名
(2)在rehl8(192.168.145.100)中配置虚拟主机
virthost.conf文件名任意
combined:表示混合型日志,访问acess、拒绝deny、警告warring和报错error这四种日志都会记录在这一个文件中。
补充①:/etc/httpd/virthostlogs是相对路径,绝对路径是 /etc /httpd/logs,通过主配置文件我们可以查看。
②:如何查看apache的文档?
先安装httpd-manual这个安装包,手册在这个安装包里。
重启httpd服务
在rehl7中访问rehl8
(3)在rehl7中测试
Apache的语言支持
apache支持html(默认)、php、perl语言。
1.php语言
(1)安装php包
安装完成后,我们发现在/etc/httpd/conf.d目录下会多出一个php.conf文件,这样apache就可以识别php语言了。
(2)编写/var/www/html/index.php文件
phpinfo()函数可以显示出php的所有相关信息,是排查配置php时是否出错或遗漏配置模块的主要方法之一。
(3)在rehl7中访问rehl8
成功访问到php的测试页
2.perl语言
perl是脚本语言,主要是为了实现cgi接口。
先来补充cgi的概念:通用网关接口,有了这个接口,就可以将别的程序的执行结果展现在页面上,通过apache共享出来。
(1)创建目录
(2)编辑/var/www/html/cgidir/index.cgi文件
#!/usr/bin/perl:告诉linux,这个文件中的内容应该由存放在/usr/bin/perl程序来执行。
Content-type: text/html\n\n:http头部的一部分,会发送到浏览器告诉浏览器文件的内容类型。
date :注意使用反引号,反引号中的内容会交给shell执行。
(3)给index.cgi文件执行权限
index.cgi是一个可执行脚本,需要执行权限。
我们尝试执行一下index.cgi
此时在rehl7中访问,发现代码被裸露出来了,而没有被执行。
(4)编辑/etc/httpd/conf.d/virthost.conf文件
告诉apache /var/www/html/cgidir下的文件是需要被执行的
options +ExecCGI:在options下添加ExecCGI权限
AddHandler:定义cgi脚本支持的文件后缀
(5)在rehl7中测试
发现时间会实时变化