转载:http://www.cnblogs.com/yuanyq/p/3435022.html#2821339

最近一段时间在开发面向移动设备的网页,而且是静态网页。所以很需要一个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. (Unix)
Server built: Aug ::

然后直接去/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了。

在Mac OS X上配置Apache2的更多相关文章

  1. phpMyAdmin在Mac OS X上的配置和使用

    本文主要记录phpMyAdmin在Mac OS X上的配置和使用,避免朋友们走弯路,浪费不必要的时间.   1. 下载:    2. 在"设置"中打开" web shar ...

  2. 在Mac OS X中配置Apache + PHP + MySQL

    在Mac OS X中配置Apache + PHP + MySQL Mac OS X 内置Apache 和 PHP,使用起来非常方便.本文以Mac OS X 10.6.3和为例.主要内容包括: 启动Ap ...

  3. 在Mac OS X中配置Apache + PHP + MySQL 很详细

    这是一篇超级详细的配置mac os下面php+mysql+apache的文章.非常详细我的大部分配置就是参考上面的内容的,比如,PHP不能连接数据库,就是改一下默认的php.ini中pdo_mysql ...

  4. Mac OS X上搭建Apache、PHP、MySQL的Web服务器

    mac OS 系统太帅了,安装php的环境如此简单,大赞一个! 转载自http://jingyan.baidu.com/article/39810a23e1939fb636fda6a9.html 在M ...

  5. Mac OS X 上安装 ASP.NET 5

    在Mac OS X Yosemite 10.10.3 中搭建第一个 ASP.NET 5 Web 项目 终于有时间在 Mac 上安装一下 ASP.NET 5,网上有许多教程,但是多数的时间比较早了,版本 ...

  6. Mac OS X上用CoreCLR运行一个真正的.NET控制台程序

    这个真正的控制台程序来自corefxlab,名叫CoreClrHelloWorld,是一个跨平台的.NET控制台演示程序,可以显示微软.Linux.苹果的logo. CoreClrHelloWorld ...

  7. 在Mac OS X上启用Apache和PHP

    因为Mac OS X上都已自带了Apache和PHP,所以都无需进行安装,只要按照自己的需要进行设置即可. 找到httpd.conf文件,并用编辑器打开. 加载PHP模块.找到 #LoadModule ...

  8. Swig在Mac OS X上的安装

    网上有很多类似文章介绍Swig怎么在Mac OS X上安装和配置,一般来说就是: 下载pcre,configure & make & make install 下载swig,confi ...

  9. Mac OS X上使用Wireshark抓包

    Wireshark针对UNIX Like系统的GUI发行版界面采用的是X Window(1987年更改X版本到X11).Mac OS X在Mountain Lion之后放弃X11,取而代之的是开源的X ...

随机推荐

  1. RMQ_第一弹_Sparse Table

    title: RMQ_第一弹_Sparse Table date: 2018-09-21 21:33:45 tags: acm RMQ ST dp 数据结构 算法 categories: ACM 概述 ...

  2. 转Google Protocol Buffer 的使用和原理

    Google Protocol Buffer 的使用和原理 Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式.它 ...

  3. jQuery记忆巩固

    jQuery是由原生js写的所以说所有jQuery制作出来的效果都可以使用js做出来,jQuery出现的目的是为了优化代码,提高码代码的效率它将很多功能封装. 一.jQuery的认识 1.何为jque ...

  4. python 模式之工厂模式

    转自:https://www.cnblogs.com/lizhitai/p/4471952.html 工厂模式是一个在软件开发中用来创建对象的设计模式. 工厂模式包涵一个超类.这个超类提供一个抽象化的 ...

  5. wpf企业应用之带选项框的TreeView

    wpf里面实现层次绑定主要使用HierarchicalDataTemplate,这里主要谈一谈带checkbox的treeview,具体效果见 wpf企业级开发中的几种常见业务场景. 先来看一下我的控 ...

  6. BZOJ.2125.最短路(仙人掌 圆方树)

    题目链接 圆方树.做题思路不写了.. 就是当LCA是方点时跳进那个环可以分类讨论一下用树剖而不必须用倍增: 如果v是u的(唯一的那个)重儿子,那么u的DFS序上+1的点即是要找的:否则v会引出一条新的 ...

  7. 【推导】Codeforces Round #472 (rated, Div. 2, based on VK Cup 2018 Round 2) B. Mystical Mosaic

    题意:给你一个棋盘的最终局面. 你的一次操作可以选择一些行和列,将它们的交叉点染黑,不能重复选择某行或者某列.问你是否能经过数次操作之后,达到目标局面. 就枚举所有黑点,如果该点行列都没被标记,就给它 ...

  8. linux下elasticsearch安装教程

    centos 7.5安装 elasticsearch 第一步,安装elasticsearch需要Java8 首先使用 yum list installed | grep java 查看安装的Java版 ...

  9. 使用ViewPager实现android软件使用向导的功能

    现在的大部分android软件,都是使用说明,就是第一次使用该软件时,会出现向导,可以左右滑动,然后就进入应用的主界面了. 先看下效果图: 首先需要一个布局文件,是FlameLayout组成的,里面包 ...

  10. VC/MFC分割字符串(SplitString)返回CStringArray

    引自:http://bbs.csdn.net/topics/60321228 原版: CStringArray* SplitString(CString string, char pattern) { ...