本人PHP小白,因工作需要此时需要在自己的Mac下搭建PHP+Apache开发环境。从零开始是很痛苦的,本小白又是一个有强迫症的人,既然Mac自带了PHP和Apache,就想直接用,不做他想。配置这个环境弄了一下午,参考网上搜索到的教程,最后设置的Apache虚拟主机总是出现403 Forbidden错误。解决方案是在httpd.conf中修改<Directory /></Directory>中的设置。以下总结一下所有步骤,供其他小白们参考。大神莫扰~
1. 首先,打开Terminal,启动Mac自带的Apache(如果你是连Terminal也不会打开的小白。。。 。。。我建议你别往下看了,换个方式吧~)。启动命令:sudo apachectl start ,使用sudo有时会让你输入root账号的密码,密码即为你Mac系统账号密码。
2. 然后可以使用 sudo apachectl -v 命令查看本机Apache版本信息,如下图所示。
3. 这个时候,Apache应该成功启动了。可以打开浏览器,在地址栏输入:http://localhost,会出现一个显示”It works!”的页面。此时,Apache默认的工作空间是 /Library(资源库)/WebServer/Documents,如下图所示。
4. 直接在Apache默认的工作空间操作会遇到权限问题,并且本小白因强迫症也不想把自己的项目文档放到系统默认的目录里。所以接下来我们需要为Apache设置虚拟主机,在虚拟主机的目录下存放我们自己的项目文档。使用 sudo vi /etc/apache2/httpd.conf 命令打开httpd.conf文件,找到 #LoadModule php5_module libexec/apache2/libphp5/so ,把前面的#号去掉(#是注释。去掉php5模块的注释,这样我们之后才能在Apache中使用PHP。vi命令是“x”)。再寻找 #Include /private/etc/apache2/extra/httpd-vhosts.conf,同样去掉这个#号。保存退出(vi命令是":wq")。
5. 使用命令 sudo vi /etc/apache2/extra/httpd-vhosts.conf 打开配置虚拟主机的httpd-vhosts.conf文件,把文件中已经存在的两个虚拟主机的例子注释掉(每一行之前加#号),然后加上我们自己想配置的虚拟主机(别忘了给默认的localhost也配置一下),如下图。
其中,最后一个虚拟主机配置中,DocumentRoot "/Users/Jackin/apache" 就是我们新配置的虚拟主机的工作空间,你可以换成你想要的目录;ServerName mysites 是为本虚拟主机设置服务器域名(参考localhost的功能就明白了,以后访问这个虚拟主机只需要在浏览器地址栏输入 http://mysites 就OK)。ErrorLog和CustomLog就按照图中的方法设置吧,毕竟保留log是程序猿和攻城狮的良好习惯。设置完毕之后,保存退出。
6. 在你设置的虚拟主机工作空间根目录下(本例子中根目录是 /Users/Jackin/apache)编辑一个index.php文件,内容就一行:<?php phpinfo()?>
7. 我不知道别人的配置情况,但是我个人经验,到此为止还需要配置一下httpd.conf文件(很多网络教程没说这一步),否则之后访问虚拟主机会出现403 Forbidden的问题。使用命令 sudo vi /etc/apache2/httpd.conf 再次打开httpd.conf文件,找到 <Directory /></Directory> 模块(注意 Directory后面只有一个”/“,小白可别弄错了!),按下图修改(需要在vi中进行输入编辑,使用命令”i“切换到Insert Mode,按Esc回到Command Mode即可输入vi命令;下图中带#号的那个Require all denied一行可以直接删掉不要)。编辑好之后,保存退出。
8. 在Terminal中使用命令 sudo apachectl restart 重启Apache服务器。
9. 打开浏览器,在地址栏输入 http://mysites (mysites是我的虚拟主机名配置,请根据你自己的配置输入),看看是否出现PHP详细信息。如果出现,则配置成功,如下图。
最后,再次申明这是小白教程啊,大神勿扰~。如果有错误,欢迎指正。谢谢!