Web Server Overview

To obtain an WebInterface to administer OpenWrt, see webinterface.overview.

Web server Packages in OpenWrt repository

Name Size Depends
→ Depends
Size Optional Packages
→Depends
Size Last Updated Language License Features Description
Apache 404.263 libapr
→libpthread
→librt
libaprutil
→libexpat
→libsqlite3
→libuuid
libpcre
libopenssl
65.004
→29.572
→5.506
53.747
→52.282
→290.080
→6.295
76.843
592.211
C Apache 2.0 The Apache Web Server is a powerful and flexible HTTP/1.1 compliant web server. Originally designed as a replacement for the NCSA HTTP Server, it has grown to be the most popular web server on the Internet. This package contains the Apache web server and utility programs.
.
Take care that you don't include apache at the moment into your image please select it only as module because busybox will override /usr/sbin/httpd. It'll be solved soon. If you need to include this package in the image anyway, remove httpd from busybox (Base system –> Configuration –> Networking Utilities –> httpd). Also you should take care for the initscripts, apache's httpd isn't compatible with the one from busybox, so if you want to use apache for running your WebUI, you'll need to change the parameters in the scripts and configure the rest in /etc/httpd.conf.
axhttpd 7.126 libaxtls 35.157 C ??? http://axtls.sourceforge.net/
Hiawatha 51.017 libpthread 29.572 C GPLv2
Busybox-httpd C GPLv2
Lighttpd 83.230 libopenssl
zlib
libpcre
libpthread
592.211
40.447
76.843
29.572
lighttpd-mod-access
lighttpd-mod-accesslog
lighttpd-mod-alias
lighttpd-mod-auth
lighttpd-mod-cgi
lighttpd-mod-cml
lighttpd-mod-compress
lighttpd-mod-evasive
lighttpd-mod-evhost
lighttpd-mod-expire
lighttpd-mod-extforward
lighttpd-mod-fastcgi
lighttpd-mod-flv-streaming
lighttpd-mod-magnet
lighttpd-mod-proxy
lighttpd-mod-redirect
lighttpd-mod-rewrite
lighttpd-mod-rrdtool
lighttpd-mod-scgi
lighttpd-mod-secdownload
lighttpd-mod-setenv
lighttpd-mod-simple-vhost
lighttpd-mod-ssi
lighttpd-mod-status
lighttpd-mod-trigger-b4-dl
lighttpd-mod-userdir
lighttpd-mod-usertrack
lighttpd-mod-webdav
C rev BSD A flexible and lightweight web server
mini-httpd 21.141 C GPLv3+ mini_httpd is a small HTTP server. Its performance is not great, but for low or medium traffic sites it's quite adequate. It implements all the basic features of an HTTP server, including:
- GET, HEAD, and POST methods
- CGI
- Basic authentication
- Security against ".." filename snooping
- The common MIME types
- Trailing-slash redirection
- index.html, index.htm, index.cgi
- Directory listings
- Multihoming / virtual hosting - Standard logging
- Custom error pages
It can also be configured to do IPv6.
mini-httpd-matrixssl 24.405 libmatrixssl
→libpthread
38.825
→29.572
This package is built with SSL/HTTPS using MatrixSSL
mini-httpd-openssl 23.576 libopenssl
→zlib
592.193
→40.510
This package is built with SSL/HTTPS using OpenSSL
nginx 191.417 libpcre
zlib
76.843
40.447
C 2-clause BSD-like license Nginx is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server
uhttpd 19.782 uhttpd-mod-lua
→liblua
uhttpd-mod-tls
→libcyassl
5.730
→72.950
2.454
→64.864
C Mixed
GPLv2
Apache 2.0
Blocking single threaded HTTP server with TLS, CGI and Lua
https://dev.openwrt.org/browser/trunk/package/uhttpd/
  • LAMP to install an entire LAMP stack

More Pros and Cons

FIXME whoever wants to, can replace the description with these points:
  • lighttpd - no support for .htaccess
  • apache - big memory hog
  • nginx - no project bug tracking system
  • uhttpd - limited to a single PHP process

Differences

Which WebServer shall I choose? Differences may be:

  • the version of the Hypertext Transfer Protocol supported, e.g. Hiawatha documents its features nicely
  • resource usage (memory, CPU time or storage)
  • scalability
  • the availability of a certain needed module or plugin

Note that these articles may never be completed. This page shall not be a list of WebServer software, that you can find in the Wikipedia:

You can obtain an incomplete list of packages related to the HTTP by typing opkg list | awk '/http/ {print $0}'

Stuff

Back to top

doc/howto/http.overview.txt · Last modified: 2012/06/01 23:07 by pnaulls