Provvedere alla creazione del progetto tramite comando jmb-start. Il comando accetta come parametro la versione di django desiderata (es. p18 per Django 1.8). È consigliabile optare per l’ultima versione stabile di Django di cui sia stato creato un apposito skeleton.
jmb-start -t p18
Il progetto andrà nominato come il dominio di pertinenza
www.nomeprogetto.it
Si procede alla modifica del file setup.py, nel quale è necessario indicare i required_install.
Si crea un db prostgres con il medesimo nome del progetto
createdb www.nomeprogetto.it
Si crea un file local.py, inserendo i dati del db.
Terminata la fase di creazione è necessario pushare il progetto realizzato sul repository hg.thundersystems.it
hg clone . ssh://dev@hg.thundersystems.it/jmb-siti/nomeprogetto
Il medesimo path andrà aggiunto al file .hg/hgrc alla voce default.
[paths]
default = ssh://dev@hg.thundersystems.it//home/hg/thunder/jmb/jmb.core
Per creare le app usare il comdando jmb-start con paramentro -t japp
jmb-start -t japp nome.app
Terminata la fase di creazione è necessario pushare l’app realizzata sul repository hg.thundersystems.it
hg clone . ssh://dev@hg.thundersystems.it/jmb-siti/jmb/custom/nomeapp
Per inserire l’app nel progetto reigstrarla nel file buildout.cfg, nel file setup.py e nel /web/settings/base.py.
Ogni progetto deve avere un indirizzo email jumbo@nomeprogetto.it, che verrà utilizzato per creare i vari account esterni.
Sul server copiare il codice del sito con mercurial
hg clone . ssh://dev@hg.thundersystems.it/jmb-siti/nomeprogetto
Modificare web/settings/local.py
Creare utente PostgreSQL
su – postgres
createuser -sP nomeuser
Creare database PostgreSQL con il medesimo nome del progetto assegnandogli l’utente precedentemente creato
createdb nomeprogetto -O nomeuser
Inizializzare il progetto con jmb-go con parametro -d (per “deployment”)
jmb-go -d
Creare il file di configurazione di uWsgi
jmb-prepare -cw nomeprogetto
Creare il file di configurazione di Nginx
jmb-prepare -cN nomeprogetto
Modificare il file di configurazione di Nginx, in /etc/nginx/sites-available/ modificando le voci relative all’indirizzo da servire. Sono presenti due sezioni denominate ‘server’: la primo è necessario per il redirect del sito senza il www, la seconda contiene l’indirizzo o gli indirizzi effettivamente serviti. Nella prima sezione modificare le voci server_name e return
server {
listen 80;
server_name nomeprogetto.it;
return 301 http://www.nomeprogetto.it;
}
Nella seconda sezione modificare la voce server_name e selezionare la porta: 80 o 443
server {
[...]
listen 80;
# listen 443 ssl;
server_name nomeprogetto.it;
[...]
Per attivare nginx sul progetto, creare un link simbolico dalla cartella sites-available alla cartella sites-enabled
ln -s www.nomeprogetto.it ../sites-available/
Riavviare il servizio di nginx
service nginx reload
Avviare il server, lanciando da dentro la cartella del progetto, il comando
dj start