I have to create an Apache tomcat web-server on a Raspberry Pi.
However, I want to install Apache tomcat, java, mysql on an external hard disk and run them from there.
How can do this? Also, which OS is best for it, Raspbian or Arch?
Basically, you should be able to put your stuff on a hdd with Raspbian and Arch also.
There is a very good answer about how to transfer your stuff to an external hdd or usb flash drive for the question How can I use a USB HDD to extend the life of my SD Card?. I'd recommend using this together with an optimization of the use of the sd card, there is also an answer here: How can I extend the life of my SD card?.