From Alessandro's Wiki
Initially, this page was entirely copied from: http://www.elvanor.net/wiki/Webapp-config ( A guy like me I suppose)
- webapp-config is a Gentoo only tool to allow a single web applications to be correctly installed into multiple virtual hosts. This is nice as it allows the code to remain on a standard, Portage managed place while you can easily deploy your web applications into production.
- Currently the way it works is by creating a directory corresponding to the application inside the specified virtual host. By default it will be installed in /var/www/<virtual_host_name>/htdocs; you can configure that by editing /etc/vhosts/webapp-config. I use the following convention:
- In /etc/vhosts/webapp-config, you need to have a vhost_hostname variable that can conform to a fully qualified domain, eg localhost won't work. Put something like "elvanor.net" there.
- The only problem is that webapp-config always creates icons, error, and cgi-bin directories in the virtual host directory if they are not there. I would prefer that not to happen.
<Information Options>: --pretend Output information about what webapp-config would do, then quit without actually doing it -V, --verbose Output even more information than normal --list-servers, --ls List all web servers currently supported by webapp- config --list-installs, --li List all current virtual installs for <application>. Use * for the package name and/or version number to list more thanone package / version of a package. Remember to include the * in single quotes to stop your shell from expanding it first!! --list-unused-installs, --lui List all master images which currently are not used. Use * for the package name and/or version number to list more than one package / version of a package. Remember to include the * in single quotes to stop your shell from expanding it first!! --show-installed, --si Show what application is installed in DIR --show-postinst, --spi Show the post-installation instructions for <application>. Very handy if you've lost the instructions when they were shown to you ;-) --show-postupgrade, --spu --query
- Typical installation:
webapp-config -I -h shoopz.com -d wordpress wordpress 2.7.1
- To check what are the current installations of a given application (you can optionally specify a version):
webapp-config --li wordpress 2.8
- To check unused installs (very useful):
webapp-config --lui wordpress
- When you need to update a web application, use the -U switch, eg:
webapp-config -U -h elvanor.net -d phpmyadmin phpmyadmin 2.11.5
- If you use a directory different that the application name, don't forget to change that. However note that by convention that should not happen.
webapp-config -U -h www.elvanor.net -d www/mediawiki mediawiki 1.13.3
- Updating a web-application can sometimes remove the configuration files! Be sure to systematically check (this is the case with Wordpress, although it seems to be a bug). Also, any changes to the DB must usually be done manually.
- emerge --depclean will remove *installed* versions of a webapp package if a newer one has been already merged! Thus update all your web-applications before running emerge --depclean.
- Running webapp-cleaner should also be done before emerge --depclean.
- The application webapp-cleaner can be used to remove old versions of an webapp package.
- Manual removal of a web-app (there may be some leftover files):
webapp-config -C -h shoopz.net -d bugzilla bugzilla 3.0.5