.. _quickstart: ============================= Quickstart ============================= Progetti ======================== 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. .. code-block:: python jmb-start -t p18 Il progetto andrà nominato come il dominio di pertinenza .. code-block:: python 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 .. code-block:: bash 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 .. code-block:: python hg clone . ssh://dev@hg.thundersystems.it/jmb-siti/nomeprogetto Il medesimo path andrà aggiunto al file .hg/hgrc alla voce default. .. code-block:: python [paths] default = ssh://dev@hg.thundersystems.it//home/hg/thunder/jmb/jmb.core Applicazioni ======================== Per creare le app usare il comdando jmb-start con paramentro -t japp .. code-block:: python jmb-start -t japp nome.app Terminata la fase di creazione è necessario pushare l'app realizzata sul repository hg.thundersystems.it .. code-block:: python 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. Indirizzo email Jumbo ======================== Ogni progetto deve avere un indirizzo email jumbo@nomeprogetto.it, che verrà utilizzato per creare i vari account esterni. Deploy ======================== Sul server copiare il codice del sito con mercurial .. code-block:: python hg clone . ssh://dev@hg.thundersystems.it/jmb-siti/nomeprogetto Modificare web/settings/local.py Creare utente PostgreSQL .. code-block:: python su – postgres createuser -sP nomeuser Creare database PostgreSQL con il medesimo nome del progetto assegnandogli l'utente precedentemente creato .. code-block:: python createdb nomeprogetto -O nomeuser Inizializzare il progetto con jmb-go con parametro -d (per "deployment") .. code-block:: python jmb-go -d Creare il file di configurazione di uWsgi .. code-block:: python jmb-prepare -cw nomeprogetto Creare il file di configurazione di Nginx .. code-block:: python 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 .. code-block:: python 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 .. code-block:: python 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 .. code-block:: python ln -s www.nomeprogetto.it ../sites-available/ Riavviare il servizio di nginx .. code-block:: python service nginx reload Avviare il server, lanciando da dentro la cartella del progetto, il comando .. code-block:: python dj start