Each of these commands will run an ad hoc http server in your current directory. Use this power wisely. **Python 2.x** ```shell $ python -m SimpleHTTPServer 8000 ``` **Python 3.x** ```shell $ python -m http.server 8000 ``` **Ruby** Credit: [Barking Iguana](http://barkingiguana.com/2010/04/11/a-one-line-web-server-in-ruby/) ```shell $ ruby -rwebrick -e'WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd).start' ``` **Perl** Credit: [Anonymous Monk](http://www.perlmonks.org/?node_id=865239) ```shell $ perl -MCPAN -e "install HTTP::Server::Brick" # install dependency $ perl -MHTTP::Server::Brick -e '$s=HTTP::Server::Brick->new(port=>8000); $s->mount("/"=>{path=>"."}); $s->start' ``` **Node.js #1** ```shell $ npm install -g http-server # install dependency $ http-server -p 8000 ``` **Node.js #2** ```shell # Runs in Node.js using node-static. No directory listings. $ npm install -g node-static # install dependency $ static -p 8000 ``` **PHP >= 5.4** Credit: * [/u/prawnsalad](http://www.reddit.com/r/webdev/comments/1fs45z/list_of_ad_hoc_http_server_oneliners/cad9ew3) * [@MattLicense](https://gist.github.com/willurd/5720255#comment-841131) ```shell php -S 127.0.0.1:8000 ``` **Erlang** Credit: [@nivertech](https://gist.github.com/willurd/5720255/#comment-841166) (with the addition of some basic mime types) ```shell erl -s inets -eval 'inets:start(httpd,[{server_name,"NAME"},{document_root, "."},{server_root, "."},{port, 8000},{mime_types,[{"html","text/html"},{"htm","text/html"},{"js","text/javascript"},{"css","text/css"},{"gif","image/gif"},{"jpg","image/jpeg"},{"jpeg","image/jpeg"},{"png","image/png"}]}]).' ```