在Mac OS X上配置Apache2

最近一段时间在开发面向移动设备的网页,而且是静态网页。所以很需要一个HTTP服务器,简单明了的就可以。在Windows上,HFS(http://www.rejetto.com/hfs/)是我比较钟爱的一个小工具,并且还是免费。在Mac电脑上,尝试了几款轻量的HTTP文件服务器,感觉都不是很理想。比如App Store里面的SimpleHTTPServer,我甚至花了25块钱购买了Pro版,竟然连最基本的HTTP Range都不支持。还有就是Python带的那个SimpleHTTPServer模块,也是不太良好。只好回到Apache了。

Mac OS X本身就带了Apache(至少从10.7开始就有),接下来就是要一步一步的把Mac上的Apache配置起来。

先说一下环境:Mac OS X 10.9。

然后,来检查一下Mac上Apache的版本。打开一个终端应用。可以从LaunchPad>其他>终端来打开,也可以直接在Spotlight中输入terminal来打开。

在终端中输入apachectl -v查看安装的Apache版本。

user@my-mac:~ $ apachectl -v
Server version: Apache/2.2.24 (Unix)
Server built:   Aug 24 2013 21:10:43

然后直接去/etc/apache2下面修改Apache的配置文件httpd.conf(2.2版本的Apache还是一个配置文件)。由于这个文件的属主是root,所以普通用户需要使用sudo vi httpd.conf来编辑。

这个文件中比较关键的地方摘抄如下:

User _www
Group _www
# 这里就是你的要提供服务的根路径。
DocumentRoot "/Users/user/Documents/svn-copy/books"
# 这里是针对这个根路径的权限配置
<Directory "/Users/user/Documents/svn-copy/books">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

编辑完毕之后,保存.

出于安全性的考虑,默认情况下,Apache的httpd服务是使用比较低权限的用户身份去运行的,也就是上面截取的配置文件中的User _www和Group _www一行。所以首先你要允许_www访问你的文档,至少要能够读取。

启动Apache服务。默认的监听端口是80,所以需要root权限才能够启动apache。

user@my-mac:apache2 $ sudo apachectl start

然后,使用浏览器打开http://localhost。哦,给出了403访问被禁止的消息。那么,猜测是权限出现问题了。先看看Apache的日志吧:

cd /var/log/apache2
cat error_log
Permission denied: access to / denied (filesystem path '/Users/user/Documents/svn-copy') because search permissions are missing on a component of the path

根据日志中的错误信息,那么一定是在这个路径上,某一个或者多个文件夹不允许_www用户(httpd的运行用户)search(针对文件夹的search对应的就是文件夹权限的x)。那么就从最后向最前找。很容易就发现/Users/user/Documents这个文件夹不允许其他人读取。反正是自己内网开发测试用的,索性就允许其他用户读取好了。

user@my-mac:~ $ cd
user@my-mac:~ $ chmod o+rx Documents

然后再次访问http://localhost,一切OK了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JetpropelledSnake

ELK学习笔记之CentOS 7下ELK(6.2.4)++LogStash+Filebeat+Log4j日志集成环境搭建

现在的公司由于绝大部分项目都采用分布式架构,很早就采用ELK了,只不过最近因为额外的工作需要,仔细的研究了分布式系统中,怎么样的日志规范和架构才是合理和能够有效...

5613
来自专栏北京马哥教育

10 分钟快速搭建 ELK 日志分析系统

作者:Json、 一、ELK搭建篇 官网地址: https://www.elastic.co/cn/ 官网权威指南: https://www.elastic....

2.8K10
来自专栏私有云搭建

腾讯云+kodexplorer可道云搭建私有云盘

KodExplorer可道云,原名芒果云,是基于Web技术的私有云和在线文件管理系统。致力于为用户提供安全可控、可靠易用、高扩展性的私有云解决方案。用户只需通过...

8305
来自专栏nice_每一天

理解 IntelliJ IDEA 的项目配置和Web部署

IDEA 中最重要的各种设置项,就是这个 Project Structre 了,关乎你的项目运行,缺胳膊少腿都不行。最近公司正好也是用之前自己比较熟悉的IDEA...

4732
来自专栏云原生架构实践

JHipster生成单体架构的应用示例

因为这个例子是生成单体架构的应用,所以这里选择默认选项Monolithic application,也就是单体架构的应用。

9482
来自专栏铭毅天下

Elasticsearch存储深入详解

在本文中,我们将研究Elasticsearch的各个部分写入数据目录的文件。我们将查看节点,索引和分片级文件,并简要说明其内容,以便了解Elasticsearc...

1.3K2
来自专栏运维咖啡吧

记一次诡异的故障排查经历

管理员通过Jenkins调用“发布程序(代号varian,以下简称varian)”,发布程序会进行一系列的初始化操作,完成后生成Docker镜像上传到Docke...

962
来自专栏静默虚空的博客

ELK 快速指南

ELK 快速指南 概念 ELK 是什么 ELK 是 elastic 公司旗下三款产品 ElasticSearch 、Logstash 、Kibana 的首字母组...

42010
来自专栏Aloys的开发之路

如何发布Maven依赖到中央仓库

平时我们都是从Maven中央仓库下载依赖,如果我们想发布我们自己写的Maven依赖到中央仓库供别人下载使用应该怎么办?这里以上传自己写的simian-maven...

3003
来自专栏F_Alex

SpringCloud-微服务配置统一管理SpringCloud Config(七)

2383

扫码关注云+社区

领取腾讯云代金券