Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This guide is written for Ubuntu 16.04.

Setting up NOCLook

NOCLook is the main GUI component, a django webapp that allows users to access the data stored in NI, it is also often what people refer to when they say NI.

Install NEO4J

The official neo4j installation guide for version 3.2 is the reference for this part.

Install Java8

Code Block
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer
$ java -version
java version "1.8.x"

NEO4J

Code Block
$ wget -O - https://debian.neo4j.org/neotechnology.gpg.key | sudo apt-key add -
$ echo 'deb http://debian.neo4j.org/repo stable/' | sudo tee -a /etc/apt/sources.list.d/neo4j.list
$ sudo apt-get update
$ sudo apt-get install neo4j=3.2.2

Configuration

Code Block
$ sudo vim /etc/neo4j/neo4j.conf
Add the following:
 
# Autoindexing
# Enable auto-indexing for nodes, default is false
node_auto_indexing=true
 
# The node property keys to be auto-indexed, if enabled
node_keys_indexable=name, description, ip_address, ip_addresses, as_number, hostname, hostnames, telenor_tn1_number, nordunet_id, version
 
# Enable auto-indexing for relationships, default is false
relationship_auto_indexing=true
 
# The relationship property keys to be auto-indexed, if enabled
relationship_keys_indexable=ip_address
Code Block
$ sudo rm /var/lib/neo4j/data/dbms/auth
# Note the extra space before the command to avoid saving password in bash history
$  sudo -u neo4j neo4j-admin set-initial-password your_awesome_password
$ sudo service neo4j restart

Install Postgres database

Set password for database user and create a new database

Code Block
$ sudo apt-get install postgresql
$ sudo -u postgres psql postgres
template1=# CREATE USER ni with PASSWORD 'secret';
template1=# CREATE DATABASE norduni;
template1=# GRANT ALL PRIVILEGES ON DATABASE norduni to ni;
template1=# ALTER DATABASE norduni OWNER TO ni;             #  Allow user ni to drop and create for restoring
template1=# ALTER USER ni CREATEDB;                         #  and development purposes
template1=# \q

 

Installing NOCLook

Before installing NOCLook you need to install the required system libraries

...

Code Block
NEO4J_USERNAME=neo4j
NEO4J_PASSWORD=
REPORTS_TO=
SECURITY_REPORTS_TO=
DB_PASSWORD=
ALLOWED_HOSTS=ni.yourdomain.tld,localhost
DEFAULT_FROM_EMAIL=
EMAIL_HOST=
SECRET_KEY=

...

You can use the following snippit to gennerate such a string locally:

Code Block
# Missing ! since bash is sad when you use ! in anything, and pyton thinks \! is to be read as both \ and !
$ python -c "import random; print(''.join([random.SystemRandom().choice('abcdefghijklmnopqrstuvwxyz0123456789@#$%^&*(-_=+)') for i in range(50)]))"

Migrate databases

Code Block
# To make it easier for yourself set DJANGO_SETTINGS_MODULE=niweb.settings.prod in your bashprofile/bashrc
$ cd norduni/src/niweb
$ python manage.py migrate
$ python manage.py collectstatic
$ python manage.py runserver