User Tools

Site Tools


docs:webapps

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.

docs/webapps.txt · Last modified: 2008-08-04 16:44 by grizz

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS PLD Linux Driven by DokuWiki