一: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.