Table of Contents
Why webapps is better than apache_config_* macros
1. Unified structure. All configs are in /etc/webapps/$webapp
Admin is not confused, where's the config for app foo.
2. Simplier
No fancy rpm macro options, due layout being unified in front.
3. Can have multiple webapps configuration per .spec
The limitation is because symlink used is %{name} which you can't override in spec. This is not hard to overcome, but it still exists.
In other words You can easily manage multiple instances of a given webapp, by simply adding another link to.
4. No confusing numbers
Using config load order is not needed anymore. Order in which webapps are loaded does not matter.
5. there's cli
There's a cli program called 'webapp' which you can use to view add and remove webapp links.
6. Separate apache configs
Apache 1.3 and apache 2.x can have different configs, so you can create different setup for different vhosts. This is not actually a limitation.
7. Free for other webservers
It is open to add any webserver. lighttpd has hooks but nobody has made any config.
8. You can have "modules"
You can have a webapp to have subwebapp. Say horde is the main package, and horde/imp is horde module. Then the webapp name for horde-imp is “horde/imp”. The way the config symlinks are created module webapp configs are loaded before master. This allows you define /horde alias in main application and /horde/imp in sub application. It's transparent, you don't even have to think about that.
# ls -log /etc/httpd/webapps.d/drupal*.conf lrwxrwxrwx /etc/httpd/webapps.d/drupal-tinymce.conf -> ../../../etc/webapps/drupal/tinymce/httpd.conf lrwxrwxrwx /etc/httpd/webapps.d/drupal.conf -> ../../../etc/webapps/drupal/httpd.conf
9. Webapps do not have to be rpm packages
In case you have application that's not rpm package, you can achieve similiar effect. As the program to register is available outside rpm macros.