本篇介绍如何在Mac OS上使用Apache服务器搭建PHP多站点虚拟主机环境。在Mac里,已经默认内置了Apache和PHP,下面就来介绍如何配置Apache虚拟主机。
Apache基本命令
- 启动apache:
sudo apachectl start
- 重启apache:
sudo apachectl restart
- 停止apache:
sudo apachectl stop
- 检查httpd.conf配置是否正确:
sudo apachectl -v
配置PHP环境
- 打开apache配置文件"/etc/apache2/httpd.conf"
- 在httpd.conf配置文件中,找到:
#LoadModule php5_module libexec/apache2/libphp5.so
删除前面的#,然后保存退出。 - 在
/Library/WebServer/Documents
文件夹下,新建index.php文件, 写入如下内容, 保存退出。
<?php phpinfo(); ?>
- 在终端运行
sudo apachectl start
命令, 在浏览器中输入localhost/index.php
, 出现php信息,说明php环境配置成功。
配置虚拟主机
- 打开apache配置文件"/etc/apache2/httpd.conf
- 在httpd.conf中找到
#Include /private/etc/apache2/extra/httpd-vhosts.conf
,去掉前面的“#”,保存并退出。 - 运行“sudo apachectl restart”,重启Apache后就开启了虚拟主机配置功能。
- 运行“sudo vi /etc/apache2/extra/httpd-vhosts.conf”,就打开了配置虚拟主机文件httpd-vhost.conf,配置虚拟主机了。需要注意的是该文件默认提供了两个例子, 我们可以参考这两个例子来
配置自己的虚拟主机。
<VirtualHost *:80>
ServerName www.phptest.com
DocumentRoot "/Users/guobangzgb/working/websites/phptest"
<Directory "/Users/guobangzgb/working/websites/phptest">
DirectoryIndex index.html index.php index index.html default.html default.htm
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>
</VirtualHost>
- 配置
/ect/hosts
文件就可以访问相关站点了。
权限配置
如果你的站点不是放置在/Library/WebServer/Documents
目录下,比如放到了自己的工作目录下~/myname
, 可能产生访问权限问题,页面出现403 Forbidden错误,请按照下面配置就可以解决问题。
- 在
httpd.conf
文件中, 找到
#LoadModule userdir_module libexec/apache2/mod_userdir.so
#Include /private/etc/apache2/extra/httpd-userdir.conf
#Include /private/etc/apache2/users/*.conf
删掉前面的注释,保存退出。
- 如果不存在 /private/etc/apache2/users/username.conf (username就是你自己的登录账号名称)文件,就创建。 内容可参考如下:
<Directory "/Users/guobangzgb/working">
DirectoryIndex index.html index.php index index.html default.html default.htm
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>