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.

1

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.