Je n'ai jamais déployé de site Django auparavant. Je cherche actuellement à l'installer dans mon compte GoDaddy Deluxe. Quelqu'un at-il une documentation sur la manière d’installer Python et Django sur GoDaddy?
Pour référence future, je suppose que vous êtes passé à autre chose ...
Il est possible d'utiliser Django sur un hébergement GoDaddy, en utilisant VirtualEnv comme ils le recommandent. Python 2.7 est installé en mode natif et fonctionne correctement, bien que ce ne soit pas la version par défaut à exécuter.
Cela fonctionne pour moi sur un compte deluxe, bien que je recommande tout de même à quiconque souhaite utiliser Django de rechercher un hébergement alternatif. GoDaddy n’est pas très sympathique et je ne suis pas sûr que tout continuera à fonctionner.
MODIFIER
J'ai réalisé qu'il pouvait aussi y avoir une certaine confusion dans la manière de faire fonctionner Django normalement dans Apache, sans les options habituelles mod_ *. C'était mon approche:
Créez le script suivant 'Django_cgi.py' dans ~/code (Notez le chemin du python!):
#!~/your_new_env/bin/python
import sys, os
# Add a custom Python path for your project
sys.path.insert(0, "/must/be/full/path/to/code/yoursite")
# Set the Django_SETTINGS_MODULE environment variable.
# This should match the name for the project you added to the path above
os.environ['Django_SETTINGS_MODULE'] = 'yoursite.settings'
from Django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")
Dans ~/html, créez ou éditez le fichier .htaccess avec une variante du suivant:
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/mysite.cgi
RewriteRule ^(.*)$ /mysite.cgi [QSA,L,PT]
Enfin, créez ~/html/mysite.cgi comme suit:
#!/bin/sh
~/your_new_env/bin/python ~/code/Django_cgi.py 2>&1
C’est trop simplifié, mais fonctionnel, et chaque demande de n'importe quelle page ou fichier devrait être transmise à Django.
La raison de cette contournement est que GoDaddy fournit uniquement un support CGI natif pour les anciennes versions de Python que nous ne pouvons pas utiliser. Nous devons donc utiliser notre environnement virtuel. Bien que nous ne puissions pas utiliser cela directement dans les scripts CGI, nous pouvons heureusement exécuter un script Shell et l'invoquer manuellement. La règle mod_rewrite garantit simplement que tout le trafic passe par Django.
Références
Django avec FastCGI
Début des didacticiels Django
VirtualEnv
Je ne connais pas spécifiquement la configuration de GoDaddy, mais en général, vous ne pouvez pas installer Django sur un hébergement partagé à moins que ce ne soit spécifiquement pris en charge (à la Dreamhost). Donc, à moins que GoDaddy ne mentionne spécifiquement Django (ou éventuellement mod_wsgi ou quelque chose) dans sa documentation, ce qui est peu probable, vous pouvez supposer que cela n'est pas pris en charge.
Théoriquement, vous pouvez installer Python et exécuter Django à partir de n’importe où vous avez un accès Shell et des autorisations suffisantes, mais vous ne serez pas en mesure de servir votre site Django dans le cadre de votre hébergement partagé (par exemple, sur le port 80 et en répondant au nom d’hôte sélectionné) parce que vous n'avez pas accès à la configuration du serveur Web.
Vous aurez besoin soit d'un VPS (que GoDaddy leur propose, mais ce n'est pas leur activité principale; Linode et Rackspace sont d'autres options), soit d'un hôte partagé prenant spécifiquement en charge Django (par exemple, Dreamhost), ou d'un hôte d'application (Heroku ou Google App Engine). Je recommande personnellement Heroku, surtout si vous n’êtes pas sûr de pouvoir configurer et maintenir votre propre serveur Web.
Selon Godaddy, ils peuvent utiliser Python 2.7.2, et vous pouvez programmer si vous avez une édition deluxe de leur hébergement Web. Si j'ai bien compris, python fonctionnera au moment où vous tapez l'emplacement du répertoire de votre installation python sur la première ligne:
#!/usr/local/bin/python2.7
Mais, quand j'ai essayé de le tester, cela ne fonctionnait pas. J'ai activé SSH sur mon compte. J'ai essayé de me connecter à PuTTY, et ça marche si je le lance. Mais le problème est que le site ne s'affiche tout simplement pas.
J'ai essayé de vérifier quelle était la version de Python. J'ai découvert qu'il s'agissait de Python 2.4.3. Alors, j'ai essayé de localiser leur répertoire. J'ai trouvé que ça peut être:
#!/usr/local/bin/python2.4
Ou
#!/usr/local/bin/python2.4/site.py - (not sure)
J'ai essayé tous les répertoires et changé toutes les syntaxes possibles. Rien ne fonctionne.
Voici l'article sur la prise en charge de Python: http://support.godaddy.com/help/article/7254/can-i-use-python-272-with-my-hosting-account?locale= en
Donc, l'une ou l'autre des réponses peut être correcte, selon mon observation:
Mais avant de tirer les conclusions, j’ai demandé le changement de mon serveur Goaddy Python en 2.7. Je mettrai à jour ce post une fois que j'ai découvert.
Mise à jour: Godaddy affirme que vous pourrez peut-être exécuter Python sur un serveur privé virtuel ou un serveur dédié, ce qui est possible, à mon avis, puisque vous utilisez votre propre ordinateur. Techniquement, vous pouvez installer n'importe quoi sur votre propre ordinateur. Donc, si Python fonctionne, Django peut fonctionner, mais je doute qu'ils sachent le supporter.
D'après d'autres réponses, il semble que l'hébergement mutualisé GoDaddy peut ne pas prendre en charge Django. En outre, la recherche sur "Django" dans le formulaire de recherche ne renvoie rien. Si tel est le cas, je pense que votre meilleur choix serait d’utiliser une société d’hébergement réputée, compatible avec Django, répertoriée ici et ici .
Voici comment je l'ai fait.
Voir le readme ici: https://github.com/lawrencecreates/RHEL5-chroot/blob/master/README J'ai également modifié le code de cet outil et c'est ce que j'ai utilisé.