ls0398 发表于 2018-11-17 10:34:57

apache和php结合、apache的默认虚拟主机

一:apache和php结合
  修改 apache配置文件
  #vi /usr/local/apache2/conf/httpd.conf
  找到:
  
  Options FollowSymLinks
  AllowOverride None
  Order deny,allow
  Deny from all
  
  改为:
  
  Options FollowSymLinks
  AllowOverride None
  Order deny,allow
  Allow from all
  
  说明:如果不修改这个地方,我们访问网站会禁止访问,显示 403。
  然后找到:
  AddType application/x-gzip .gz .tgz
  在该行下面添加:
  AddType application/x-httpd-php .php
  说明,要想支持 php 脚本解析,必须要加上对应的类型。
  再找到:
  
  DirectoryIndex index.html
  
  将该行改为:
  
  DirectoryIndex index.html index.htm index.php
  
  说明: 增加针对 php 的索引,如果一个站点默认页为 index.php,那么就得加上这个
  index.php 的支持。
  再找到:
  #ServerName www.example.com:80
  修改为:
  ServerName localhost:80

  如果不去掉#,则启动 apache 时,会有警告信息“httpd: Could not>  server's fully qualified domain name, using localhost.localdomain for ServerName”,看起来像是
  错误,其实没有影响。
  查看配置文件是否有问题:
  /usr/local/apache2/bin/apachectl -t
  如果显示 Syntax OK,说明配置没问题了。然后启动服务:
  /usr/local/apache2/bin/apachectl start
  检查 apache 是否正常启动的命令是:
  ps aux |grep httpd
  看有没有进程列表。
  vi /usr/local/apache2/htdocs/1.php
  写入:
  
  保存后,继续测试:
  curl localhost/1.php
  php works. 只有显示这个信息,才算正常解析。否则就是没有成功解析。当然,你也可
  以用真机上的浏览器通过 ip 访问,比如你的虚拟机 ip 为 192.168.1.101,那么在浏览器输入
  http://192.168.1.101/1.php 看是否只显示一行 php works. 如果你的访问不太顺畅,请检测
  iptables 规则。
  iptables -nvL
  如果有一些规则,请执行
  iptables -F
  service iptables save
二:apache默认虚拟主机
  vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
  把下面的配置:
  
  ServerAdmin webmaster@dummy-host.example.com
  DocumentRoot "/usr/local/apache2/docs/dummy-host.example.com"
  ServerName dummy-host.example.com
  ServerAlias www.dummy-host.example.com
  ErrorLog "logs/dummy-host.example.com-error_log"
  CustomLog "logs/dummy-host.example.com-access_log" common
  
  修改为:
  
  DocumentRoot "/tmp/tmp"
  ServerName tmp.com
  
  Order allow,deny
  Deny from all
  
  创建配置中提到的目录
  #mkdir /tmp/tmp
  chmod 600 /tmp/tmp
  /usr/local/apache2/bin/apachectl graceful      #重新加载
  其实这个默认虚拟主机就是配置文件里的第一个虚拟主机。关于默认虚拟主机有个特
  点,凡是解析到这台机器的域名,不管是什么域名,只要在配置文件中没有配置,那么都会
  访问到这个主机上来。 举例,我们直接用ip 访问,会访问到这个站点上来。为了避免别人
  乱解析,所以应该把默认也就是第一个虚拟主机给禁止掉。在这里我们使用allow,deny语句,
  已经禁掉了,至于它的含义,后面会介绍。这时候,我们用 ip去访问,发现已经提示:
  Forbidden
  You don't have permission to access / on this server.

页: [1]
查看完整版本: apache和php结合、apache的默认虚拟主机