Mac OS X中配置Apache HTTP服务器
作者 李明明
转载请注明出处: http://limingming.org/index.php/2018/11/28/mac-os-x-config-apache-http/
介绍
我现在正在使用的是Mac OS X版本是10.11.6,在mac上配置环境的时候搭建apache http服务器遇到了些问题现在总结分享一下,希望也能解决你们的烦恼。
启动服务器
首先打开“终端(terminal)”,输入 sudo apachectl -v,(可能需要输入机器秘密)。如下显示Apache的版本:
image.png-
输入启动命令进行启动: sudo apachectl start
-
打开浏览器输入http://localhost,就可以看到it work!的内容了,这个页面其实是位于/Library(资源库)/WebServer/Documents/,是apache默认的根目录。
修改虚拟主机文件
Apache的安装目录在:/etc/apache2/,etc默认是隐藏的,可以通过终端进行操作也可以在finder中选前往, 输入/etc在finder中进行操作。
-
终端运行“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,配置虚拟主机了。需要注意的是该文件默认开启了两个作为例子的虚拟主机如下:
而实际上,这两个虚拟主机是不存在的,在没有配置任何其他虚拟主机时,可能会导致访问localhost时出现如下提示:
ForbiddenYou don't have permission to access /index.php on this server,可以参考我改的配置,如下:
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents"
ServerName localhost
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
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/limm/Workspace/http_server"
ServerName mysites
ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
<Directory />
Allow from all
</Directory>
</VirtualHost>
例如:如果想要使用“/Users/limm/Workspace/http_server/生效,以及可以使用http://mysites访问你的项目所在工作空间,要进行如下配置:
-
执行“sudo vi /etc/hosts”,打开hosts配置文件,加入"127.0.0.1 mysites",这样就可以配置完成sites虚拟主机了,可以访问“http://mysites”了
-
log日志的内容都可以删掉,但是建议保留,记录日志是一个很好的习惯,当出现错误的时候可以查看log日志,需要注意的一点是log日志的目录一定是存在的才可以,如果此目录不存在,apache服务器启动报错,无法服务。
其他配置
1、如果不采用第二点访问可以直接配置,需要修改/etc/apache2/httpd.conf
image.png
因为apache默认是不现实文件目录的,可以在文件中加入
<Files *>
Options Indexes
</Files>
image.gif
或者采用修改其他属性的方式进行修改,可以自行搜索一下。