Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| docs:guide-user:services:webserver:http.uhttpd [2018/03/04 08:22] – ↷ Links adapted because of a move operation | docs:guide-user:services:webserver:http.uhttpd [2023/04/28 03:57] – Fixed lua interpreter hyperlink astro | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== uHTTPd webserver ====== | ====== uHTTPd webserver ====== | ||
| - | **uHTTPd** is a web server written | + | **uHTTPd |
| + | It is a web server written | ||
| + | suitable for lightweight tasks commonly used with embedded devices and | ||
| + | proper integration with OpenWrt' | ||
| + | In addition, it provides all the functionality expected of present day web servers. | ||
| + | |||
| + | Its source code is available in the following git repository: | ||
| + | |||
| + | * https:// | ||
| ===== Features ===== | ===== Features ===== | ||
| - | Built as a general purpose HTTP daemon, uHTTPd is not merely intended for running the OpenWrt' | + | Built as a general purpose HTTP daemon, uHTTPd is not merely intended for running the OpenWrt' |
| + | Included is support for TLS (SSL), CGI and Lua. | ||
| + | It is single threaded but supports multiple instances (i.e. multiple listen ports, each with its own document root and other features). | ||
| - | uHTTPd is built by default (since r35295 in Jan2013) to support the usage of TLS (HTTPS) via a libustream-* SSL library (on top of an actual SSL library: polarssl, mbedtls, cyalssl, openssl). Previously the package '' | + | uHTTPd is built by default (since r35295 in Jan2013) to support the usage of TLS (HTTPS) via a libustream-* SSL library (on top of an actual SSL library: |
| + | Previously the package '' | ||
| + | In Dec2016 luci-ssl | ||
| + | Since Aug2020 luci-ssl switched to WolfSSL installing libustream-wolfssl by default. | ||
| - | In contrast to many other web servers, it also supports [[docs: | + | In contrast to many other web servers, it also supports [[docs: |
| + | Note that LuCI, which depends on Lua, is not configured in this manner by default. | ||
| ===== Installation ===== | ===== Installation ===== | ||
| - | uHTTPd is the standard HTTP server for OpenWrt, but it is not included by default in the system image for the main OpenWrt releases. The package name is '' | + | uHTTPd is the standard HTTP server for OpenWrt, but it is not included by default in the system image for the main OpenWrt releases. |
| - | + | The package name is '' | |
| - | opkg update | + | Installation can be done with: |
| - | opkg install uhttpd | + | |
| - | However, it is usually installed automatically as a dependency for the [[docs: | + | <code bash> |
| + | opkg update | ||
| + | opkg install uhttpd | ||
| + | </ | ||
| + | |||
| + | However, it is usually installed automatically as a dependency for the [[docs: | ||
| + | Installing a web interface for administering an OpenWrt device therefore only consists of installing the web interface, in this case [[docs: | ||
| + | See the [[docs: | ||
| + | Of course, you can use a web interface with [[docs:guide-user: | ||
| ===== Configuration ===== | ===== Configuration ===== | ||
| - | Configuration of uHTTPd integrates nicely with OpenWrt' | + | Configuration of uHTTPd integrates nicely with OpenWrt' |
| + | The UCI configuration file is ''/ | ||
| + | Since uHTTPd depends on this file directly, there is no second configuration file that gets written by UCI when settings are committed (like is the case with many other applications, | ||
| + | Since uHTTPd is configured as part of the UCI system, refer to [[docs: | ||
| - | uHTTPd also properly provides an init script / | + | uHTTPd also properly provides an init script |
| - | ==== Using the default installation for publishing files. ==== | + | ==== Using the default installation for publishing files ==== |
| - | One could use the default installation for publishing files. A quick example is to disable the redirect to luci scripts. | + | One could use the default installation for publishing files. |
| - | <file> | + | A quick example is to disable the redirect to luci scripts. |
| + | |||
| + | <code bash> | ||
| mv / | mv / | ||
| - | </file> | + | </code> |
| Done this anything is shown as list of file and even symbolic links works. | Done this anything is shown as list of file and even symbolic links works. | ||
| + | |||