Django auf Bluehost
Dieses Jahr habe ich die Domain juliobs.com und ein Hosting bei bluehost.com gekauft. Bisher liegt dort nur eine Kopie meiner alten, „from scratch“ in PHP gebauten Seite und dieser Blog. Endlich sind Ferien – Zeit, alles neu zu machen.
Ich plane eine professionellere, wartbare Website – gute Gründe für ein CMS oder Framework. Ich habe schon mit Joomla gearbeitet, möchte jetzt aber etwas „Pythonisches“…
Genau: Django! Ich wollte mich schon länger damit beschäftigen und verknüpfe das mit meinem Python‑Lernen.
Ein Problem: Bluehost unterstützt Django offiziell nicht; es gibt keinen simplescripts‑Installer und auf dem Server ist Python 2.4, empfohlen ist mindestens 2.5.
Hier zeige ich Schritt für Schritt, wie man Django dennoch auf Bluehost installiert.
Python 2.7 installieren
Support kontaktieren und SSH‑Zugang freischalten lassen.
Per SSH einloggen und Python 2.7.3 herunterladen:
ssh juliobs.com wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tgz tar xvfz Python-2.7.3.tgzBauen und mit Wide‑Unicode installieren:
cd Python-2.7.3 ./configure --prefix="$HOME" --enable-unicode=ucs4 make make installTest:
~/bin/python~/.bashrcanpassen (Reihenfolge wichtig):export PATH=$HOME/bin:$PATH.bashrcladen und prüfen, dasspythondie neue Version ist:source .bashrc pythonInstallationsdateien entfernen:
rm -r Python-2.7.3.tgz Python-2.7.3/
Django installieren
Es gibt verschiedene Wege. Versionskontrolle ist bequem (spätere Updates via
git pull/svn update). Dermasterist jedoch Teststand – für produktive Sites nicht empfohlen.Empfehlung: git (Django‑Entwicklung ist auf GitHub umgezogen). Alternativen: svn und mercurial (auf Bluehost nicht vorinstalliert).
setuptools aktualisieren und pip installieren:
wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg sh setuptools-0.6c11-py2.7.egg rm setuptools-0.6c11-py2.7.egg easy_install pipDjango‑Modul installieren – am einfachsten via pip vom GitHub‑Repo (spart PATH‑Anpassungen):
pip install git+https://github.com/django/django.gitAlternativen:
pip install -e ~/django/(spätergit pull).pthin site‑packagessetup.py install --user
~/.bashrcerneut anpassen:export PATH=$HOME/bin:$HOME/.local/bin:$PATHImport‑Test:
python -c 'import django, sys; print(django.VERSION); print(django.get_version())'Für FastCGI Flup installieren:
pip install flup
Projekt anlegen
Projektordner außerhalb von
~/public_htmlerstellen und Projekt erzeugen:mkdir django_projects; cd django_projects django-admin.py startproject juliobssettings.pyDB‑Konfiguration anpassen. Für Tests gehtsqlite3, empfohlen ist PostgreSQL (pip install psycopg2).Tabellen anlegen:
python manage.py syncdb~/public_html/django.fcgianlegen und ausführbar machen; Beispiel im Originalpost beibehalten..htaccesskonfigurieren (je nach Deployment‑Pfad, Beispiele im Original enthalten).
Weitere Django‑Einrichtung: The Django Book.
Django + Apache + mod_wsgi (lokal)
Kurzfassung der im Original beschriebenen Schritte:
- Django via pip aus git installieren
mod_wsgiinstallierenwsgi.pyPfade setzen undDJANGO_SETTINGS_MODULEexportieren- Apache
httpd.confanpassen (WSGIScriptAlias, WSGIPythonPath, Directory/Files, Alias media) - Test unter http://localhost/django
Versionskontrolle/Deployment
Repo (GitHub) nutzen oder als Alternative rsync verwenden (Beispiel im Original).
Hinweise/Probleme: Locale für createsuperuser setzen; auf Arch mod_wsgi2 für Python 2 nutzen.
Links
- https://docs.djangoproject.com/en/dev/howto/deployment/fastcgi/
- http://alextreppass.co.uk/getting-django-working-on-bluehost
- http://blog.ruedaminute.com/2011/01/2011-installation-instructions-for-django-on-bluehost/
- http://www.techgeekguy.com/2011/01/how-to-install-python-svn-django-osqa-web-hosting-server-hostmonster-dreamhost-bluehost-godaddy-hostgator/
- https://my.bluehost.com/cgi/help/000585