5

I need an http server to serve up static content on localhost.

It needs to meet the following conditions:

  • easy to install, minimal configuration, just fire up from a directory and that's it
  • supports OSX
  • small memory footprint
4
  • 1
    Doesn't OSX have Apache built-in?
    – Brad
    Jul 26, 2011 at 18:51
  • Maybe, I didn't check. But I wouldn't call it lightweight and very easy to configure
    – Ovesh
    Jul 26, 2011 at 18:52
  • It can certainly be lightweight. Easy to configure is another matter, but if it is already running, your configuration is done. macdevcenter.com/pub/a/mac/2001/12/07/apache.html
    – Brad
    Jul 26, 2011 at 18:53
  • fair enough. That was easy. If you want to write up a small answer I'll give you the credit.
    – Ovesh
    Jul 26, 2011 at 19:10

4 Answers 4

2

Apache is built into OSX an can easily be enabled.

See http://macdevcenter.com/pub/a/mac/2001/12/07/apache.html for some basic instructions.

2
  • I didn't read it through. All I did was go to "Sharing" in System Preferences, enable "Web Sharing", and I'm using my local ~/Sites as the directory. Pretty simple.
    – Ovesh
    Jul 26, 2011 at 19:39
  • It'd be great to provide the instructions here rather than just linking somewhere! But as @Ovesh said, it can be condensed quite easily.
    – slhck
    Jul 26, 2011 at 21:35
12

You can use Python to run a simple http server. From the directory that you want to serve, run the following...

python -m SimpleHTTPServer

See this Linux Jornal article for more info.

2
2

You can use MAMP.

It comes with Apache, PHP and MySQL, and sets it all up with a few clicks. Note that you should never use MAMP in a production environment; PHP & MySQL settings are optimal for development but there are some security vulnerabilities.

2

A more current approach using Python3 (e.g. listening on localhost port 8080 and serving files form current directory):

python3 -m http.server --bind localhost 8080

Note: If you omit the --bind argument it defaults to listen on ALL interfaces which is a security risk as anyone connected to your network can request files.

Or it's also possible using php:

php -S localhost:8080

Python (and php) are not longer installed as part of the OS beyond MacOS 12.3, but they can be installed in a variety of other ways e.g using brew).

See this question for approaches using netcat/bash.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .