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

一:apache和php结合

修改 apache 配置文件
#vi /usr/local/apache2/conf/httpd.conf
找到:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
改为:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
说明:如果不修改这个地方,我们访问网站会禁止访问,显示 403。
然后找到:
AddType application/x-gzip .gz .tgz
在该行下面添加:
AddType application/x-httpd-php .php
说明,要想支持 php 脚本解析,必须要加上对应的类型。
再找到:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
将该行改为:
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
说明: 增加针对 php 的索引,如果一个站点默认页为 index.php,那么就得加上这个
index.php 的支持。
再找到:
#ServerName www.example.com:80
修改为:
ServerName localhost:80
如果不去掉#,则启动 apache 时,会有警告信息“httpd: Could not reliably determine the
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
写入:
<?php
echo "php works.";
?>
保存后,继续测试:
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
把下面的配置:
<VirtualHost :80> 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 </VirtualHost> 修改为: <VirtualHost :80> DocumentRoot "/tmp/tmp" ServerName tmp.com <Directory /tmp/tmp/> Order allow,deny Deny from all </Directory> 创建配置中提到的目录 #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.

相关文章
相关标签/搜索