如果你使用的是mac 系统,很荣幸的告诉你的系统自带Apache服务器,查看自己当前系统下是否安装好了该服务器,输入sudo apachectl -v ,然后会让你输入你的密码,
Server version: Apache/2.4.18 (Unix)
Server built:Feb 20 2016 20:03:19
接着输入 sudo apachectl start,这样Apache就启动了。打开Safari浏览器地址栏输入 “http://localhost”,可以看到内容为“It works!”的页面。其位于“/Library/WebServer/Documents”下,这就是Apache的默认根目录。 Apache的安装目录在:/etc/apache2/,etc默认是隐藏的。有三种方式查看:
1.dock下右键Finder,选择"前往文件夹",输入"/etc" 2.在finder下----》前往---》前往文件夹,然后输入/etc 3.可以在terminal 输入 "open /etc"
当然这个和安卓存在同样的问题,就是当资源较多的时候,存储空间肯定是不够的,也需要设置虚拟目录,在终端运行“sudo vi /etc/apache2/httpd.conf”,打开Apche的配置文件在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,配置虚拟主机了。需要注意的是该文件默认开启了两个作为例子的虚拟主机:
## ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot "/usr/docs/dummy-host.example.com"
# ServerName dummy-host.example.com
# ServerAlias www.dummy-host.example.com
# ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
# CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
### ServerAdmin webmaster@dummy-host2.example.com
# DocumentRoot "/usr/docs/dummy-host2.example.com"
# ServerName dummy-host2.example.com
# ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
# CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
你的默认是没有注释的,我的注释后就是这个效果,在没有配置任何其他虚拟主机时,可能会导致访问localhost时出现如下提示:
Forbidden
You don't have permission to access /index.php on this server
运行“sudo vi /etc/hosts”,打开hosts配置文件,加入"127.0.0.1 mysites",这样就可以配置完成sites虚拟主机了,可以访问“http://mysites”了,在10.8之前Mac OS X版本其内容和“http://localhost/~[用户名]”完全一致。
注意,记录log的“ErrorLog "/private/var/log/apache2/sites-error_log"”也可以删掉,但记录日志其实是一个好习惯,在出现问题时可以帮助我们判断。如果保留这些log代码,一定log文件路径都是存在的,如果随便修改一个不存在的,会导致Apache无法服务而没有错误提示,这个比较恶心。
按照以上流程,基本就配置好了。如果你还需要某些特殊配置,下面列出常用的一些信息
apache默认安装路径是/etc/apache2/。
apache默认host路径是/Library/WebServer/Documents。
apache默认用户的路径是~/Sites(这个路径如果没有要手动创建,比如我的用户名是qyfmac,这个路径就是/Users/qyfmac/Sites)。
如果把文件都放到/Library/WebServer/Documents里,每次修改都需要sudo,所有我都把文件放到了~/Sites下。不过文件放到~/Sites下要做些配置工作的,下面我们开始配置。
1.修改/etc/apache2/httpd.conf文件。找到下面几行代码,将前面的#号去掉。
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
Include/private/etc/apache2/extra/httpd-userdir.conf
2.修改/etc/apache2/extra/httpd-userdir.conf文件。找到下面一行代码,将前面的#号去掉。
Include /private/etc/apache2/users/*.conf
3.修改/etc/apache2/users/qyfmac.conf文件。如果文件不存在就创建一个,我的其中qyfmac是我的用户名,可以根据用户不同创建多个。文件内容如下
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
Require all granted
AllowOverride None
Order allow,deny
Allow from all
Require all granted
好的配置搞定了,下面让我们启动apache。
停止apache命令:sudo apachectl stop
启动apache命令:sudo apachectl start
重启apache命令:sudo apachectl restart
启动成功后访问http://localhost和http://localhost/~qyfmac看看效果。