I ran into a bunch of problems getting Sonar installed in Tomcat 6 as a war file. It turns out I just didn’t understand the installation process. To install Sonar as a war, you have to download it, unzip it, build the war using a script, and then deploy the war file. During the period where it builds the war file, it links the war back to the directory you are building from. If you move the unzipped directory, the war won’t work.
So unzip the directory somewhere you can keep it, make it owned by Tomcat6, set your configuration file, then create the war and deploy it. You can make configuration changes by coming back to the directory you unzipped, making a change and then restarting Tomcat.
I was deleting or moving the unzipped directory before deploying the war. The errors were odd though because it kept saying that it couldn’t bind to the address because the part was already in use. When trying to use Derby, it kept saying that something was already running on that port. The same thing happened with MySQL. Leaving the unzipped directory in place fixed the problem.