Skip to content
Ryan Hodges edited this page Mar 11, 2016 · 27 revisions

Installing COMPASS

Dependencies

  • git
  • vagrant

VM Setup

  • Check out the code
  • Create and update mp/settings_local.py
    • MEDIA_ROOT = '/home/vagrant/marine-planner/media'

    • MEDIA_URL = '/media/'
    • SOCKET_URL = ''
    • SOCIAL_AUTH_GOOGLE_PLUS_KEY = ''
    • SOCIAL_AUTH_GOOGLE_PLUS_SECRET = ''
    • ADMIN_MEDIA_PATH = '/home/vagrant/.virtualenvs/marine-planner/lib/python2.7/site-packages/django/contrib/admin/static/admin/'
  • vagrant up
    • (ignore) Exceptions: Exception: Your MEDIA_ROOT setting has to be a directory other than your madrona or project media folder!
  • vagrant ssh
  • dj loaddata data_manager/fixtures/ofr_data_manager.json [ dj is alias for python manage.py ]
  • dj loaddata mp-settings/fixtures/ofr_mp_settings.json
  • dj site localhost:8000
  • dj createsuperuser
  • djrun [ same as python manage.py runserver 0.0.0.0:8000 ]
  • Point a browser at http://localhost:8000

Independent Server Setup

  • install:

    • git
    • python-dev
    • python-pip
    • python-virtualenv
    • postgresql-9.3
    • postgresql-9.3-postgis-2.1
    • postgresql-server-dev-9.3
  • Check out the code into /usr/local/apps/

  • Create and update mp/settings_local.py

    • SECRET_KEY = [something new]
    • DATABASES
      • 'NAME': 'compass'
      • 'USER': 'compassdbuser'
    • MEDIA_ROOT = '/usr/local/apps/COMPASS/mediaroot/'

    • MEDIA_URL = '/media/'
    • SOCKET_URL = ''
    • SOCIAL_AUTH_GOOGLE_PLUS_KEY = ''
    • SOCIAL_AUTH_GOOGLE_PLUS_SECRET = ''
    • ADMIN_MEDIA_PATH = '/usr/local/apps/COMPASS/odfw-env/python2.7/site-packages/django/contrib/admin/static/admin/'

cp /usr/local/apps/COMPASS/scripts/compass_provision.sh.template /usr/local/apps/COMPASS/scripts/compass_provision.sh

chmod +x /usr/local/apps/COMPASS/scripts/compass_provision.sh

vim /usr/local/apps/COMPASS/scripts/compass_provision.sh

  • DBUSER="compassdbuser" <--- SET THIS
  • USER="username" <--- SET THIS
  • PROJECT_NAME="COMPASS"
  • PROJECT_DIR=/usr/local/apps/COMPASS/mp
  • VIRTUALENV_DIR=/usr/local/apps/COMPASS/odfw-env
  • APP_DB_NAME="compass"

sudo su postgres

createuser -P compassdbuser <- from settings above, same with pw

exit

Add db user to pg_hba.conf:

  • vim /etc/postgresql/9.3/main/pg_hba.conf
  • add lines:
    • host dbname(or 'all') compassdbuser 127.0.0.1/32 trust
    • host dbname(or 'all) compassdbuser ::1/128 trust
  • save and close
  • restart postgres: sudo service postgresql restart

sudo /usr/local/apps/COMPASS/scripts/compass_provision.sh

sudo chown -R {username} /usr/local/apps/COMPASS/mp/logs/

dj syncdb

dj migrate

dj install_media

dj loaddata /usr/local/apps/COMPASS/mp/fixtures/layer-data.json

dj loaddata /usr/local/apps/COMPASS/mp/fixtures/project-settings.json

use djrun to test that things are working as expected

Installing on NGINX/uWSGI

For reference go here

From inside your virualenv:

  • sudo apt-get install libpcre3 libpcre3-dev
  • apt-get install uwsgi uwsgi-plugin-python
  • pip install uwsgi
  • test uwsgi install with uwsgi --http :8000 --wsgi-file /usr/local/apps/COMPASS/mp/wsgi.py
  • sudo apt-get install nginx
  • sudo cp /usr/local/apps/COMPASS/deploy/compass.conf /etc/nginx/sites-available/compass
  • sudo rm /etc/nginx/sites-enabled/default
  • sudo ln -s /etc/nginx/sites-available/compass /etc/nginx/sites-enabled/compass
  • sudo service nginx (re)start
  • copy relevant content from deploy/rc.local.template to /etc/rc.local to run uwsgi ini (deploy/compass_uwsgi.ini) on boot
  • sudo chmod 777 /usr/local/apps/COMPASS/mp/logs/main.log <- TODO: make this not necessary
  • sudo reboot
  • In a few minutes, test your URL in a browser to see that everything came up as expected
Clone this wiki locally