Django delavnica je zasebni virtualni Linux strežnik.
Ima lastno IP številko.
Administrator strežnika ima vse pravice za nadzor strežnika in uporabnikov. Strežnik lahko upravlja preko terminala ali s kontrolno ploščo. Uporabniki lahko uporabljajo strežnik v skladu s pravicami, ki jim jih dodeli administrator.
Strežnik je nadgrajen z orodjarno Django, ki temelji na programskem jeziku Python in omogoča razvoj, testiranje in izvajanje spletnih aplikacij in sistemov za upravljanje vsebine.
V Django delavnici je nameščen vzorčni Django projekt z administracijo in aplikacijo. Projekt je izveden po originalnih navodilih, kako napisati prvo Django aplikacijo, ki tudi začetniku dajejo zadostno znanje, da se loti pisanja svoje aplikacije.
Navodila za uporabo
Upravljanje strežnika
Administrator lahko s kontrolno ploščo spreminja nastavitve strežnika ali dodaja funkcionalnosti.
Strežnik je opremljen tako, da za delovanje Django delavnice niso potrebne dodatne namestitve in nastavitve.
Delo na strežniku
S strežnikom se lahko uporabnik poveže s terminalom, SFTP odjemalcem in spletnim brskalnikom.
Terminal
Uporaben je Windows Ukazni poziv.
S terminalom se povežemo s strežnikom preko SSH vrat z ukazom:
ssh uporabniško-ime@IP-strežnika
Vpišemo geslo in nahajamo se na strežniku v domači mapi uporabnika.
Strežnik razume Linux ukaze.
SFTP odjemalec
Uporaben je WinSCP, ki ga lahko brezplačno prenesemo z lokacije:
https://winscp.net/eng/download.php
Po namestitvi se prijavimo:
Uporabnikova domača mapa je:
/home/uporabniško-ime
Ta vsebuje mapo dj-pollls, ki vsebuje mapo vzorčnega projekta mysite, mapo vzorčne aplikacije polls in mapo stunnel, ki vsebuje nastavitve https povezave.
Razvoj in testiranje projekta
V oknu terminala se nahajamo na strežniku v uporabnikovi domači mapi.
Ukaz ls pokaže vsebino domače mape: mapo dj-polls.
Vanjo se premaknemo z ukazom cd dj-polls
Mapa vebuje datoteke:
db.sqlite3 (podatkovna baza projekta)
manage.py (program, ki prebere nastavitve projekta in zažene Django razvojni strežnik)
runserver (Django razvojni strežnik)
in mape:
mysite (projekt)
polls (aplikacija)
stunnel (nastavitve https)
Z ukazom:
stunnel stunnel/dev_https
zaženemo servis, ki omogoča dostop preko https povezave. V datoteki stunnel/dev_https sta zapisani vrati, na katerih tečeta https servis in Django strežnik. Vsak uporabnik ima pripisan svoj par vrat.
Odpremo še eno okno terminala, se prijavimo in se zopet postavimo v mapo dj-pools.
Z ukazom:
HTTPS=1 python manage.py runserver 127.0.0.1:YYYY
(npr: HTTPS=1 python manage.py runserver 127.0.0.1:8012)
zaženemo Django razvojni servis.
Oken terminala ne zapremo. Odpremo brskalnik.
Na naslovu
https://XXX.XXX.XXX.XXX:YYYYY/polls/
(IP-strežnika:VRATA-Django-razvojnega-strežnika)
bomo videli vzorčno aplikacijo,
na naslovu
https://XXX.XXX.XXX.XXX:YYYYY/admin/
pa administracijo aplikacije.
Če strežnik uporablja lastnoročno podpisan certifikat, bo brskalnik vprašal ali zaupamo povezavi. Potrdimo, ker se prijavljamo na lasten strežnik in mu lahko zaupamo.
Vzorčna Django aplikacija
https://XXX.XXX.XXX.XXX:YYYYY/polls/
Django administracija
https://XXX.XXX.XXX.XXX:YYYYY/admin/
V oknu brskalnika testiramo aplikacijo, v oknu terminala pa spremljamo pogovor med brskalnikom in Django strežnikom.
S SFTP odjemalcem WinSCP pišemo in urejamo izvorno kodo projektov.
Ko prenehamo z delom, v Ukaznem pozivu zaustavimo servisa s tipkama Ctrl + c
Ukazni poziv zapustimo s Ctrl + d
Težave?
Če servis https že teče in ga poskusimo na istih vratih ponovno zagnati, vidimo napako. Uporabimo ukaz
netstat -ntlp
Poiščemo vrstico servisa (npr. 0.0.0.0:44312) in pogledamo PID.
Uporabimo ukaz kill -9 PID (npr. kill -9 12570) in ponovno zaženemo servis.
Podobno ravnamo, če imamo težavo z Django strežnikom.
Django delavnica je eden izmed načinov uporabe zasebnega virtualnega strežnika, sicer pa uporabniku dopušča popolno svobodo in prilagoditev lastnim namenom uporabe.