RkBlog

Hardware, programming and astronomy tutorials and reviews.

Hosting Django i Pylons na itl.pl

Przewodnik jak uruchomić aplikacje django na hostingu itl.pl wykorzystując mod_fcgid i dostęp do konta shell

Firma Intertele S.A świadczy hosting pod marką ITL oferując serwery wirtualne i inne usługi hostingowe. Podstawowe funkcjonalności to:
nieograniczona ilość domen, obsługa skryptów PHP4/5, Perl, Python, FastCGI, MySQL 4/5, PostgreSQL, cron, shell, własna subdomena ITL.pl, zarządzanie strefami DNS hostowanych domen, dostęp do logów serwera WWW, rozbudowane statystyki odwiedzalności, profesjonalne listy dyskusyjne
Obsługa skryptów Pythona (czy perla) odbywa się poprzez mod_fcgid Apache. Aplikacje Pylons czy Django współpracują z tym modułem i bez problemów można hostować projekty napisane w tych frameworkach na serwerach itl.pl.

[toc]

Wprowadzenie

Gdy dostaniemy już wszystkie dane do naszego serwera powinniśmy wejść do panelu admina zarządzającego serwerami wirtualnymi i aktywować konto shell (dla zestawów Active i Buisness) - zakładka Konto SHELL. W przypadku problemów z uruchomieniem aplikacji pomocne mogą być Logi serwera WWW - w logach błędów możemy znaleźć informacje o problemie.
itl1


Django

Wejdź na serwer poprzez ssh (konto shell) i przejdź do katalogu htdocs i stwórz plik django.fcgi o kodzie:
#!/usr/bin/python
import sys, os

# Add a custom Python path.
sys.path.insert(0, "/www/virtual/DOMENA.itl.pl/")

# Set the DJANGO_SETTINGS_MODULE environment variable.
os.environ['DJANGO_SETTINGS_MODULE'] = "NAZWA_PROJEKTU.settings"

from django.core.servers.fastcgi import runfastcgi
runfastcgi(["method=threaded"])
Gdzie DOMENA to domena/login naszego konta na itl.pl, który zarazem oznacza katalog użytkownika. NAZWA_PROJEKTU to nazwa katalogu z aplikację Django znajdującego się w naszym katalogu użytkownika (/www/virtual/DOMENA.itl.pl/). Nadaj poprawne uprawnienia plikowi fcgi:
chmod a+x django.fcgi

W katalogu htdocs dodaj plik .htaccess:
AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /django.fcgi/$1 [QSA,L]


Pliki Statyczne

By pliki statyczne były poprawnie wyświetlane musimy stworzyć odnośnik symboliczny w katalogu htdocs:
ln -sf /www/virtual/DOMENA.itl.pl/PROJEKT/site_media /www/virtual/DOMENA.itl.pl/htdocs/site_media
Gdzie PROJEKT/site_media zakłada że pliki statyczne przechowujemy w katalogu site_media wewnątrz katalogu projektu. Jeżeli katalog ma inną nazwę to odpowiednio modyfikujemy polecenie. Dla htdocs/site_media "site_media" oznacza nazwę katalogu pod jaką pliki statyczne mają być widoczne w aplikacji (szablony) Django:
<img src="/site_media/plik.png" alt="" /> 
Dla plików statycznych panelu admina kopiujemy je do naszego katalogu htdcos:
cp -r /usr/lib/python2.4/site-packages/django/contrib/admin/media /www/virtual/DOMENA.itl.pl/htdocs/media
Gotowe, aplikacja powinna już działać (pod adresem http://DOMENA.itl.pl/ jeżeli nie używamy własnej domeny).

Rozwiązywanie problemów


Aplikacja nie działa i nie wiem dlaczego:

Pylons

W przygotowaniu :nice:

Kontakt z Adminem Serwera

RkBlog

Django, 14 July 2008,

Comment article