NOC installed in /opt/noc/ directory by default.
Ensure Python 2.6 or later installed. Check your installed python version by:
Python 2.7 is recommended
NOC is not compatible with Python 3
Common installation troubles are caused by several different versions of python installed in the system. If your system have several versions of Python installed ensure you calling right version when installing required packages, NOC and performing NOC maintenance. Please note, noc and root users and daemon environment may have different $PATH. Ensure you are calling proper Python version each case.
PostgreSQL 8.4 or later required. Please install PostgreSQL according to your operation system requirements. PostgreSQL 9.0 is recommended.
Common installation troubles are caused by two versions of PostgreSQL installed in the system.
If your system have several versions of PostgreSQL installed ensure you calling and linking with right version when installing required packages, NOC and performing NOC maintenance. Please note, noc and root users and daemon environment may have different $PATH and $INCLUDE. Ensure you are calling proper PostgreSQL version each case.
MongoDB 2.4 or later required. Please install MongoDB according to your operation system requirements. MongoDB 2.6 is recommended
MongoDB uses mmap() method to access database. Ensure you have 64-bit OS in order to use databases larger than 2Gb
pip is the tool for installing and managing python packages.
Install pip from your system package.
virtualenv is the tool to create isolated python environment. Install virtualenv from your system package or via pip
Though the NOC is bundled with built-in HTTP Server, additional front-end HTTP-server with reverse proxy is strongly recommended. Commonly used choices are:
Install HTTP server according your system's requirements. Refer to Webserver Setup part for configuration details
libsmi is a library and collection of tools to access SMI/SNMP MIB Information. Please install libsmi according to your operation system's requirements.
Mercurial is the Distributed Version Control System (DVCS). Required to fetch updates from repository. Mercurial also is a default format of Configuration Management repository. Mercurial 1.3 or later required. Please install mercurial from your system's package or via pip
Checkout from mercurial repo
Checkout from mercurial repo is a best way to stay on bleeding edge of fresh updates. You need mercurial to perform checkout and further update.
To fetch latest updates available:
To fetch particular release (0.7(4) in example):
System Users and Groups
All noc files except /opt/noc/local directory must be owned by root.
All noc daemons are running from noc user. Create noc user and group before continuing installation:
Create PostgreSQL database
Create database user noc from PostgreSQL superuser account (postgres in example), then create database noc
Set MongoDB password
Configure upgrade system
Edit /opt/noc/etc/upgrade.conf to your local requirements
Run upgrade for the rest of your system installation
Revoke PostgreSQL superuser permissions
Revoke superuser permissions from PostgreSQL's noc user