darkhttpd/trunk
Emil Mikulic 27a35821a1 wwwroot = strdup(argv[1]) so we don't end up stripping the only existing
slash out of the commandline shown by ps(1).  And free it on shutdown.
2013-04-28 19:44:12 +10:00
..
darkhttpd.c wwwroot = strdup(argv[1]) so we don't end up stripping the only existing 2013-04-28 19:44:12 +10:00
Makefile User specifies platform, like mpg123. 2013-04-28 19:44:12 +10:00
README . Tell people to use Makefile for building. 2013-04-28 19:44:12 +10:00

darkhttpd
=========

Compiling
---------

Run make and follow the prompts:
	$ make



Running
-------

Serve /var/www/htdocs on the default port (port 80):
	$ ./darkhttpd /var/www/htdocs

Serve ~/public_html on port 8081:
	$ ./darkhttpd ~/public_html --port 8081

Only bind to one IP address (useful on multi-homed systems):
	$ ./darkhttpd ~/public_html --addr 192.168.0.1

Serve at most 4 simultaneous connections:
	$ ./darkhttpd ~/public_html --maxconn 4

Log accesses to a file:
	$ ./darkhttpd ~/public_html --log access.log

Chroot for extra security (you usually have to be root to do this):
	$ ./darkhttpd /var/www/htdocs --chroot

Use default.htm instead of index.html:
	$ ./darkhttpd /var/www/htdocs --index default.htm

Add mimetypes - in this case, serve .dat files as text/plain:
	$ cat extramime
	# this is a comment
	text/plain	dat
	$ ./darkhttpd /var/www/htdocs --mimetypes extramime

Drop privileges:
	$ ./darkhttpd /var/www/htdocs --uid www --gid www

Use acceptfilter (FreeBSD only):
	$ kldload accf_http
	$ ./darkhttpd /var/www/htdocs --accf

Commandline options can be combined:
	$ ./darkhttpd ~/public_html --port 8080 --addr 127.0.0.1