/* page was renamed from Documentation/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.