On Nov 22, 9:42 pm, Todd Wilson <[email protected]> wrote: > I teach a course in which I have students developing unrelated Django > projects on servers of their own choice. As we near the end of the > semester, I would like to set up a single server where I can host all > of these student projects together. I will obviously create a new > user, as well as a new mysql account and database, on this server for > each project, and ask the student teams to upload their project files > into the home directories of these accounts. But what else will I > have to do to make this work? > > I suppose I'll have to install the union of all the python libraries > used by the individual projects, but each project will have its own > settings and "local" URL structure, and I'm not sure how all of this > should be coordinated, or what changes I'll have to ask the teams to > make to their own projects to allow this coordination. (The server is > Apache/mod_wsgi.) > > Any recommendations?
You might want to take inspiration from the way Webfaction, one of the main Django hosters, do it. They have a central Apache for each server, but they then also have separate Apache instances for each Django user. The main Apache proxies to the individual user instances. Then the users can configure and restart their own Apaches as necessary, without disturbing everyone else on the server. Additionally, the central instance takes care of serving static assets. As regards libraries, I would encourage you to get your students to use virtualenv. They can then create a requirements.txt file, which encapsulates all the external libraries they need, and you can install everything for each user with a single command. -- DR. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

