Full-stack frameworks like Rails and Django are clearly the greatest thing since sliced bread. But, they all generally assume that they are the only thing that exists: a particular server will be dedicated to the application, and that no others need to run concurrently.
This is often not the case: you can easily imagine developers wanting separate development environments on the same server, or wanting to install distinct applications on the same server, or students wanting to install their own separate solutions to an assignment on the same server.
This is generally possible, but not obvious. These are some instructions on using a (shared) Apache server to host multiple framework-based applications: