2010-01-16 6 views
1

Est-il possible de développer des applications Web multi-client CRUD (avec Django, Ruby on Rails, etc.) sur un serveur sur lequel vous n'avez pas d'accès root?Utilisez Django (ou Ruby on Rails) sur le serveur sans accès root?

Nos machines à l'école, sur lesquelles j'ai un compte courant, exécutent un serveur web, et je peux publier des pages HTML et des scripts CGI. Est-ce facile/difficile/impossible serait-il d'installer Django avec le support de base de données là dans mon répertoire personnel et obtenir un exemple simple en cours d'exécution? Pour commencer, j'imagine quelque chose où un utilisateur peut créer un compte, se connecter et laisser un message.

Nous n'avons pas mysql etc, donc je devrais l'installer dans mon répertoire personnel, si possible.

Des conseils ou de l'aide seraient appréciés.

Répondre

3

Il est possible d'installer et d'exécuter Django sans accès root, même si c'est loin d'être simple.

Je doute que vous seriez en mesure d'exécuter MySQL. Cependant, sqlite fonctionnerait bien, car cela nécessite simplement l'accès à un fichier, qui peut facilement se trouver dans votre répertoire personnel. En supposant que vous utilisez Python 2.5+, les bibliothèques sqlite sont incluses.

Puisque vous pouvez exécuter des scripts CGI, vous devriez pouvoir exécuter Django via FastCGI. Voir the FastCGI deployment documentation pour plus de détails. En termes de Django lui-même, il doit juste être dans votre PYTHONPATH, et cela peut être défini dans les scripts FCGI qui se connectent à partir d'Apache.

+0

Je dirais que si vous ne pouvez pas exécuter FastCGI, vous êtes plutôt foutu. Il y a un impact majeur sur les performances lors de l'exécution de Python en mode CGI normal (pas de mod_python ou FastCGI), et plus le bloc de code est grand, plus le hit est grand. Traduction: exécuter Django comme CGI normal perd beaucoup de temps. –

+0

Euh oh, il ne semble pas que je puisse exécuter FastCGI. Dans ce cas, je vais probablement utiliser Google Apps Engine. – Frank

0

Vous pouvez installer des logiciels Ruby comme Rails ou Sinatra sans accès root, et comme le dit Daniel, vous pouvez utiliser des bases de données SQLite si aucune base de données MySQL n'est disponible.

Je pense que le meilleur conseil, cependant, est de parler à vos administrateurs, ou d'utiliser un service d'hébergement externe. Il semble que le système dont vous parlez est destiné à des sites Web essentiellement statiques. Si vous placez une barre d'outils dans une infrastructure Web et une base de données, vous utiliserez au moins plus que votre juste part de ressources et vous risquez de violer vos conditions d'utilisation en introduisant un logiciel non autorisé.

Heroku fournir un hébergement gratuit pour les petits sites Rails, et je crois que certaines personnes utilisent cela comme un moyen facile de commencer.

0

Comme il s'agit d'un environnement scolaire, avez-vous vraiment besoin d'un serveur complet? Je veux dire, ne pourriez-vous pas vous débrouiller sur le serveur de développement (./manage runserver) et vous épargner un tas de problèmes de configuration? Je n'ai aucune idée de votre scénario, alors si vous avez juste besoin de quelque chose pendant que vous êtes connecté, j'imagine que ce serait bien.

Base de données, SQLite devrait être plus que suffisant, mais il a diverses dépendances qui peuvent être pénibles (bien que, comme Django, pas impossible) à satisfaire.

Questions connexes