Istallazione classica¶
The following instructions are for a Ubuntu 18.04 LTS.
Installazione di node.js e Yarn¶
G3W-ADMIN usa il gestore di pacchetti javacript Yarn e Node.js
sudo apt-get install -y nodejs-legacy npm
per l”installazione di Yarn, seguire le istruzioni disponibili qui:
https://yarnpkg.com/en/docs/install#debian-stable
note
If your account is connected to the provider, we”ll try to setup the webhook automatically. If something fails, you can still setup the webhook manually.
Creazione di una virtualenv¶
Le seguenti istruzioni sono basate su Python versione 3.6
Installa python pip
sudo apt-get install python3-pip
ora possiamo installare virtualenvwrapper
sudo pip3 install virtualenvwrapper
Per attivare virtuenvwrapper all”accesso al sistema, aggiungi le seguenti righe al file di configurazione “bashrc” del tuo utente
nano ~/.bashrc
....
export WORKON_HOME=<path_to_virtualenvs_directory>
source /usr/local/bin/virtualenvwrapper.sh
Creazione di Virtualenv¶
Per creare un virtualenv è sufficiente chiamare il comando mkvirtualenv seguito dal nome identificativo per virtualenv
mkvirtualenv g3wsuite
Installazione di G3W-SUITE¶
Il primo passo è installare i pacchetti di librerie di sviluppo per il modulo python da installare con requiriments.txt
sudo apt-get install -y \
libxml2-dev \
libxslt-dev \
postgresql-server-dev-all \
libgdal-dev \
python-dev
dopo è necessario installare il modulo python corretto per la libreria GDAL, controllare la versione e installare il modulo corretto
export CPLUS_INCLUDE_PATH=/usr/include/gdal
export C_INCLUDE_PATH=/usr/include/gdal
pip install GDAL==<installed_version or closest>
Impostiamo il file local_config.py¶
G3W-ADMIN è un”applicazione Django e per funzionare è necessario impostare un file config.py. Per iniziare copiamo il file local_settings.example.py, impostiamo il database e settiamo le altre configurazioni:
cd g3w-admin/g3w-admin/base/settings
cp local_settings_example.py local_settings.py
imposta il nome del database, la media root e il nome della sessione dei cookies:
...
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': '<db_name>',
'USER': '<db_user>',
'PASSWORD': '<db_user_password>',
'HOST': '<db_host>',
'PORT': '<db_port>',
}
}
...
DATASOURCE_PATH = '<static_path_to_gis_data_source>'
...
MEDIA_ROOT = '<path_to_media_root>'
...
SESSION_COOKIE_NAME = '<unique_session_id>'
Con comandi paver¶
G3W-ADMIN ha una serie di comandi paver CLI per amministrare la suite. Dopo aver preparato l”ambiente è sufficiente invocare paver install task
paver install
Avviare G3W-SUITE¶
Per eseguire l”applicazione con paver
paver start
e per stopparla
paver stop
G3W-ADMIN è un”applicazione Django, quindi è possibile eseguire l”applicazione con i comandi standard manage.py di Django
./manage.py runserver
Deploy di G3W-SUITE¶
Come altre applicazioni Django, G3W-SUITE può essere implementato dalle sue funzionalità wsgi. Sul Web se semplice trovare tutorial per deployare un”applicazione Django.
Il modo più semplice è usare Apache2 come WEB server e il suo modulo mod_wsgi.
Alternative solutions are:
Passi per l”installazione manuale¶
L”installazione consigliata è basata sull”utilizzo dello script paver come menzionato sopra, ma nel caso in cui sia necessario personalizzare il processo di installazione, ecco i passaggi di costruzione e configurazione:
Creazione static js code¶
# Install yarn (requires root):
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | \
tee /etc/apt/sources.list.d/yarn.list
apt-get update && sudo apt install -y yarn
# Back to unprivileged user, from the repository directory, run:
yarn --ignore-engines --ignore-scripts --prod
nodejs -e "try { require('fs').symlinkSync(require('path').resolve('node_modules/@bower_components'), 'g3w-admin/core/static/bower_components', 'junction') } catch (e) { }"
Assicurati che i build component siano disponibili in modalità statica e raccolti in un secondo momento
cd g3w-admin/core/static
ln -s "../../../node_modules/@bower_components" bower_components
Requisiti di installazione¶
Probabilmente all”interno di un virtual env:
pip install -r requirements.tx
Settaggio di Django¶
python manage.py collectstatic --noinput
python manage.py migrate --noinput
Installa alcuni dispositivi per EPSG e altre opzioni di suite:
for FIXTURE in 'BaseLayer.json' 'G3WGeneralDataSuite.json' 'G3WMapControls.json' 'G3WSpatialRefSys.json'; do
python manage.py loaddata core/fixtures/${FIXTURE}
done
Sincronizza le voci dell”albero dei menu (riesegui questo comando nel caso in cui tu abbia installato moduli opzionali e non siano visibili nella struttura dei menu dell”amministratore):
python manage.py sitetree_resync_apps
Continuous integration testing¶
CI tests are automatically run on CircleCI for the dev
branch only.
La configurazione del Docker Compose utilizzata nei test CI è disponibile su docker-compose.yml.
Un”altra configurazione per l”esecuzione dei test locali è fornita con docker-compose-local.yml e può essere utilizzata anche per i test locali eseguendo:
docker-compose -f docker-compose-local.yml up
L”immagine di prova viene creata dall”immagine di dipendenza e eseguirà tutti i passaggi di installazione e compilazione dal repository locale.
L”immagine di dipendenza viene creata da Dockerfile.deps.