本文共 6560 字,大约阅读时间需要 21 分钟。
参考:https://my.oschina.net/joanfen/blog/171109
Mac本机的路径:
/Users/wofu/Desktop/php桌面文件夹
有两种方法
1、打开网络共享
打开"系统偏好设置"->"共享",在"互联网共享"那一项前面打√。
2、打开终端,输入
sudo apachectl start
这时需要输入密码,输入电脑密码即可,然后输入
sudo apachectl -v
可以查看到Apache的版本信息
Serverversion: Apache/2.2.24 (Unix)
Serverbuilt: Jul 7201318:05:17
此时在浏览器中输入http://localhost,会出现It works!的页面
1、找到Apache的配置文件,在目录/etc/apache2/下,打开Finder,选择"前往"-"前往文件夹",输入"/etc/apache2/",找到其中的"httpd.conf"文件,选择用文稿打开进行编辑,点按Command+F,搜索
#LoadModule php5_module libexec/apache2/libphp5.so
,如图2、重启Apache,在终端输入
sudo apachectl restart
PHP就可以用了。3、在终端输入
sudo cp/Library/WebServer/Documents/index.html.en/Library/WebServer/Documents/info.php
即在Apache的根目录下复制index.html.en文件并重命名为info.php。
4、打开info.php,在It works后面加上<?php phpinfo(); ?>,然后再次重启Apache,在浏览器中输入http://localhost/info.php,会出现一个显示php信息的页面,如图所示。
Mac自带tomcat,并且根目录在/Library/WebServer/Document ,如果直接访问localhost就会访问到这个根目录,但是这个目录带有修改权限,那么如何解决这个问题呢,最好的办法就是修改apache的根目录,下面介绍如何修改
=======重新规划虚拟主机目录=======比如我们要设置本机的虚拟域名为lambo.com
一、首先找到Apache的安装目录:我的是在/private/etc/apache2
在此目录下找到文件httpd.conf,在文件内容的中间位置有下面两行:
# Virtual hosts
#Include /private/etc/apache2/extra/httpd-vhosts.conf把第二行放开,即删掉#
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf保存时,如果保存不上就复制一份到桌面,修改完之后再把文件复制过来覆盖掉之前的文件。
二、找到上一步放开的文件,位置在:/private/etc/apache2/extra/httpd-vhosts.conf
打开文件,按照文件里的提示,在最下面添加如下代码并保存:
<VirtualHost *:80>
DocumentRoot "/UsersZe/work/MyPHP" ServerName lambo.com ErrorLog "/private/var/log/apache2/bweb-com-error_log" CustomLog "/private/var/log/apache2/bweb-com-access_log" common <Directory "/Users/Ze/work/MyPHP"> # AllowOverride All # Deprecated # Order Allow,Deny # Deprecated # Allow from all # Deprecated # --New way of doing it Require all granted </Directory></VirtualHost>注意:DocumentRoot "/Users/Ze/work/MyPHP"和<Directory "/Users/lambo/lambo/workspaces/MyPHP">都是项目所在的路径,ServerNamelambo.com为要增加的本机域名,其他不需要做修改。
三、在/private/etc目录下找到hosts文件
在文件的最后增加一行并保存:
127.0.0.1 lambo.com
四、最后重启Apache
sudo apachectl restart
会让输密码,就是电脑开机密码。在Mac OS X中可以很方便的通过开启“Web共享”启用Apache服务:
设置方法如下:打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”选中即可
启动Apache
有两种方法:
- 打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”
- 打开“终端(terminal)”,然后(注意:sudo需要的密码就是系统的root帐号密码)
- 运行“
sudo apachectl start
”,再输入帐号密码,这样Apache就运行了。这样在浏览器中输入“http://localhost”,就可以看到出现一个内容为“It works!”的页面,它位于“/Library(资源库)/WebServer/Documents/”下,这是Apache的默认根目录。
注意:开启了Apache就是开启了“Web共享”,这时联网的用户就会通过“http://[本地IP]/”来访问“/Library(资源库)/WebServer/Documents/”目录,通过“http://[本地IP]/~[用户名]”来访问“/Users/[用户名]/Sites/”目录,可以通过设置“系统偏好设置”的“安全(Security)”中的“防火墙(Firewall)”来禁止这种访问。
系统默认给当前用户的访问目录是http://localhost/~username的形式,指向的是用户home目录下的Sites目录。而很多情况下我们希望直接访问根目录(http://localhost/)便可直接访问自己的Sites目录而非系统默认的目录。
做如下更改即可:1.打开/etc/apache2/httpd.conf文件sudo vim /etc/apache2/httpd.conf
2.找到
/Library/WebServer/Documents
替换成
/Users/{ username}/Sites
其中{username}是你登陆用户名,如:
/Users/liangc/Sites
3.重启“Web共享(Web Sharing)” (去掉勾再重新选中即可)
或者 运行“sudo apachectl restart
”
重启成功后,无需再加上用户名,便可以使用http://localhost/直接访问自己Sites目录下的内容
You don't have permission to access / on this server. 错误
打开apache的配置文件httpd.conf,
由于配置了后,这里的“Deny from all”已经拒绝了一切连接。把该行改成“allow from all”,修改后的代码如下,问题解决。
=============alpache ========
Require all granted
允许所有请求访问资源
Require all denied
拒绝所有请求访问资源
Require env env-var [env-var] ...
当指定环境变量设置时允许访问
Require method http-method [http-method] ...
允许指定的http请求方法访问资源
Require expr expression
当expression返回true时允许访问资源
Require user userid [userid] ...
允许指定的用户id访问资源
Require group group-name [group-name] ...
允许指定的组内的用户访问资源
Require valid-user
所有有效的用户可访问资源
Require ip 10 172.20 192.168.2
允许指定IP的客户端可访问资源
Require not group select
select组内的用户不可访问资源
========
=================MAMP配置环境+++++++++++++
参考:http://www.jianshu.com/p/85aafc934fe5
localhost 的目录为 /Applications/MAMP/htdocs/
Apache 的配置文件路径为 /Applications/MAMP/conf/apache/httpd.conf
Apache 的虚拟主机配置文件路径为 /Applications/MAMP/conf/apache/extra/httpd-vhost.conf
配置虚拟主机:
打开 httpd.conf,取消下面这行的注释 # Virtual hosts Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
在 httpd-vhost.conf中配置虚拟主机
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/Applications/MAMP/htdocs/"
ServerName localhost
ServerAlias
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
<Directory "/Applications/MAMP/htdocs/">
allow from all
AllowOverride all
Options +indexes
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/Applications/MAMP/htdocs/oa"
ServerName www.oa.cc
ServerAlias oa.cc
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
<Directory "/Applications/MAMP/htdocs/oa">
allow from all
AllowOverride all
Options +indexes
</Directory>
</VirtualHost>
配置完成后重启 MAMP(注意关掉 shadowsocks等代理软件)
在 hosts文件中添加 DNS解析,即可通过域名访问本地脚本文件。有两种方式
在 Finder上右键,选择Go to Folder...,输入/private/etc,找到 hosts文件,复制到其他地方,使用文本编辑器进行编辑,添加需要解析的行,如127.0.0.1 www.oa.com oa.com,保存后退出,复制,然后回到 etc目录,粘贴,选择替换。
打开终端 terminal,运行sudo vim /private/etc/hosts,就可以进行编辑了。编辑完成后保存即可。