OpenWrt 19.07: updated apache web server packages incoming

Hi all,

Apache didn't work properly in OpenWrt. Mostly because modules were missing. This has been addressed in OpenWrt trunk. Yesterday these updates were backported to the OpenWrt 19.07 tree. The build bots are almost through compiling the packages for all targets.

There are a few changes, so this topic is meant to highlight them, to avoid confusion.

When the apache package is installed on a target device a short message is displayed with the essentials:

o-------------------------------------------------------------------o
| Apache package changes                                            |
o-------------------------------------------------------------------o
| - The server binary was renamed from httpd to apache2             |
| - A simple init script is installed (/etc/init.d/apache2)         |
| - The server runs as user apache by default now                   |
| - Configuration resides in /etc/apache2 instead of /etc/apache    |
| - Modules are installed to /usr/lib/apache2                       |
o-------------------------------------------------------------=^_^=-o

Here are the updated versions:

  • libapr 1.7.0
  • libaprutil* 1.6.1-2
  • apache* 2.4.41-1

The main apache package now already includes most modules (mod_access_compat, mod_actions, mod_alias etc., 83 in total). And then there are extra packages with more plugins, tools, files and so on:

  • apache-ab
  • apache-error
  • apache-icons
  • apache-mod-deflate
  • apache-mod-http
  • apache-mod-ldap
  • apache-mod-lua
  • apache-mod-md
  • apache-mod-proxy
  • apache-mod-proxy-html
  • apache-mod-session-crypto
  • apache-mod-ssl
  • apache-mod-suexec
  • apache-mod-webdav
  • apache-suexec
  • apache-utils

So depending on the use case more features can be added with these additional packages.

apr-util now also has addon packages with added functionality:

  • libaprutil-crypto-openssl
  • libaprutil-dbd-mysql
  • libaprutil-dbd-odbc
  • libaprutil-dbd-pgsql
  • libaprutil-dbd-sqlite
  • libaprutil-dbm-gdbm
  • libaprutil-ldap

Some of them get pulled in automatically when installing some of the mentioned apache extras.

When installing the main apache package the server should start up and the "It works" page should be served when entering your device's IP into your browser.

If you find any bugs/problems please raise an issue or pull request with the details on GitHub.

Thanks!
Seb

3 Likes

Oh, something else I wanted to mention. The Apache apxs script has been fixed up for use within OpenWrt's buildroot. Adding more modules should be reasonably simple and straightforward now. So if anybody is interested in adding more features via modules that shouldn't be too hard. If you share them with the community (by raising a request for inclusion on GitHub) other users would likely appreciate it. There are quite a few modules outside of the Apache source tree that people like to use (mod_php, mod_security etc.).

2 Likes

nice! and thanks alot for sharing here... will likely test it out soon :slight_smile:
edit: tested@master=ok!