mohws: Modular Haskell Web Server

[ bsd3, library, program, web ] [ Propose Tags ]
Versions [RSS] 0.1, 0.2, 0.2.0.1, 0.2.1, 0.2.1.1, 0.2.1.2, 0.2.1.3, 0.2.1.4, 0.2.1.5, 0.2.1.6, 0.2.1.7, 0.2.1.8, 0.2.1.9
Dependencies base (>=4.3 && <5), bytestring (>=0.9 && <0.11), containers (>=0.1 && <0.6), data-accessor (>=0.2 && <0.3), directory (>=1.0 && <1.3), explicit-exception (>=0.1 && <0.2), filepath (>=1.1 && <1.5), ghc (>=6.8 && <6.9), html (>=1.0 && <1.1), HTTP (>=4000.0.4 && <4001), network (>=2.6 && <2.7), network-uri (>=2.6 && <2.7), old-locale (>=1.0 && <1.1), old-time (>=1.0 && <1.2), parsec (>=2.1 && <3.2), process (>=1.0 && <1.5), transformers (>=0.2 && <0.6), unix (>=2.3 && <2.8), utility-ht (>=0.0.3 && <0.1) [details]
License BSD-3-Clause
Copyright Simon Marlow, Bjorn Bringert
Author Simon Marlow, Bjorn Bringert <bjorn@bringert.net>
Maintainer Henning Thielemann <webserver@henning-thielemann.de>
Category Web
Home page http://code.haskell.org/mohws/
Source repo head: darcs get http://code.haskell.org/mohws/
this: darcs get http://code.haskell.org/mohws/ --tag 0.2.1.5
Uploaded by HenningThielemann at 2016-07-27T18:41:28Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables hws-dyn, hws
Downloads 7966 total (29 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2016-11-22 [all 1 reports]

Readme for mohws-0.2.1.5

[back to package description]
This is a web server written in Haskell, based on Simon Marlow's original
Haskell Web Server. It has a module system and can run CGI programs. 

The original program is described in:
Developing a high-performance web server in Concurrent Haskell,
Simon Marlow, 
Journal of Functional Programming, 12(4+5):359--374, July 2002
[http://www.haskell.org/~simonmar/papers/web-server-jfp.pdf]

The original version available from:
[http://cvs.haskell.org/cgi-bin/cvsweb.cgi/fptools/hws/]

A more conservative update of the original HWS is available from:
[http://darcs.haskell.org/hws/]


=== Build ===

You can use either Cabal or make to build HWS.

==== With Cabal ====

{{{pre:
$ runghc Setup.hs configure
$ runghc Setup.hs build
}}}

This produces the binary ``dist/build/hws/hws``.

==== With make ====

{{{pre:
$ make
}}}

This produces the binary ``./hws``.


=== Configure ===

There is a config file example in ``conf/httpd.conf``. The server should run with the 
example settings, but it would not be very usable. See the example file
for more information about the configuration parameters.


=== Run ===

{{{pre:
usage: hws [option...]
  -f filename   --config=filename        default: "conf/httpd.conf"
  -d directory  --server-root=directory  default: "."
}}}

The server root is the directory which hws uses as base for the
configuration and log file paths.

Files are served from the DocumentRoot.


==== CGI ====

Files which have the filename suffix ``.cgi`` are run as CGI programs.


==== Debug ====

Look in the error log file (``log/error.log`` by default) for any error messages.
If this does not help, try setting LogLevel to debug (in the config file).