apache主配置文件

主配置文件:/usr/local/apache2.4/conf/httpd.conf

定义网站根目录
DocumentRoot "/usr/local/apache2.4/htdocs"
//之所以htdocs目录下能访问index.php就是因为DocumentRoot定义了网站根目录

定义网站域名
ServerName www.example.com:80
//这个ServerName可以用任何一个域名访问它,这是因为默认主机或者默认虚拟主机的特点:只要是指向到这台主机的的ip,不管是什么域名,它都会访问到这个主机上来

定义虚拟主机配置文件
# Include conf/extra/httpd-vhosts.conf
//配置虚拟主机时要打开这一行

定义索引页和默认索引页
DirectoryIndex index.html index.php
//如果一个目录下有两个索引页,默认显示排在前面的索引页

虚拟主机概念

一台服务器可以访问多个网站,每个网站都是一个虚拟主机
任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机

配置虚拟主机

Include conf/extra/httpd-vhosts.conf  打开主配置文件中这一行
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
修改如下:
<VirtualHost *:80>
  #ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/data/wwwroot/aaa.com"
    ServerName aaa.com
    ServerAlias www.aaa.com  www.abc.com
    ErrorLog "logs/aaa.com-error_log"
    CustomLog "logs/aaa.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
  #ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/data/wwwroot/bbb.com"
    ServerName bbb.com
    ServerAlias www.bbb.com
    ErrorLog "logs/bbb.com-error_log"
    CustomLog "logs/bbb.com-access_log" common
提示:
1,默认虚拟主机就是配置文件里的第一个虚拟主机
 2,一旦配置好虚拟主机,主配置文件里定义的域名,网站根目录都会失效
 3,任何一个域名解析到这台机器,都可以访问的虚拟主机,这样不合适,也不安全,可以给默认虚拟主机做限制,比如:chmod 600 /data/wwwroot/aaa.com,不给执行权限
		
		```